|
@@ -87,3 +87,81 @@
|
|
|
#define TBR_TT_INTERRUPT_5 (0x25 << 4)
|
|
|
#define TBR_TT_INTERRUPT_6 (0x26 << 4)
|
|
|
#define TBR_TT_INTERRUPT_7 (0x27 << 4)
|
|
|
+#define TBR_TT_INTERRUPT_8 (0x28 << 4)
|
|
|
+#define TBR_TT_INTERRUPT_9 (0x29 << 4)
|
|
|
+#define TBR_TT_INTERRUPT_10 (0x2a << 4)
|
|
|
+#define TBR_TT_INTERRUPT_11 (0x2b << 4)
|
|
|
+#define TBR_TT_INTERRUPT_12 (0x2c << 4)
|
|
|
+#define TBR_TT_INTERRUPT_13 (0x2d << 4)
|
|
|
+#define TBR_TT_INTERRUPT_14 (0x2e << 4)
|
|
|
+#define TBR_TT_INTERRUPT_15 (0x2f << 4)
|
|
|
+#define TBR_TT_TRAP0 (0x80 << 4)
|
|
|
+#define TBR_TT_TRAP1 (0x81 << 4)
|
|
|
+#define TBR_TT_TRAP2 (0x82 << 4)
|
|
|
+#define TBR_TT_TRAP3 (0x83 << 4)
|
|
|
+#define TBR_TT_TRAP120 (0xf8 << 4)
|
|
|
+#define TBR_TT_TRAP121 (0xf9 << 4)
|
|
|
+#define TBR_TT_TRAP122 (0xfa << 4)
|
|
|
+#define TBR_TT_TRAP123 (0xfb << 4)
|
|
|
+#define TBR_TT_TRAP124 (0xfc << 4)
|
|
|
+#define TBR_TT_TRAP125 (0xfd << 4)
|
|
|
+#define TBR_TT_TRAP126 (0xfe << 4)
|
|
|
+#define TBR_TT_BREAK (0xff << 4)
|
|
|
+
|
|
|
+#define TBR_TT_ATOMIC_CMPXCHG32 TBR_TT_TRAP120
|
|
|
+#define TBR_TT_ATOMIC_XCHG32 TBR_TT_TRAP121
|
|
|
+#define TBR_TT_ATOMIC_XOR TBR_TT_TRAP122
|
|
|
+#define TBR_TT_ATOMIC_OR TBR_TT_TRAP123
|
|
|
+#define TBR_TT_ATOMIC_AND TBR_TT_TRAP124
|
|
|
+#define TBR_TT_ATOMIC_SUB TBR_TT_TRAP125
|
|
|
+#define TBR_TT_ATOMIC_ADD TBR_TT_TRAP126
|
|
|
+
|
|
|
+#define __get_TBR() ({ unsigned long x; asm volatile("movsg tbr,%0" : "=r"(x)); x; })
|
|
|
+
|
|
|
+/*
|
|
|
+ * HSR0 - Hardware Status Register 0
|
|
|
+ */
|
|
|
+#define HSR0_PDM 0x00000007 /* power down mode */
|
|
|
+#define HSR0_PDM_NORMAL 0x00000000 /* - normal mode */
|
|
|
+#define HSR0_PDM_CORE_SLEEP 0x00000001 /* - CPU core sleep mode */
|
|
|
+#define HSR0_PDM_BUS_SLEEP 0x00000003 /* - bus sleep mode */
|
|
|
+#define HSR0_PDM_PLL_RUN 0x00000005 /* - PLL run */
|
|
|
+#define HSR0_PDM_PLL_STOP 0x00000007 /* - PLL stop */
|
|
|
+#define HSR0_GRLE 0x00000040 /* GR lower register set enable */
|
|
|
+#define HSR0_GRHE 0x00000080 /* GR higher register set enable */
|
|
|
+#define HSR0_FRLE 0x00000100 /* FR lower register set enable */
|
|
|
+#define HSR0_FRHE 0x00000200 /* FR higher register set enable */
|
|
|
+#define HSR0_GRN 0x00000400 /* GR quantity */
|
|
|
+#define HSR0_GRN_64 0x00000000 /* - 64 GR registers */
|
|
|
+#define HSR0_GRN_32 0x00000400 /* - 32 GR registers */
|
|
|
+#define HSR0_FRN 0x00000800 /* FR quantity */
|
|
|
+#define HSR0_FRN_64 0x00000000 /* - 64 FR registers */
|
|
|
+#define HSR0_FRN_32 0x00000800 /* - 32 FR registers */
|
|
|
+#define HSR0_SA 0x00001000 /* start address (RAMBOOT#) */
|
|
|
+#define HSR0_ETMI 0x00008000 /* enable TIMERI (64-bit up timer) */
|
|
|
+#define HSR0_ETMD 0x00004000 /* enable TIMERD (32-bit down timer) */
|
|
|
+#define HSR0_PEDAT 0x00010000 /* previous DAT mode */
|
|
|
+#define HSR0_XEDAT 0x00020000 /* exception DAT mode */
|
|
|
+#define HSR0_EDAT 0x00080000 /* enable DAT mode */
|
|
|
+#define HSR0_RME 0x00400000 /* enable RAM mode */
|
|
|
+#define HSR0_EMEM 0x00800000 /* enable MMU_Miss mask */
|
|
|
+#define HSR0_EXMMU 0x01000000 /* enable extended MMU mode */
|
|
|
+#define HSR0_EDMMU 0x02000000 /* enable data MMU */
|
|
|
+#define HSR0_EIMMU 0x04000000 /* enable instruction MMU */
|
|
|
+#define HSR0_CBM 0x08000000 /* copy back mode */
|
|
|
+#define HSR0_CBM_WRITE_THRU 0x00000000 /* - write through */
|
|
|
+#define HSR0_CBM_COPY_BACK 0x08000000 /* - copy back */
|
|
|
+#define HSR0_NWA 0x10000000 /* no write allocate */
|
|
|
+#define HSR0_DCE 0x40000000 /* data cache enable */
|
|
|
+#define HSR0_ICE 0x80000000 /* instruction cache enable */
|
|
|
+
|
|
|
+#define __get_HSR(R) ({ unsigned long x; asm volatile("movsg hsr"#R",%0" : "=r"(x)); x; })
|
|
|
+#define __set_HSR(R,V) do { asm volatile("movgs %0,hsr"#R : : "r"(V)); } while(0)
|
|
|
+
|
|
|
+/*
|
|
|
+ * CCR - Condition Codes Register
|
|
|
+ */
|
|
|
+#define CCR_FCC0 0x0000000f /* FP/Media condition 0 (fcc0 reg) */
|
|
|
+#define CCR_FCC1 0x000000f0 /* FP/Media condition 1 (fcc1 reg) */
|
|
|
+#define CCR_FCC2 0x00000f00 /* FP/Media condition 2 (fcc2 reg) */
|
|
|
+#define CCR_FCC3 0x0000f000 /* FP/Media condition 3 (fcc3 reg) */
|