diff options
author | peter <peter@FreeBSD.org> | 2006-03-13 23:56:44 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2006-03-13 23:56:44 +0000 |
commit | 02d811ad5e8648fe6abd5b5b68d048968d5cabd3 (patch) | |
tree | 2b27cdc9368ecab334d622bb3019cf56d9a2c21b /sys/amd64/amd64/db_trace.c | |
parent | 635b89f062bcf533b0c83572e5808ee005349658 (diff) | |
download | FreeBSD-src-02d811ad5e8648fe6abd5b5b68d048968d5cabd3.zip FreeBSD-src-02d811ad5e8648fe6abd5b5b68d048968d5cabd3.tar.gz |
MFi386: add a TRAP_INTERRUPT case
Diffstat (limited to 'sys/amd64/amd64/db_trace.c')
-rw-r--r-- | sys/amd64/amd64/db_trace.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sys/amd64/amd64/db_trace.c b/sys/amd64/amd64/db_trace.c index ffbba83..d050787 100644 --- a/sys/amd64/amd64/db_trace.c +++ b/sys/amd64/amd64/db_trace.c @@ -192,6 +192,7 @@ struct amd64_frame { #define TRAP 1 #define INTERRUPT 2 #define SYSCALL 3 +#define TRAP_INTERRUPT 5 static void db_nextframe(struct amd64_frame **, db_addr_t *, struct thread *); static int db_numargs(struct amd64_frame *); @@ -326,6 +327,12 @@ db_nextframe(struct amd64_frame **fp, db_addr_t *ip, struct thread *td) frame_type = INTERRUPT; else if (strcmp(name, "Xfast_syscall") == 0) frame_type = SYSCALL; + /* XXX: These are interrupts with trap frames. */ + else if (strcmp(name, "Xtimerint") == 0 || + strcmp(name, "Xcpustop") == 0 || + strcmp(name, "Xrendezvous") == 0 || + strcmp(name, "Xipi_intr_bitmap_handler") == 0) + frame_type = TRAP_INTERRUPT; } /* @@ -357,6 +364,7 @@ db_nextframe(struct amd64_frame **fp, db_addr_t *ip, struct thread *td) db_printf("--- syscall"); decode_syscall(tf->tf_rax, td); break; + case TRAP_INTERRUPT: case INTERRUPT: db_printf("--- interrupt"); break; |