zephyr/kernel
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
..
include kernel: add common bits to support TLS 2020-10-24 10:52:00 -07:00
atomic_c.c
cache_handlers.c
CMakeLists.txt
compiler_stack_protect.c
device.c
errno.c kernel: support using thread local storage for errno 2020-10-24 10:52:00 -07:00
fatal.c kernel: fatal: check if _current is NULL 2020-10-24 12:54:32 -04:00
futex.c
idle.c
init.c
Kconfig kernel: limit thread local storage to Zephyr SDK 2020-10-30 15:59:06 +01:00
kheap.c
mailbox.c
mem_domain.c
mem_slab.c
mempool_sys.c
mempool.c
mmu.c kernel: support non-identity RAM mapping 2020-11-09 20:19:13 -05:00
msg_q.c
mutex.c
pipes.c
poll.c
queue.c kernel/queue: fix queue append/get race 2020-10-28 17:01:41 +01:00
sched.c kernel: add context pointer to thread->fn_abort 2020-10-22 23:32:37 -04:00
sem.c
smp.c
stack.c
system_work_q.c
thread_abort.c
thread.c kernel: wipe TLS when dropping to user mode 2020-10-26 13:06:16 +01:00
timeout.c sys: util: Replace MIN(MAX(a, b), c) with CLAMP 2020-11-05 12:12:17 +01:00
timer.c
userspace_handler.c
userspace.c kernel: return error instead of misaligned k_thread object 2020-11-04 14:03:43 -08:00
version.c
work_q.c