x86: use kernel_stack_pointer() in kgdb.c
[firefly-linux-kernel-4.4.55.git] / arch / x86 / kernel / kgdb.c
index 8d82a77a3f3b96ea3c0dc37e91551dddc7e10b51..3310d849abd2989d4f5e1199c7f77e1d94ec4882 100644 (file)
@@ -88,7 +88,6 @@ void pt_regs_to_gdb_regs(unsigned long *gdb_regs, struct pt_regs *regs)
        gdb_regs[GDB_SS]        = __KERNEL_DS;
        gdb_regs[GDB_FS]        = 0xFFFF;
        gdb_regs[GDB_GS]        = 0xFFFF;
-       gdb_regs[GDB_SP]        = (int)&regs->sp;
 #else
        gdb_regs[GDB_R8]        = regs->r8;
        gdb_regs[GDB_R9]        = regs->r9;
@@ -101,8 +100,8 @@ void pt_regs_to_gdb_regs(unsigned long *gdb_regs, struct pt_regs *regs)
        gdb_regs32[GDB_PS]      = regs->flags;
        gdb_regs32[GDB_CS]      = regs->cs;
        gdb_regs32[GDB_SS]      = regs->ss;
-       gdb_regs[GDB_SP]        = regs->sp;
 #endif
+       gdb_regs[GDB_SP]        = kernel_stack_pointer(regs);
 }
 
 /**