mips: optimize CP0 read/write code
[fw/openocd] / src / target / mips32_pracc.h
index c200e93d51d7e512366c97c609805685a828733f..8f208f5fda54fb19aaff6d030b5f988ed705e8fe 100644 (file)
@@ -30,6 +30,7 @@
 #include <target/mips_ejtag.h>
 
 #define MIPS32_PRACC_FASTDATA_AREA             0xFF200000
+#define MIPS32_PRACC_BASE_ADDR                 0xFF200000
 #define MIPS32_PRACC_FASTDATA_SIZE             16
 #define MIPS32_PRACC_TEXT                              0xFF200200
 #define MIPS32_PRACC_STACK                             0xFF204000
 #define MIPS32_PRACC_PARAM_OUT                 (MIPS32_PRACC_PARAM_IN + MIPS32_PRACC_PARAM_IN_SIZE)
 #define MIPS32_PRACC_PARAM_OUT_SIZE            0x1000
 
+#define PRACC_UPPER_BASE_ADDR                  (MIPS32_PRACC_BASE_ADDR >> 16)
+#define PRACC_TEXT_OFFSET                      (MIPS32_PRACC_TEXT - MIPS32_PRACC_BASE_ADDR)
+#define PRACC_IN_OFFSET                                (MIPS32_PRACC_PARAM_IN - MIPS32_PRACC_BASE_ADDR)
+#define PRACC_OUT_OFFSET                       (MIPS32_PRACC_PARAM_OUT - MIPS32_PRACC_BASE_ADDR)
+#define PRACC_STACK_OFFSET                     (MIPS32_PRACC_STACK - MIPS32_PRACC_BASE_ADDR)
+
 #define MIPS32_FASTDATA_HANDLER_SIZE   0x80
 #define UPPER16(uint32_t)                              (uint32_t >> 16)
 #define LOWER16(uint32_t)                              (uint32_t & 0xFFFF)