diff options
Diffstat (limited to 'package/gdb/src')
-rw-r--r-- | package/gdb/src/gdb/debugreg.h | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/package/gdb/src/gdb/debugreg.h b/package/gdb/src/gdb/debugreg.h new file mode 100644 index 000000000..e4883c804 --- /dev/null +++ b/package/gdb/src/gdb/debugreg.h @@ -0,0 +1,48 @@ +#ifndef SYS_DEBUGREG_H +#define SYS_DEBUGREG_H + +#include <stdint.h> + +#define DR_FIRSTADDR 0 +#define DR_LASTADDR 3 + +#define DR_STATUS 6 +#define DR_CONTROL 7 + +#define DR_TRAP0 (0x1) +#define DR_TRAP1 (0x2) +#define DR_TRAP2 (0x4) +#define DR_TRAP3 (0x8) + +#define DR_STEP (0x4000) +#define DR_SWITCH (0x8000) + +#define DR_CONTROL_SHIFT 16 +#define DR_CONTROL_SIZE 4 + +#define DR_RW_EXECUTE (0x0) +#define DR_RW_WRITE (0x1) +#define DR_RW_READ (0x3) + +#define DR_LEN_1 (0x0) +#define DR_LEN_2 (0x4) +#define DR_LEN_4 (0xC) +#define DR_LEN_8 (0x8) + +#define DR_LOCAL_ENABLE_SHIFT 0 +#define DR_GLOBAL_ENABLE_SHIFT 1 +#define DR_ENABLE_SIZE 2 + +#define DR_LOCAL_ENABLE_MASK (0x55) +#define DR_GLOBAL_ENABLE_MASK (0xAA) + + +#if SIZE_MAX > 4294967295 +# define DR_CONTROL_RESERVED (0xFFFFFFFF0000FC00UL) +#else +# define DR_CONTROL_RESERVED (0x00FC00U) +#endif +#define DR_LOCAL_SLOWDOWN (0x100) +#define DR_GLOBAL_SLOWDOWN (0x200) + +#endif |