powerpc: Prepare xmon_save_regs for use with kdump
Today the arch/powerpc/xmon/setjmp.S file contains only the xmon_save_regs function. We want to use it for kdump purposes, so let's move the file into arch/powerpc/kernel/ and give the function a more generic name (ppc_save_regs). Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
Родитель
5be8554875
Коммит
322b439455
|
@ -783,6 +783,10 @@ extern void scom970_write(unsigned int address, unsigned long value);
|
|||
#define __get_SP() ({unsigned long sp; \
|
||||
asm volatile("mr %0,1": "=r" (sp)); sp;})
|
||||
|
||||
struct pt_regs;
|
||||
|
||||
extern void ppc_save_regs(struct pt_regs *regs);
|
||||
|
||||
#endif /* __ASSEMBLY__ */
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* _ASM_POWERPC_REG_H */
|
||||
|
|
|
@ -102,6 +102,10 @@ endif
|
|||
|
||||
obj-$(CONFIG_PPC64) += $(obj64-y)
|
||||
|
||||
ifneq ($(CONFIG_XMON),)
|
||||
obj-y += ppc_save_regs.o
|
||||
endif
|
||||
|
||||
extra-$(CONFIG_PPC_FPU) += fpu.o
|
||||
extra-$(CONFIG_PPC64) += entry_64.o
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
* that will be different for 32-bit and 64-bit, because of the
|
||||
* different ABIs, though).
|
||||
*/
|
||||
_GLOBAL(xmon_save_regs)
|
||||
_GLOBAL(ppc_save_regs)
|
||||
PPC_STL r0,0*SZL(r3)
|
||||
PPC_STL r2,2*SZL(r3)
|
||||
PPC_STL r3,3*SZL(r3)
|
|
@ -4,7 +4,7 @@ ifdef CONFIG_PPC64
|
|||
EXTRA_CFLAGS += -mno-minimal-toc
|
||||
endif
|
||||
|
||||
obj-y += xmon.o setjmp.o start.o nonstdio.o
|
||||
obj-y += xmon.o start.o nonstdio.o
|
||||
|
||||
ifdef CONFIG_XMON_DISASSEMBLY
|
||||
obj-y += ppc-dis.o ppc-opc.o
|
||||
|
|
|
@ -41,6 +41,7 @@
|
|||
#include <asm/spu_priv1.h>
|
||||
#include <asm/firmware.h>
|
||||
#include <asm/setjmp.h>
|
||||
#include <asm/reg.h>
|
||||
|
||||
#ifdef CONFIG_PPC64
|
||||
#include <asm/hvcall.h>
|
||||
|
@ -159,8 +160,6 @@ static int xmon_no_auto_backtrace;
|
|||
extern void xmon_enter(void);
|
||||
extern void xmon_leave(void);
|
||||
|
||||
extern void xmon_save_regs(struct pt_regs *);
|
||||
|
||||
#ifdef CONFIG_PPC64
|
||||
#define REG "%.16lx"
|
||||
#define REGS_PER_LINE 4
|
||||
|
@ -532,7 +531,7 @@ int xmon(struct pt_regs *excp)
|
|||
struct pt_regs regs;
|
||||
|
||||
if (excp == NULL) {
|
||||
xmon_save_regs(®s);
|
||||
ppc_save_regs(®s);
|
||||
excp = ®s;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче