zephyr/include/arch
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
..
arc kernel: generate placeholders for kobj tables before final build 2021-04-27 13:32:00 -04:00
arm/aarch32 linker: stm32f0: move ram vector table to snippets 2021-04-30 15:16:02 +02:00
arm64 arm64: FPU context switching support 2021-05-03 11:56:50 +02:00
common ARCH: COMMON: split sys_io.h for MMIO & memory bits functions 2020-09-01 13:36:48 +02:00
nios2 nios2: add _image_rodata_start/end to linker script 2021-04-28 22:25:42 +02:00
posix clock: rename z_timer_cycle_get_32 -> sys_clock_cycle_get_32 2021-03-19 11:22:17 -04:00
riscv kernel: generate placeholders for kobj tables before final build 2021-04-27 13:32:00 -04:00
sparc sparc: add _image_rodata_start/end to linker script 2021-04-28 22:25:42 +02:00
x86 kernel: generate placeholders for kobj tables before final build 2021-04-27 13:32:00 -04:00
xtensa clock: rename z_timer_cycle_get_32 -> sys_clock_cycle_get_32 2021-03-19 11:22:17 -04:00
arch_inlines.h arm/arm64: Make ARM64 a standalone architecture 2021-03-31 10:34:33 -05:00
cpu.h arm/arm64: Make ARM64 a standalone architecture 2021-03-31 10:34:33 -05:00
structs.h kernel: add an architecture specific structs header 2021-04-21 09:03:47 -04:00
syscall.h arm/arm64: Make ARM64 a standalone architecture 2021-03-31 10:34:33 -05:00