On Wed, Oct 23, 2013 at 05:31:23PM +0800, Tiejun Chen wrote: > Currently we need to skip this for supporting KGDB. > > Signed-off-by: Tiejun Chen <tiejun.c...@windriver.com> > > --- > arch/powerpc/kernel/exceptions-64e.S | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/arch/powerpc/kernel/exceptions-64e.S > b/arch/powerpc/kernel/exceptions-64e.S > index a55cf62..0b750c6 100644 > --- a/arch/powerpc/kernel/exceptions-64e.S > +++ b/arch/powerpc/kernel/exceptions-64e.S > @@ -597,11 +597,13 @@ kernel_dbg_exc: > rfdi > > /* Normal debug exception */ > +1: andi. r14,r11,MSR_PR; /* check for userspace again */ > +#ifndef CONFIG_KGDB > /* XXX We only handle coming from userspace for now since we can't > * quite save properly an interrupted kernel state yet > */ > -1: andi. r14,r11,MSR_PR; /* check for userspace again */ > beq kernel_dbg_exc; /* if from kernel mode */ > +#endif
Now that we have support for properly saving state on special level exceptions, that should be used here. With the above patch, what happens if e.g. a debug exception fires during a TLB miss, and the kgdb handler takes its own TLB miss accessing the serial port? -Scott _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev