Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 322b4394 authored by Anton Vorontsov's avatar Anton Vorontsov Committed by Paul Mackerras
Browse files

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: default avatarAnton Vorontsov <avorontsov@ru.mvista.com>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 5be85548
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -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 */
+4 −0
Original line number Diff line number Diff line
@@ -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

+1 −1
Original line number Diff line number Diff line
@@ -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)
+1 −1
Original line number Diff line number Diff line
@@ -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
+2 −3
Original line number Diff line number Diff line
@@ -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(&regs);
		ppc_save_regs(&regs);
		excp = &regs;
	}