powerpc: Fix kgdb on little endian ppc64le
I spent some time trying to use kgdb and debugged my inability to resume from kgdb_handle_breakpoint(). NIP is not incremented and that leads to a loop in the debugger. I've tested this lightly on a virtual instance with KDB enabled. After the patch, I am able to get the "go" command to work as expected. Signed-off-by: Balbir Singh <bsingharora@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:

committed by
Michael Ellerman

parent
e4f226b158
commit
94e3d92359
@@ -445,7 +445,11 @@ int kgdb_arch_handle_exception(int vector, int signo, int err_code,
|
|||||||
* Global data
|
* Global data
|
||||||
*/
|
*/
|
||||||
struct kgdb_arch arch_kgdb_ops = {
|
struct kgdb_arch arch_kgdb_ops = {
|
||||||
|
#ifdef __LITTLE_ENDIAN__
|
||||||
|
.gdb_bpt_instr = {0x08, 0x10, 0x82, 0x7d},
|
||||||
|
#else
|
||||||
.gdb_bpt_instr = {0x7d, 0x82, 0x10, 0x08},
|
.gdb_bpt_instr = {0x7d, 0x82, 0x10, 0x08},
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
static int kgdb_not_implemented(struct pt_regs *regs)
|
static int kgdb_not_implemented(struct pt_regs *regs)
|
||||||
|
Reference in New Issue
Block a user