The branch main has been updated by andrew:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=ffa5bf8b600a77838be8fbf383382a2e7bafedc6

commit ffa5bf8b600a77838be8fbf383382a2e7bafedc6
Author:     Andrew Turner <[email protected]>
AuthorDate: 2022-06-24 11:50:28 +0000
Commit:     Andrew Turner <[email protected]>
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 */ 

Reply via email to