zephyr/arch
Andrew Boie ea6e4ad098 kernel: support non-identity RAM mapping
Some platforms may have multiple RAM regions which are
dis-continuous in the physical memory map. We really want
these to be in a continuous virtual region, and we need to
stop assuming that there is just one SRAM region that is
identity-mapped.

We no longer use CONFIG_SRAM_BASE_ADDRESS and CONFIG_SRAM_SIZE
as the bounds of kernel RAM, and no longer assume in the core
kernel that these are identity mapped at boot.

Two new Kconfigs, CONFIG_KERNEL_VM_BASE and
CONFIG_KERNEL_RAM_SIZE now indicate the bounds of this region
in virtual memory.

We are currently only memory-mapping physical device driver
MMIO regions so we do not need virtual-to-physical calculations
to re-map RAM yet. When the time comes an architecture interface
will be defined for this.

Platforms which just have one RAM region may continue to
identity-map it.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-11-09 20:19:13 -05:00
..
arc arch: arc: add support of ARConnect inter-core debug unit 2020-11-09 15:52:15 -06:00
arm aarch64: mmu: Enable support for unprivileged EL0 2020-11-04 13:58:19 -08:00
common gen_isr_tables: Function ptr instead of (void *) 2020-10-02 18:48:46 +02:00
nios2 benchmarking: remove execution benchmarking code 2020-09-05 13:28:38 -05:00
posix arch: posix: add missing include for cpuhalt.c 2020-10-20 08:54:59 +02:00
riscv arch: riscv: add memory protection support 2020-11-09 15:37:11 -05:00
x86 x86: add support for common page tables 2020-11-05 09:33:40 -05:00
xtensa xtensa: add support for thread local storage 2020-10-24 10:52:00 -07:00
CMakeLists.txt cmake: fix include directories to work with out-of-tree arch 2020-08-05 08:06:07 -04:00
Kconfig kernel: support non-identity RAM mapping 2020-11-09 20:19:13 -05:00