The branch stable/13 has been updated by mhorne:

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

commit 090db1352edbb62cfe4b5e936ee7664756f1580a
Author:     Mitchell Horne <[email protected]>
AuthorDate: 2021-03-01 14:01:25 +0000
Commit:     Mitchell Horne <[email protected]>
CommitDate: 2021-03-08 14:02:42 +0000

    arm64: add definition for IS_SSTEP_TRAP()
    
    arm64 has a distinct exception code for single-step, so we can use this
    to detect when an unexpected SS trap is encountered, or when an expected
    one is not. See db_stop_at_pc().
    
    Reviewed by:    markj, jhb
    Sponsored by:   The FreeBSD Foundation
    
    (cherry picked from commit e152c882738ffe26a2f52e420e2a92c014943207)
---
 sys/arm64/include/db_machdep.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/sys/arm64/include/db_machdep.h b/sys/arm64/include/db_machdep.h
index 61b58415e41c..105e8e507ce3 100644
--- a/sys/arm64/include/db_machdep.h
+++ b/sys/arm64/include/db_machdep.h
@@ -38,6 +38,7 @@
 #include <machine/trap.h>
 
 #define        T_BREAKPOINT    (EXCP_BRK)
+#define        T_SINGLESTEP    (EXCP_SOFTSTP_EL1)
 #define        T_WATCHPOINT    (EXCP_WATCHPT_EL1)
 
 typedef vm_offset_t    db_addr_t;
@@ -58,6 +59,7 @@ typedef long          db_expr_t;
 #define        db_set_single_step      kdb_cpu_set_singlestep
 
 #define        IS_BREAKPOINT_TRAP(type, code)  (type == T_BREAKPOINT)
+#define        IS_SSTEP_TRAP(type, code)       (type == T_SINGLESTEP)
 #define        IS_WATCHPOINT_TRAP(type, code)  (type == T_WATCHPOINT)
 
 #define        inst_trap_return(ins)   (0)
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to