summaryrefslogtreecommitdiffstats
path: root/sys/sparc64/include/db_machdep.h
diff options
context:
space:
mode:
authorjake <jake@FreeBSD.org>2001-11-18 03:41:12 +0000
committerjake <jake@FreeBSD.org>2001-11-18 03:41:12 +0000
commit9fd727b77f9cfa3c5bb70fa2dcf6c4c1fb957095 (patch)
tree97929a809a678c63de87e20fc313b9e2d5d2cab2 /sys/sparc64/include/db_machdep.h
parent109c8b8676f4569760f6c2bca702cf27e44d67b9 (diff)
downloadFreeBSD-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.h12
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)
OpenPOWER on IntegriCloud