debug: Move things around, but addresses now conflict with ROM.
[riscv-isa-sim.git] / riscv / processor.h
index 7e9e932f7b13a8c5cd4cb3275c3a697913c6f0f1..ea9cb7bab59efc0c598543f0ec290972ebb5d0d1 100644 (file)
@@ -191,6 +191,14 @@ public:
   bool debug;
   // When true, take the slow simulation path.
   bool slow_path();
+  bool halted() { return state.dcsr.cause ? true : false; }
+  bool halt_request;
+  // The unique debug rom address that this hart jumps to when entering debug
+  // mode. Rely on the fact that spike hart IDs start at 0 and are consecutive.
+  uint32_t debug_rom_entry() {
+    fprintf(stderr, "Debug_rom_entry called for id %d = %x\n", id, DEBUG_ROM_ENTRY + 4*id);
+    return DEBUG_ROM_ENTRY + 4 * id;
+  }
 
   // Return the index of a trigger that matched, or -1.
   inline int trigger_match(trigger_operation_t operation, reg_t address, reg_t data)