genode/base-hw/src/base
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
..
lock hw: split resume_local_thread from resume_thread 2014-04-07 17:09:52 +02:00
signal hw: sync signal contexts directly as user 2013-12-20 14:48:06 +01:00
thread hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00
console.cc hw: replace unsynchronized by unmanaged singleton 2013-12-20 14:48:05 +01:00
ipc.cc hw: split pause_current_thread from pause_thread 2014-04-07 17:07:24 +02:00
pager.cc hw: cancel unresolved faults before pager dissolve 2013-12-20 14:48:06 +01:00
placement_new.h hw: replace unsynchronized by unmanaged singleton 2013-12-20 14:48:05 +01:00
thread_support.cc hw: map core on demand (fix #723) 2014-05-07 10:37:39 +02:00