zephyr/kernel
Peter Mitsis e50851d476 arch: xtensa: Add support for lazy HiFi ctx switching
When lazy HiFi context switching is enabled, the system starts with
the HiFi coprocessor disabled. Should the thread use that coprocessor,
it will generate an exception which in turn will enable the coprocessor
and save/restore the HiFi registers as appropriate. When switching
to a new thread, the HiFi coprocessor is again disabled.

For simplicity, there are no restrictions as to which thread is allowed
to use the coprocessor.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-07-20 12:25:17 -04:00
..
include arch: xtensa: Add support for lazy HiFi ctx switching 2025-07-20 12:25:17 -04: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 kernel: Unify .ctors and .init_array handling 2025-04-16 20:36:27 +02:00
compiler_stack_protect.c security: Add default stack protection level 2024-12-20 12:37:20 +01:00
condvar.c kernel: condvar: broadcast does not always need reschedule 2025-02-03 19:51:20 +01:00
cpu_mask.c kernel: Simplify k_thread_cpu_pin() 2024-09-20 09:02:38 +02:00
device.c device: Provide de-init device function only if requested 2025-06-03 17:08:50 +02: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 kernel: events: prevent k_event_init() from being called in an ISR 2025-05-02 01:16:46 +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 kernel: futex: Allow for fast return on k_futex_wake() 2025-02-03 19:51:20 +01:00
idle.c llext: export spinlock debugging symbols to extensions 2025-02-11 10:11:31 +01:00
init.c Revert "init: Make entry init-function less and introduce service objects" 2025-07-16 16:39:36 -05:00
ipi.c arch: xtensa: Add support for lazy HiFi ctx switching 2025-07-20 12:25:17 -04:00
irq_offload.c
Kconfig wifi: nrf70: Fix system work queue stack size override 2025-07-01 19:04:00 -05:00
Kconfig.device device: Provide de-init device function only if requested 2025-06-03 17:08:50 +02: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 kernel: Rewrite k_pipe_* API 2025-01-17 19:43:44 +01:00
Kconfig.smp kernel: remove CONFIG_MP_NUM_CPUS 2024-09-19 18:28:37 +01:00
Kconfig.vm arch: mmu: do not make MMU user configurable 2025-02-19 04:59:19 +01:00
kheap.c k_heap_aligned_alloc: validate the alignment argument 2025-07-19 13:45:56 -04: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 kernel: memslab: Prevent pointer underflow in free list init 2025-06-26 14:07:03 +02:00
mempool.c kernel: mempool: decouple simple alloc from aligned_alloc 2025-04-01 22:13:04 +02:00
mmu.c kernel: mmu: fix memory leak in virt_region_alloc() 2025-07-19 15:47:35 -04:00
msg_q.c kernel: msgq: Allow for fast returns 2025-02-03 19:51:20 +01:00
mutex.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
nothread.c kernel: Add Z_IS_TIMEOUT_RELATIVE() macro 2025-03-17 02:21:02 +01:00
obj_core.c kernel: reduce k_spin_unlock calls using if-else if-else structure 2024-07-27 20:48:07 +03:00
pipe.c kernel/pipe: fix poll support 2025-04-21 07:45:35 +02:00
pipes.c kernel: Propagate z_handle_obj_poll_events() return 2025-02-03 19:51:20 +01:00
poll.c kernel/pipe: fix poll support 2025-04-21 07:45:35 +02:00
priority_queues.c
queue.c kernel: queue: Allow for fast return 2025-02-03 19:51:20 +01:00
sched.c kernel: Add arch_coprocessors_disable() 2025-07-20 12:25:17 -04:00
sem.c kernel: Allow for fast return on k_sem_reset() 2025-02-03 19:51:20 +01:00
smp.c kernel: mark z_smp_current_get() with the const attribute 2025-01-10 07:49:08 +01:00
spinlock_validate.c llext: export spinlock debugging symbols to extensions 2025-02-11 10:11:31 +01:00
stack.c Revert "arch: deprecate _current" 2025-01-10 07:49:08 +01:00
system_work_q.c kernel: workq: introduce work timeout: 2025-06-06 08:42:53 +02:00
thread_monitor.c kernel: thread_monitor: reafactor and remove duplicate code 2025-04-04 07:42:20 +02:00
thread.c kernel: thread: fix warning of always false 2025-02-10 22:25:32 +01:00
timeout.c kernel: timeout: z_add_timeout to return expiration tick 2025-04-15 19:09:33 +02:00
timer.c kernel: Add Z_IS_TIMEOUT_RELATIVE() macro 2025-03-17 02:21:02 +01: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 kernel: userspace: Fix memory leak in dynamic_object_create 2025-05-20 00:26:30 +01:00
version.c build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
work.c kernel: workq: introduce work timeout: 2025-06-06 08:42:53 +02:00
xip.c arch: common: Make nocache region loadable 2025-04-21 12:42:19 +02:00