[v6,3/5] powerpc/book3e: support kgdb for kernel space
Scott Wood
scottwood at freescale.com
Sat May 10 05:36:14 EST 2014
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.chen at 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
More information about the Linuxppc-dev
mailing list