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: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Cc: <stable@vger.kernel.org> #3.10, 3.12, 3.14, 3.16
This commit is contained in:
Anton Kolesov 2014-09-25 13:23:24 +04:00 committed by Vineet Gupta
parent cdd4552686
commit ebc0c74e76
1 changed files with 18 additions and 14 deletions

View File

@ -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)
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