Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F102952274
D44353.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
D44353.diff
View Options
diff --git a/sys/arm64/arm64/gdb_machdep.c b/sys/arm64/arm64/gdb_machdep.c
--- a/sys/arm64/arm64/gdb_machdep.c
+++ b/sys/arm64/arm64/gdb_machdep.c
@@ -110,6 +110,7 @@
switch (type) {
case EXCP_WATCHPT_EL1:
case EXCP_SOFTSTP_EL1:
+ case EXCP_BRKPT_EL1:
case EXCP_BRK:
return (SIGTRAP);
}
diff --git a/sys/arm64/arm64/trap.c b/sys/arm64/arm64/trap.c
--- a/sys/arm64/arm64/trap.c
+++ b/sys/arm64/arm64/trap.c
@@ -500,6 +500,7 @@
*/
switch (exception) {
case EXCP_BRK:
+ case EXCP_BRKPT_EL1:
case EXCP_WATCHPT_EL1:
case EXCP_SOFTSTP_EL1:
break;
@@ -551,6 +552,7 @@
panic("No debugger in kernel.");
#endif
break;
+ case EXCP_BRKPT_EL1:
case EXCP_WATCHPT_EL1:
case EXCP_SOFTSTP_EL1:
#ifdef KDB
diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h
--- a/sys/arm64/include/armreg.h
+++ b/sys/arm64/include/armreg.h
@@ -439,6 +439,7 @@
#define EXCP_TRAP_FP 0x2c /* Trapped FP exception */
#define EXCP_SERROR 0x2f /* SError interrupt */
#define EXCP_BRKPT_EL0 0x30 /* Hardware breakpoint, from same EL */
+#define EXCP_BRKPT_EL1 0x31 /* Hardware breakpoint, from same EL */
#define EXCP_SOFTSTP_EL0 0x32 /* Software Step, from lower EL */
#define EXCP_SOFTSTP_EL1 0x33 /* Software Step, from same EL */
#define EXCP_WATCHPT_EL0 0x34 /* Watchpoint, from lower EL */
diff --git a/sys/arm64/include/db_machdep.h b/sys/arm64/include/db_machdep.h
--- a/sys/arm64/include/db_machdep.h
+++ b/sys/arm64/include/db_machdep.h
@@ -36,6 +36,7 @@
#include <machine/trap.h>
#define T_BREAKPOINT (EXCP_BRK)
+#define T_HW_BREAKPOINT (EXCP_BRKPT_EL1)
#define T_SINGLESTEP (EXCP_SOFTSTP_EL1)
#define T_WATCHPOINT (EXCP_WATCHPT_EL1)
@@ -56,7 +57,8 @@
#define db_clear_single_step kdb_cpu_clear_singlestep
#define db_set_single_step kdb_cpu_set_singlestep
-#define IS_BREAKPOINT_TRAP(type, code) (type == T_BREAKPOINT)
+#define IS_BREAKPOINT_TRAP(type, code) \
+ (type == T_BREAKPOINT || type == T_HW_BREAKPOINT)
#define IS_SSTEP_TRAP(type, code) (type == T_SINGLESTEP)
#define IS_WATCHPOINT_TRAP(type, code) (type == T_WATCHPOINT)
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Nov 20, 3:24 AM (22 h, 2 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14729265
Default Alt Text
D44353.diff (2 KB)
Attached To
Mode
D44353: arm64: Add EL1 hardware breakpoint exceptions
Attached
Detach File
Event Timeline
Log In to Comment