zephyr/include/arch/arm64
Nicolas Pitre f1f63dda17 arm64: FPU context switching support
This adds FPU sharing support with a lazy context switching algorithm.

Every thread is allowed to use FPU/SIMD registers. In fact, the compiler
may insert FPU reg accesses in anycontext to optimize even non-FP code
unless the -mgeneral-regs-only compiler flag is used, but Zephyr
currently doesn't support such a build.

It is therefore possible to do FP access in IRS as well with this patch
although IRQs are then disabled to prevent nested IRQs in such cases.

Because the thread object grows in size, some tests have to be adjusted.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2021-05-03 11:56:50 +02:00
..
cortex_r/mpu include: arm64: Add mpu data struct definition 2021-04-13 07:47:44 -04:00
scripts kernel: generate placeholders for kobj tables before final build 2021-04-27 13:32:00 -04:00
arch_inlines.h arm64: implement exception depth count 2021-05-03 11:56:50 +02:00
arch.h include: arm64: Fix compile with default MMU off 2021-04-13 07:47:44 -04:00
arm_mmu.h arm64: refine the code for primary core checking 2021-04-19 11:00:05 -04:00
arm-smccc.h
asm_inline_gcc.h
asm_inline.h
cpu.h arm64: hold curr_cpu instance in tpidrro_el0 2021-04-14 15:06:21 -04:00
error.h
exc.h arm64: hold curr_cpu instance in tpidrro_el0 2021-04-14 15:06:21 -04:00
irq.h
lib_helpers.h aarch64: lib_helpers: add some system registers' helper 2021-04-26 13:39:39 +02:00
macro.inc
misc.h
structs.h arm64: FPU context switching support 2021-05-03 11:56:50 +02:00
sys_io.h
syscall.h arm64: hold curr_cpu instance in tpidrro_el0 2021-04-14 15:06:21 -04:00
thread_stack.h arm64: Rework stack usage 2021-04-23 06:32:20 -04:00
thread.h arm64: FPU context switching support 2021-05-03 11:56:50 +02:00
timer.h
tpidrro_el0.h arm64: implement exception depth count 2021-05-03 11:56:50 +02:00