linux/tools/testing/selftests/arm64/signal/testcases
Kevin Brodsky f2db075234 kselftest/arm64: Add tests for POR_EL0 save/reset/restore
POR_EL0 is expected to be:
- Saved in the poe_context record
- Reset to POR_EL0_INIT when invoking the signal handler
- Restored from poe_context when returning from the signal handler

Add a new test, poe_restore, to check that the save/reset/restore
mechanism is working as intended. See commit 2e8a1acea8 ("arm64:
signal: Improve POR_EL0 handling to avoid uaccess failures") for
more details.

This commit did not handle the case where poe_context is missing
correctly. This was recently fixed; add a new test,
poe_missing_poe_context, to check this case.

Note: td->pass is only set to true at the very end, as an unexpected
signal may occur in case of failure (especially in
poe_missing_poe_context if POR_EL0 is restored to an invalid value).
Failures are tracked with a global, failed_check.

Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com>
Signed-off-by: Will Deacon <will@kernel.org>
2026-05-19 11:54:03 +01:00
..
fake_sigreturn_bad_magic.c kselftest/arm64: Allow larger buffers in get_signal_context() 2022-09-07 14:25:47 +01:00
fake_sigreturn_bad_size_for_magic0.c kselftest/arm64: Allow larger buffers in get_signal_context() 2022-09-07 14:25:47 +01:00
fake_sigreturn_bad_size.c kselftest/arm64: Allow larger buffers in get_signal_context() 2022-09-07 14:25:47 +01:00
fake_sigreturn_duplicated_fpsimd.c kselftest/arm64: Allow larger buffers in get_signal_context() 2022-09-07 14:25:47 +01:00
fake_sigreturn_misaligned_sp.c kselftest/arm64: Allow larger buffers in get_signal_context() 2022-09-07 14:25:47 +01:00
fake_sigreturn_missing_fpsimd.c kselftest/arm64: Allow larger buffers in get_signal_context() 2022-09-07 14:25:47 +01:00
fake_sigreturn_sme_change_vl.c kselftest/arm64: Actually test SME vector length changes via sigreturn 2024-08-30 12:53:04 +01:00
fake_sigreturn_sve_change_vl.c kselftest/arm64: signal: fix/refactor SVE vector length enumeration 2024-08-23 11:34:55 +01:00
fpmr_siginfo.c kselftest/arm64: Add basic FPMR test 2024-03-07 17:14:54 +00:00
gcs_exception_fault.c kselftest/arm64: Add GCS signal tests 2024-10-04 12:04:45 +01:00
gcs_frame.c kselftest/arm64: Add GCS signal tests 2024-10-04 12:04:45 +01:00
gcs_prot_none_fault.c kselftest: arm64: Check access to GCS after mprotect(PROT_NONE) 2026-02-25 19:53:58 +00:00
gcs_write_fault.c kselftest/arm64: Add GCS signal tests 2024-10-04 12:04:45 +01:00
mangle_pstate_invalid_compat_toggle.c
mangle_pstate_invalid_daif_bits.c
mangle_pstate_invalid_mode_el1h.c
mangle_pstate_invalid_mode_el1t.c
mangle_pstate_invalid_mode_el2h.c
mangle_pstate_invalid_mode_el2t.c
mangle_pstate_invalid_mode_el3h.c
mangle_pstate_invalid_mode_el3t.c
mangle_pstate_invalid_mode_template.h
poe_missing_poe_context.c kselftest/arm64: Add tests for POR_EL0 save/reset/restore 2026-05-19 11:54:03 +01:00
poe_restore.c kselftest/arm64: Add tests for POR_EL0 save/reset/restore 2026-05-19 11:54:03 +01:00
poe_siginfo.c kselftest/arm64: Move/add POE helpers to test_signals_utils.h 2026-05-19 11:54:03 +01:00
sme_trap_no_sm.c
sme_trap_non_streaming.c
sme_trap_za.c
sme_vl.c kselftest/arm64: Allow larger buffers in get_signal_context() 2022-09-07 14:25:47 +01:00
ssve_regs.c kselftest/arm64: Check that SVCR is 0 in signal handlers 2024-11-12 13:18:13 +00:00
ssve_za_regs.c kselftest/arm64: signal: fix/refactor SVE vector length enumeration 2024-08-23 11:34:55 +01:00
sve_regs.c kselftest/arm64: signal: fix/refactor SVE vector length enumeration 2024-08-23 11:34:55 +01:00
sve_vl.c kselftest/arm64: Allow larger buffers in get_signal_context() 2022-09-07 14:25:47 +01:00
testcases.c kselftest/arm64: Add framework support for GCS to signal handling tests 2024-10-04 12:04:43 +01:00
testcases.h kselftest/arm64: Add framework support for GCS to signal handling tests 2024-10-04 12:04:43 +01:00
TODO kselftest/arm64: Remove validation of extra_context from TODO 2022-11-08 16:03:54 +00:00
tpidr2_restore.c kselftest/arm64: Add a test case for TPIDR2 restore 2023-06-23 18:32:10 +01:00
tpidr2_siginfo.c kselftest/arm64: Add test case for TPIDR2 signal frame records 2023-01-20 12:42:31 +00:00
za_no_regs.c kselftest/arm64: signal: fix/refactor SVE vector length enumeration 2024-08-23 11:34:55 +01:00
za_regs.c kselftest/arm64: Check that SVCR is 0 in signal handlers 2024-11-12 13:18:13 +00:00
zt_no_regs.c kselftest/arm64: Add test coverage for ZT register signal frames 2023-01-20 12:23:08 +00:00
zt_regs.c kselftest/arm64: fix a memleak in zt_regs_run() 2023-08-16 14:17:06 +01:00