提交 ebc0c74e 编写于 作者: A Anton Kolesov 提交者: Vineet Gupta

ARC: Update order of registers in KGDB to match GDB 7.5

Order of registers has changed in GDB moving from 6.8 to 7.5. This patch
updates KGDB to work properly with GDB 7.5, though makes it incompatible
with 6.8.
Signed-off-by: NAnton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: NVineet Gupta <vgupta@synopsys.com>
Cc: <stable@vger.kernel.org> #3.10, 3.12, 3.14, 3.16
上级 cdd45526
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
* register API yet */ * register API yet */
#undef DBG_MAX_REG_NUM #undef DBG_MAX_REG_NUM
#define GDB_MAX_REGS 39 #define GDB_MAX_REGS 87
#define BREAK_INSTR_SIZE 2 #define BREAK_INSTR_SIZE 2
#define CACHE_FLUSH_IS_SAFE 1 #define CACHE_FLUSH_IS_SAFE 1
...@@ -33,23 +33,27 @@ static inline void arch_kgdb_breakpoint(void) ...@@ -33,23 +33,27 @@ static inline void arch_kgdb_breakpoint(void)
extern void kgdb_trap(struct pt_regs *regs); extern void kgdb_trap(struct pt_regs *regs);
enum arc700_linux_regnums { /* This is the numbering of registers according to the GDB. See GDB's
* arc-tdep.h for details.
*
* Registers are ordered for GDB 7.5. It is incompatible with GDB 6.8. */
enum arc_linux_regnums {
_R0 = 0, _R0 = 0,
_R1, _R2, _R3, _R4, _R5, _R6, _R7, _R8, _R9, _R10, _R11, _R12, _R13, _R1, _R2, _R3, _R4, _R5, _R6, _R7, _R8, _R9, _R10, _R11, _R12, _R13,
_R14, _R15, _R16, _R17, _R18, _R19, _R20, _R21, _R22, _R23, _R24, _R14, _R15, _R16, _R17, _R18, _R19, _R20, _R21, _R22, _R23, _R24,
_R25, _R26, _R25, _R26,
_BTA = 27, _FP = 27,
_LP_START = 28, __SP = 28,
_LP_END = 29, _R30 = 30,
_LP_COUNT = 30, _BLINK = 31,
_STATUS32 = 31, _LP_COUNT = 60,
_BLINK = 32, _STOP_PC = 64,
_FP = 33, _RET = 64,
__SP = 34, _LP_START = 65,
_EFA = 35, _LP_END = 66,
_RET = 36, _STATUS32 = 67,
_ORIG_R8 = 37, _ECR = 76,
_STOP_PC = 38 _BTA = 82,
}; };
#else #else
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册