zephyr/kernel
Andy Ross 2b210cb3db kernel: Refactor SMP cpu initialization a bit
Things had gotten a little tangled in there so let's do some cleanup.

Remove the distressingly-special-purpose z_reinit_idle_thread() hook
(which existed to support secondary core bringup when
SMP_BOOT_DELAY=y), and just fold that into a generic z_init_cpu(),
which we can call in obvious and symmetric ways from main
initialization, z_smp_init(), and z_smp_start_cpu() (the now-official
programmatic hook for starting cpus).

Remove the "#if CONFIG_MP_NUM_CPUS > 1" exclusions.  These weren't
saving any code size and were propagating themselves into platform
layers trying to avoid build failures.

There are some "special" APIs added for SOF which need to go away in
favor of the newer/generic z_smp_start_cpu().  Collect them in one
place and put them under a "#ifdef CONFIG_SOF" to prevent them from
being used in Zephyr apps.

Move some function declarations that didn't have homes into
<kernel/thread.h>.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2022-03-01 09:59:15 -05:00
..
include kernel/init.c: allow for memset/memcpy alternatives during early boot 2022-02-21 21:00:12 -05:00
paging
CMakeLists.txt kernel: move thread usage routines to own file 2022-01-10 10:38:06 -05:00
Kconfig kernel: move CONFIG_MMU into kernel Kconfig 2022-01-18 19:18:30 -05:00
Kconfig.vm kernel: introduce hidden CONFIG_KERNEL_VM_SUPPORT 2022-01-18 19:18:30 -05:00
atomic_c.c
banner.c
cache_handlers.c
compiler_stack_protect.c
condvar.c
device.c device: deprecate (z_)device_usable_check 2022-01-07 10:41:23 -05:00
errno.c
events.c
fatal.c
futex.c
idle.c pm: Do not suspend during kernel initialization 2022-01-19 14:14:28 -05:00
init.c kernel: Refactor SMP cpu initialization a bit 2022-03-01 09:59:15 -05:00
kheap.c
mailbox.c kernel: remove @return doc for void functions 2022-01-12 16:02:16 -05:00
main_weak.c
mem_domain.c
mem_slab.c kernel: remove @return doc for void functions 2022-01-12 16:02:16 -05:00
mempool.c
mmu.c kernel: mmu: add a log line for z_phys_unmap 2022-02-24 08:38:38 -06:00
msg_q.c
mutex.c
pipes.c kernel: pipes: add pipe flush routines 2022-01-10 12:17:14 -05:00
poll.c
queue.c
sched.c kernel: move thread usage routines to own file 2022-01-10 10:38:06 -05:00
sem.c
smp.c kernel: Refactor SMP cpu initialization a bit 2022-03-01 09:59:15 -05:00
stack.c
system_work_q.c
thread.c arch: Add IRQ_OFFSET_NESTED feature 2022-02-21 22:10:03 -05:00
timeout.c kernel: Fix timeout issue with SYSTEM_CLOCK_SLOPPY_IDLE 2022-02-15 13:05:04 -05:00
timer.c kernel: remove @return doc for void functions 2022-01-12 16:02:16 -05:00
usage.c kernel: Update CPU runtime stats of non-idle time 2022-01-20 08:22:01 -05:00
userspace.c kernel: Fix typo in macro name 2022-01-07 11:20:46 -05:00
userspace_handler.c
version.c
work.c
xip.c kernel/init.c: allow for memset/memcpy alternatives during early boot 2022-02-21 21:00:12 -05:00