ARM: 6117/1: kdump: implement crash_setup_regs()
Implement machine specific function crash_setup_regs() which is responsible for storing machine state when crash occured. Signed-off-by: Mika Westerberg <ext-mika.1.westerberg@nokia.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
3c57fb43c8
commit
24b776bfb6
|
@ -19,10 +19,26 @@
|
||||||
|
|
||||||
#ifndef __ASSEMBLY__
|
#ifndef __ASSEMBLY__
|
||||||
|
|
||||||
struct kimage;
|
/**
|
||||||
/* Provide a dummy definition to avoid build failures. */
|
* crash_setup_regs() - save registers for the panic kernel
|
||||||
|
* @newregs: registers are saved here
|
||||||
|
* @oldregs: registers to be saved (may be %NULL)
|
||||||
|
*
|
||||||
|
* Function copies machine registers from @oldregs to @newregs. If @oldregs is
|
||||||
|
* %NULL then current registers are stored there.
|
||||||
|
*/
|
||||||
static inline void crash_setup_regs(struct pt_regs *newregs,
|
static inline void crash_setup_regs(struct pt_regs *newregs,
|
||||||
struct pt_regs *oldregs) { }
|
struct pt_regs *oldregs)
|
||||||
|
{
|
||||||
|
if (oldregs) {
|
||||||
|
memcpy(newregs, oldregs, sizeof(*newregs));
|
||||||
|
} else {
|
||||||
|
__asm__ __volatile__ ("stmia %0, {r0 - r15}"
|
||||||
|
: : "r" (&newregs->ARM_r0));
|
||||||
|
__asm__ __volatile__ ("mrs %0, cpsr"
|
||||||
|
: "=r" (newregs->ARM_cpsr));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* __ASSEMBLY__ */
|
#endif /* __ASSEMBLY__ */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue