zephyr/kernel
Nicolas Pitre 7a3124d866 kernel: move current thread pointer management to core code
Define the generic _current directly and get rid of the generic
arch_current_get().

The SMP default implementation is now known as z_smp_current_get().
It is no longer inlined which saves significant binary size (about 10%
for some random test case I checked).

Introduce z_current_thread_set() and use it in place of
arch_current_thread_set() for updating the current thread pointer
given this is not necessarily an architecture specific operation.
The architecture specific optimization, when enabled, should only care
about its own things and not have to also update the generic
_current_cpu->current copy.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2025-01-10 07:49:08 +01:00
..
include kernel: move current thread pointer management to core code 2025-01-10 07:49:08 +01:00
paging kernel: mm: rename z_num_pagefaults_get to k_mem_num_* 2024-06-12 21:13:26 -04:00
atomic_c.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
banner.c kernel: banner: Add option to clear screen on boot 2024-06-13 20:30:14 -04:00
busy_wait.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
CMakeLists.txt security: Additional option for stack canaries 2024-12-20 12:37:20 +01:00
compiler_stack_protect.c security: Add default stack protection level 2024-12-20 12:37:20 +01:00
condvar.c kernel: Apply 'unlikely' attribute 2024-10-15 04:06:32 -04:00
cpu_mask.c kernel: Simplify k_thread_cpu_pin() 2024-09-20 09:02:38 +02:00
device.c device: Optimize device_get_binding search efficiency 2024-11-27 08:18:30 +01:00
dynamic_disabled.c
dynamic.c kernel: dynamic: simplify dynamic stack allocation 2024-12-11 21:33:00 +01:00
errno.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
events.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
fatal.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
float.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
futex.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
idle.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
init_static.c lib c/cpp: Move .ctor .init_array handling from C++ to kernel 2024-06-25 19:14:37 -04:00
init.c security: Additional option for stack canaries 2024-12-20 12:37:20 +01:00
ipi.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
irq_offload.c
Kconfig Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
Kconfig.device libc: common: Fix init hang issue 2024-06-26 13:07:02 -04:00
Kconfig.init init: support per-core init hook 2024-11-16 14:04:25 -05:00
Kconfig.mem_domain kconfig: replace known integer constants with variables 2024-07-27 20:49:15 +03:00
Kconfig.obj_core
Kconfig.smp kernel: remove CONFIG_MP_NUM_CPUS 2024-09-19 18:28:37 +01:00
Kconfig.vm kernel: mmu: support for on-demand mappings 2024-08-26 17:25:41 -04:00
kheap.c kernel: Add k_heap_calloc 2024-12-30 17:32:03 +01:00
mailbox.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
main_weak.c
mem_domain.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
mem_slab.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
mempool.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
mmu.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
msg_q.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
mutex.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
nothread.c kernel: fix k_sleep in no multi-threading mode 2024-11-16 14:07:41 -05:00
obj_core.c kernel: reduce k_spin_unlock calls using if-else if-else structure 2024-07-27 20:48:07 +03:00
pipes.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
poll.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
priority_queues.c
queue.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
sched.c kernel: move current thread pointer management to core code 2025-01-10 07:49:08 +01:00
sem.c kernel: Apply 'unlikely' attribute 2024-10-15 04:06:32 -04:00
smp.c kernel: move current thread pointer management to core code 2025-01-10 07:49:08 +01:00
spinlock_validate.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
stack.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
system_work_q.c
thread_monitor.c style: kernel: comply with MISRA C:2012 Rule 15.6 2024-09-11 07:40:35 -04:00
thread.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
timeout.c kernel: timeout: ensure next timeout is set when aborting the first timeout 2025-01-06 22:36:07 +01:00
timer.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
timeslicing.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
usage.c
userspace_handler.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
userspace.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
version.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
work.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
xip.c security: Additional option for stack canaries 2024-12-20 12:37:20 +01:00