git: ffa5bf8b600a - main - Trap SVE instructions until we have SVE support
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 24 Jun 2022 13:59:48 UTC
The branch main has been updated by andrew: URL: https://cgit.FreeBSD.org/src/commit/?id=ffa5bf8b600a77838be8fbf383382a2e7bafedc6 commit ffa5bf8b600a77838be8fbf383382a2e7bafedc6 Author: Andrew Turner <andrew@FreeBSD.org> AuthorDate: 2022-06-24 11:50:28 +0000 Commit: Andrew Turner <andrew@FreeBSD.org> CommitDate: 2022-06-24 13:51:18 +0000 Trap SVE instructions until we have SVE support When running on hardware that supports SVE send the correct signal when an SVE instruction is run. Sponsored by: The FreeBSD Foundation --- sys/arm64/arm64/trap.c | 5 +++++ sys/arm64/include/armreg.h | 1 + 2 files changed, 6 insertions(+) diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c index 5bf6c3d1a81d..21843694f48c 100644 --- a/sys/arm64/arm64/trap.c +++ b/sys/arm64/arm64/trap.c @@ -593,6 +593,11 @@ do_el0_sync(struct thread *td, struct trapframe *frame) panic("VFP exception in userland"); #endif break; + case EXCP_SVE: + call_trapsignal(td, SIGILL, ILL_ILLTRP, (void *)frame->tf_elr, + exception); + userret(td, frame); + break; case EXCP_SVC32: case EXCP_SVC64: svc_handler(td, frame); diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index d7e026bfccbb..c795db995ecf 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -387,6 +387,7 @@ #define EXCP_SVC64 0x15 /* SVC trap for AArch64 */ #define EXCP_HVC 0x16 /* HVC trap */ #define EXCP_MSR 0x18 /* MSR/MRS trap */ +#define EXCP_SVE 0x19 /* SVE trap */ #define EXCP_FPAC 0x1c /* Faulting PAC trap */ #define EXCP_INSN_ABORT_L 0x20 /* Instruction abort, from lower EL */ #define EXCP_INSN_ABORT 0x21 /* Instruction abort, from same EL */