73eb7a8d4b
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 |
||
---|---|---|
.. | ||
assert.h | ||
core_rm_session.h | ||
cpu_thread_allocator.h | ||
irq_session_component.h | ||
map_local.h | ||
page_flags.h | ||
page_slab.h | ||
platform_pd.h | ||
platform_thread.h | ||
platform.h | ||
signal_root.h | ||
signal_session_component.h | ||
trustzone.h | ||
util.h | ||
vm_root.h | ||
vm_session_component.h |