zephyr/tests/kernel/fpu_sharing/generic/testcase.yaml
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

59 lines
1.5 KiB
YAML

tests:
kernel.fpu_sharing.generic.arc:
extra_args: PI_NUM_ITERATIONS=500
filter: CONFIG_ISA_ARCV2 and CONFIG_CPU_HAS_FPU
slow: true
tags: kernel
timeout: 600
min_ram: 16
kernel.fpu_sharing.generic.arm:
extra_args: PI_NUM_ITERATIONS=70000
filter: CONFIG_ARMV7_M_ARMV8_M_FP
slow: true
tags: kernel
timeout: 600
min_ram: 16
kernel.fpu_sharing.generic.arm64:
extra_args: PI_NUM_ITERATIONS=70000
arch_allow: arm64
filter: CONFIG_CPU_CORTEX_A
slow: true
tags: kernel
timeout: 600
kernel.fpu_sharing.generic.riscv32:
extra_args: PI_NUM_ITERATIONS=500
filter: CONFIG_CPU_HAS_FPU
arch_allow: riscv32
tags: kernel
timeout: 600
min_ram: 16
kernel.fpu_sharing.generic.riscv64:
extra_args: PI_NUM_ITERATIONS=500
filter: CONFIG_CPU_HAS_FPU
arch_allow: riscv64
tags: kernel
timeout: 600
min_ram: 16
kernel.fpu_sharing.generic.sparc:
extra_args: PI_NUM_ITERATIONS=70000
filter: CONFIG_CPU_HAS_FPU
arch_allow: sparc
tags: kernel
timeout: 600
kernel.fpu_sharing.generic.x86.fpu:
extra_args: CONF_FILE=prj_x86.conf
extra_configs:
- CONFIG_X86_SSE_FP_MATH=n
platform_allow: qemu_x86 qemu_x86_lakemont
slow: true
tags: kernel
timeout: 600
kernel.fpu_sharing.generic.x86.sse:
extra_args: CONF_FILE=prj_x86.conf
extra_configs:
- CONFIG_X86_SSE_FP_MATH=y
platform_allow: qemu_x86 qemu_x86_lakemont
slow: true
tags: kernel
timeout: 600