genode/base-hw/src/core
Stefan Kalkowski 73eb7a8d4b hw: map core on demand (fix #723)
Instead of mapping all physical memory 1:1 into core/kernel's address space,
this commit limits the 1:1 mapping to the binary image, and I/O memory
regions used by the kernel only. All subsequent memory accesses of core
are done by mapping the corresponding memory on demand, and not necessarily
1:1.

This commit has several side effects:

The page table code had to be revisited completely. The kernel inserts no
longer anything into the page tables, apart from the initial translations
to have the core/kernel image available when enabling the MMU. The page
tables and higher level translation tables are no longer named Tlb, but
Translation_table instead. There is no indirection class required to define
the translation tables of a concrete SoC, the appropriated ARM specifier
is sufficient.
The ability to map core's memory the same way like it's done for all other
protection domains, makes a special treatment of core's threads (no context
area) obsolete.

Ref #567 (partly solves it)
Fix #723
Fix #1068
2014-05-07 10:37:39 +02:00
..
arm hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
arm_v6 hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
arm_v7 hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
arndale hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
exynos5 hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
imx31 hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
imx53 hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
include hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
kernel hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
odroid_xu hw: don't implement IRQ usage policy in core 2014-04-14 12:32:30 +02:00
panda hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
pbxa9 hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
pic hw: inter-processor interrupt on remote scheduling 2014-03-14 13:17:36 +01:00
processor_driver hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
rpi hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
timer hw: rename <spec>::Cpu in <spec>::Processor_driver 2014-03-04 19:04:32 +01:00
vea9x4 hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
board.h hw_arndale: idle threads on secondary processors 2014-03-04 15:03:43 +01:00
core_rm_session.cc hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
cpu_session_support.cc hw: correct spelling of the verb look up 2014-04-07 17:10:05 +02:00
io_mem_session_support.cc Update copyright headers to 2013 2013-01-10 21:44:47 +01:00
irq_session_component.cc hw: move core-restricted interface to local header 2014-04-07 17:02:50 +02:00
perf_counter.cc hw: enable performance counter on ARMv6 and ARMv7 2013-10-17 11:05:53 +02:00
platform.cc hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
platform_pd.cc hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
platform_thread.cc hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
ram_session_support.cc hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
rm_session_support.cc hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
signal_session_component.cc hw: cleanup signal-session component 2014-04-17 11:04:59 +02:00
target.inc hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
thread_support.cc hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
trustzone.cc hw_arndale: idle threads on secondary processors 2014-03-04 15:03:43 +01:00
vm_session_component.cc Extend base-hw specific vm-session (fix #738) 2013-05-10 11:16:13 +02:00