From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Anton Vorontsov <avorontsov@ru.mvista.com>
Cc: linuxppc-dev@ozlabs.org, Paul Mackerras <paulus@samba.org>,
Milton Miller <miltonm@bga.com>
Subject: Re: [PATCH 7/7] powerpc/64/kdump: Use ppc_save_regs() in crash_setup_regs()
Date: Wed, 07 Jan 2009 14:16:05 +1100 [thread overview]
Message-ID: <1231298165.14860.56.camel@pasglop> (raw)
In-Reply-To: <20081217200935.GG4624@oksana.dev.rtsoft.ru>
On Wed, 2008-12-17 at 23:09 +0300, Anton Vorontsov wrote:
> The patch replaces internal registers dump implementation with
> ppc_save_regs(). From now on PPC64 and PPC32 are using the same
> code for crash_setup_regs().
>
> NOTE: The old regs dump implementation was capturing SP (r1) directly
> as is, so you could see crash_kexec() function on top of the back-trace.
> But ppc_save_regs() goes up one stack frame, so you'll not see it
> anymore, at the top-level you'll see who actually triggered the crash
> dump instead.
>
> Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com>
> ---
Note that ppc_save_regs() for some obscure reason isn't saving r1...
Is that a problem for you ? I think we should fix ppc_save_regs()
anyway, it doesn't matter for xmon to save one more register and it will
avoid nasty surprises in the long run.
Can you send an updated patch ?
Thanks !
Ben.
> p.s.
> The patch is the last in the series, so you can easily drop it
> until somebody actually test it (I don't have any PPC64 machine,
> so I'm looking for volunteers. :-)
>
> arch/powerpc/include/asm/kexec.h | 55 --------------------------------------
> 1 files changed, 0 insertions(+), 55 deletions(-)
>
> diff --git a/arch/powerpc/include/asm/kexec.h b/arch/powerpc/include/asm/kexec.h
> index 6dbffc9..7e06b43 100644
> --- a/arch/powerpc/include/asm/kexec.h
> +++ b/arch/powerpc/include/asm/kexec.h
> @@ -48,63 +48,8 @@ static inline void crash_setup_regs(struct pt_regs *newregs,
> {
> if (oldregs)
> memcpy(newregs, oldregs, sizeof(*newregs));
> -#ifdef __powerpc64__
> - else {
> - /* FIXME Merge this with xmon_save_regs ?? */
> - unsigned long tmp1, tmp2;
> - __asm__ __volatile__ (
> - "std 0,0(%2)\n"
> - "std 1,8(%2)\n"
> - "std 2,16(%2)\n"
> - "std 3,24(%2)\n"
> - "std 4,32(%2)\n"
> - "std 5,40(%2)\n"
> - "std 6,48(%2)\n"
> - "std 7,56(%2)\n"
> - "std 8,64(%2)\n"
> - "std 9,72(%2)\n"
> - "std 10,80(%2)\n"
> - "std 11,88(%2)\n"
> - "std 12,96(%2)\n"
> - "std 13,104(%2)\n"
> - "std 14,112(%2)\n"
> - "std 15,120(%2)\n"
> - "std 16,128(%2)\n"
> - "std 17,136(%2)\n"
> - "std 18,144(%2)\n"
> - "std 19,152(%2)\n"
> - "std 20,160(%2)\n"
> - "std 21,168(%2)\n"
> - "std 22,176(%2)\n"
> - "std 23,184(%2)\n"
> - "std 24,192(%2)\n"
> - "std 25,200(%2)\n"
> - "std 26,208(%2)\n"
> - "std 27,216(%2)\n"
> - "std 28,224(%2)\n"
> - "std 29,232(%2)\n"
> - "std 30,240(%2)\n"
> - "std 31,248(%2)\n"
> - "mfmsr %0\n"
> - "std %0, 264(%2)\n"
> - "mfctr %0\n"
> - "std %0, 280(%2)\n"
> - "mflr %0\n"
> - "std %0, 288(%2)\n"
> - "bl 1f\n"
> - "1: mflr %1\n"
> - "std %1, 256(%2)\n"
> - "mtlr %0\n"
> - "mfxer %0\n"
> - "std %0, 296(%2)\n"
> - : "=&r" (tmp1), "=&r" (tmp2)
> - : "b" (newregs)
> - : "memory");
> - }
> -#else
> else
> ppc_save_regs(newregs);
> -#endif /* __powerpc64__ */
> }
>
> extern void kexec_smp_wait(void); /* get and clear naca physid, wait for
next prev parent reply other threads:[~2009-01-07 3:16 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-17 20:06 [PATCH 0/7] Kdump support for classic PPC Anton Vorontsov
2008-12-17 20:08 ` [PATCH 1/7] powerpc: Prepare xmon_save_regs for use with kdump Anton Vorontsov
2008-12-17 20:13 ` Anton Vorontsov
2008-12-17 20:09 ` [PATCH 2/7] powerpc/32/kdump: Implement crash_setup_regs() using ppc_save_regs() Anton Vorontsov
2008-12-17 20:09 ` [PATCH 3/7] powerpc/32: Setup OF properties for kdump Anton Vorontsov
2008-12-21 1:44 ` Paul Mackerras
2008-12-21 3:29 ` Anton Vorontsov
2008-12-17 20:09 ` [PATCH 4/7] powerpc/32: Allow to ioremap RAM addresses for kdump kernel Anton Vorontsov
2008-12-17 20:09 ` [PATCH 5/7] powerpc/32: Add the ability for a classic ppc kernel to be loaded at 32M Anton Vorontsov
2008-12-17 20:09 ` [PATCH 6/7] powerpc/32: Wire up the trampoline code for kdump Anton Vorontsov
2008-12-17 20:09 ` [PATCH 7/7] powerpc/64/kdump: Use ppc_save_regs() in crash_setup_regs() Anton Vorontsov
2009-01-07 3:16 ` Benjamin Herrenschmidt [this message]
2009-01-07 4:04 ` Anton Vorontsov
2009-01-07 5:11 ` Benjamin Herrenschmidt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1231298165.14860.56.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=avorontsov@ru.mvista.com \
--cc=linuxppc-dev@ozlabs.org \
--cc=miltonm@bga.com \
--cc=paulus@samba.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.