Author: jhb
Date: Mon Jul 27 16:29:21 2020
New Revision: 363615
URL: https://svnweb.freebsd.org/changeset/base/363615

Log:
  Set si_trapno to the fault index from fsr.
  
  Reviewed by:  kib
  Sponsored by: DARPA
  Differential Revision:        https://reviews.freebsd.org/D25772

Modified:
  head/sys/arm/arm/trap-v6.c

Modified: head/sys/arm/arm/trap-v6.c
==============================================================================
--- head/sys/arm/arm/trap-v6.c  Mon Jul 27 16:28:44 2020        (r363614)
+++ head/sys/arm/arm/trap-v6.c  Mon Jul 27 16:29:21 2020        (r363615)
@@ -169,7 +169,8 @@ static const struct abort aborts[] = {
 };
 
 static __inline void
-call_trapsignal(struct thread *td, int sig, int code, vm_offset_t addr)
+call_trapsignal(struct thread *td, int sig, int code, vm_offset_t addr,
+    int trapno)
 {
        ksiginfo_t ksi;
 
@@ -185,6 +186,7 @@ call_trapsignal(struct thread *td, int sig, int code, 
        ksi.ksi_signo = sig;
        ksi.ksi_code = code;
        ksi.ksi_addr = (void *)addr;
+       ksi.ksi_trapno = trapno;
        trapsignal(td, &ksi);
 }
 
@@ -252,7 +254,7 @@ abort_debug(struct trapframe *tf, u_int fsr, u_int pre
                struct thread *td;
 
                td = curthread;
-               call_trapsignal(td, SIGTRAP, TRAP_BRKPT, far);
+               call_trapsignal(td, SIGTRAP, TRAP_BRKPT, far, FAULT_DEBUG);
                userret(td, tf);
        } else {
 #ifdef KDB
@@ -523,7 +525,7 @@ nogo:
        ksig.addr = far;
 
 do_trapsignal:
-       call_trapsignal(td, ksig.sig, ksig.code, ksig.addr);
+       call_trapsignal(td, ksig.sig, ksig.code, ksig.addr, idx);
 out:
        if (usermode)
                userret(td, tf);
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to