zephyr/kernel
Daniel Leung d812728ec4 linker: add bits for boot regions
This adds the necessary bits for linker scripts and source code
to specify which symbols are needed for boot process so they
can be grouped together.

One use of this is to group boot related code and data so these
won't interval with other kernel and application for better
caching.

This is a must for demand paging as some functions and data
must be available during the boot process and before the memory
manager is initialized. During this time, paging cannot be used
so symbols linked in virtual memory space are unavailable.

This is up to the arch/SoC/board to define the sections in
their linker scripts as section may need special alignment
which cannot be done in common script snippets.

Signed-off-by: Daniel Leung <daniel.leung@intel.com>
2021-05-10 16:00:43 -05:00
..
include linker: add bits for boot regions 2021-05-10 16:00:43 -05:00
paging kernel: enable using timing subsys to collect paging histograms 2021-04-06 16:43:55 -04:00
atomic_c.c kernel: atomic: consistently use named type for atomic pointer values 2021-04-19 15:22:13 +02:00
banner.c
cache_handlers.c cache: Rename sys_{dcache,icache}_* to sys_{data,instr}_cache_* 2021-05-08 07:00:33 +02:00
CMakeLists.txt cache: Introduce external cache controller system support 2021-05-08 07:00:33 +02:00
compiler_stack_protect.c tests: coverage: exclude the CODE UNREACHABLE of code coverage 2021-01-15 12:42:00 -05:00
condvar.c Tracing: Conditional variable tracing 2021-05-07 22:10:21 -04:00
device.c power: device_pm: Use spin lock instead of semaphore 2021-05-07 16:55:31 -04:00
errno.c
fatal.c kernel: fatal: Avoid thread api access when no multithreading 2021-04-29 14:50:35 +02:00
futex.c kernel: Fix 10.4 violations 2021-04-10 09:59:37 -04:00
idle.c kernel: replace power/power.h with pm/pm.h 2021-05-05 18:35:49 -04:00
init.c linker: add bits for boot regions 2021-05-10 16:00:43 -05:00
Kconfig smp: add a Kconfig option to delay booting secondary CPUs 2021-05-03 17:13:01 -04:00
kheap.c Tracing: Memory Heap tracing 2021-05-07 22:10:21 -04:00
mailbox.c kernel: remove object tracing 2021-05-07 22:10:21 -04:00
mem_domain.c kernel: Make both operands of operators of same essential type category 2021-04-01 05:34:17 -04:00
mem_slab.c kernel: remove object tracing 2021-05-07 22:10:21 -04:00
mempool.c Tracing: Memory Heap tracing 2021-05-07 22:10:21 -04:00
mmu.c kernel: mmu: use bitarrays for k_mem_map/k_mem_unmap 2021-05-07 13:36:22 -04:00
msg_q.c kernel: remove object tracing 2021-05-07 22:10:21 -04:00
mutex.c kernel: remove object tracing 2021-05-07 22:10:21 -04:00
pipes.c kernel: remove object tracing 2021-05-07 22:10:21 -04:00
poll.c Tracing: Poll API and Work Poll tracing 2021-05-07 22:10:21 -04:00
queue.c kernel: remove object tracing 2021-05-07 22:10:21 -04:00
sched.c Tracing: Thread tracing 2021-05-07 22:10:21 -04:00
sem.c kernel: remove object tracing 2021-05-07 22:10:21 -04:00
smp.c smp: move a preprocessor conditional from .c to cmake 2021-05-03 17:13:01 -04:00
stack.c kernel: remove object tracing 2021-05-07 22:10:21 -04:00
system_work_q.c kernel: remove old work queue implementation 2021-03-03 20:06:00 -05:00
thread.c Tracing: Thread tracing 2021-05-07 22:10:21 -04:00
timeout.c Tracing: Thread tracing 2021-05-07 22:10:21 -04:00
timer.c kernel: remove object tracing 2021-05-07 22:10:21 -04:00
userspace_handler.c
userspace.c kernel: userspace: rename obj_list in struct dyn_obj 2021-04-29 07:16:11 -04:00
version.c
work.c Tracing: Work Queue tracing 2021-05-07 22:10:21 -04:00
xip.c