diff options
author | jake <jake@FreeBSD.org> | 2001-11-18 03:41:12 +0000 |
---|---|---|
committer | jake <jake@FreeBSD.org> | 2001-11-18 03:41:12 +0000 |
commit | 9fd727b77f9cfa3c5bb70fa2dcf6c4c1fb957095 (patch) | |
tree | 97929a809a678c63de87e20fc313b9e2d5d2cab2 /sys/sparc64/include/db_machdep.h | |
parent | 109c8b8676f4569760f6c2bca702cf27e44d67b9 (diff) | |
download | FreeBSD-src-9fd727b77f9cfa3c5bb70fa2dcf6c4c1fb957095.zip FreeBSD-src-9fd727b77f9cfa3c5bb70fa2dcf6c4c1fb957095.tar.gz |
1. Remove kdbframe. Bad idea.
2. Add a TF_DONE macro, which fiddles a trapframe to make the retry on
return from traps act like a done (advance past the trapping
instruction instead of re-executing).
3. Flush the windows before entering the debugger, since it is no
longer done in the breakpoint trap vector.
4. Print a warning if trace <pid> is attempted, it is not yet implemented.
5. Print traps better and decode system calls in traces.
Submitted by: rwatson (4)
Diffstat (limited to 'sys/sparc64/include/db_machdep.h')
-rw-r--r-- | sys/sparc64/include/db_machdep.h | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/sys/sparc64/include/db_machdep.h b/sys/sparc64/include/db_machdep.h index f598dab..281f982 100644 --- a/sys/sparc64/include/db_machdep.h +++ b/sys/sparc64/include/db_machdep.h @@ -38,10 +38,6 @@ typedef vm_offset_t db_addr_t; typedef long db_expr_t; -struct db_regs { - u_long dr_global[8]; -}; - typedef struct trapframe db_regs_t; extern db_regs_t ddb_regs; #define DDB_REGS (&ddb_regs) @@ -52,10 +48,10 @@ extern db_regs_t ddb_regs; #define BKPT_SIZE (4) #define BKPT_SET(inst) (BKPT_INST) -#define FIXUP_PC_AFTER_BREAK do { \ - ddb_regs.tf_tpc = ddb_regs.tf_tnpc; \ - ddb_regs.tf_tnpc += BKPT_SIZE; \ -} while (0); +#define BKPT_SKIP do { \ + ddb_regs.tf_tpc = ddb_regs.tf_tnpc + 4; \ + ddb_regs.tf_tnpc += 8; \ +} while (0) #define db_clear_single_step(regs) #define db_set_single_step(regs) |