arm_dpm: add some SCR/RCR macros
authorAaron Carroll <aaronc@cse.unsw.edu.au>
Mon, 24 Jan 2011 07:06:45 +0000 (18:06 +1100)
committerØyvind Harboe <oyvind.harboe@zylin.com>
Mon, 31 Jan 2011 07:53:53 +0000 (08:53 +0100)
Signed-off-by: Aaron Carroll <aaronc@cse.unsw.edu.au>
src/target/arm_dpm.h

index e180807fe68a0a8299206310c6f0bf00de8b5d04..b20184c8d5475c2957e489314af6240be37e9580 100644 (file)
@@ -143,14 +143,20 @@ void arm_dpm_report_wfar(struct arm_dpm *, uint32_t wfar);
 #define DSCR_CORE_HALTED       (1 << 0)
 #define DSCR_CORE_RESTARTED    (1 << 1)
 #define DSCR_INT_DIS           (1 << 11)
-#define DSCR_ITR_EN            (1 << 13)
+#define DSCR_ITR_EN                    (1 << 13)
 #define DSCR_HALT_DBG_MODE     (1 << 14)
 #define DSCR_MON_DBG_MODE      (1 << 15)
 #define DSCR_INSTR_COMP                (1 << 24)
 #define DSCR_DTR_TX_FULL       (1 << 29)
 #define DSCR_DTR_RX_FULL       (1 << 30)
 
-#define DSCR_ENTRY(dscr) (((dscr) >> 2) & 0xf)
+#define DSCR_ENTRY(dscr)       (((dscr) >> 2) & 0xf)
+#define DSCR_RUN_MODE(dscr)    ((dscr) & (DSCR_CORE_HALTED | DSCR_CORE_RESTARTED))
+
+/* DRCR (debug run control register) bits */
+#define DRCR_HALT                              (1 << 0)
+#define DRCR_RESTART                   (1 << 1)
+#define DRCR_CLEAR_EXCEPTIONS  (1 << 2)
 
 void arm_dpm_report_dscr(struct arm_dpm *dpm, uint32_t dcsr);