Subject: Re: [PATCH 2/2] PPC_BOOK3E/KGDB: support kgdb kernel space

From: "tiejun.chen" <[email-masked]>
Date: Thu, 18 Oct 2012 09:47:17 +0800

On 10/17/2012 08:07 PM, Andreas Schwab wrote:
> Tiejun Chen <[email-masked]> writes:
>
>> diff --git a/arch/powerpc/kernel/exceptions-64e.S b/arch/powerpc/kernel/exceptions-64e.S
>> index 4684e33..ed5862d 100644
>> --- a/arch/powerpc/kernel/exceptions-64e.S
>> +++ b/arch/powerpc/kernel/exceptions-64e.S
>> @@ -539,11 +539,15 @@ kernel_dbg_exc:
>>   	rfdi
>>
>>   	/* Normal debug exception */
>> +#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 */
>> +#else
>> +1:
>> +#endif
>
> You could move the label before the conditional.

Okay.

diff --git a/arch/powerpc/kernel/exceptions-64e.S 
b/arch/powerpc/kernel/exceptions-64e.S
index 4684e33..73ce1a7 100644
--- a/arch/powerpc/kernel/exceptions-64e.S
+++ b/arch/powerpc/kernel/exceptions-64e.S
@@ -538,12 +538,15 @@ kernel_dbg_exc:
         mfspr   r13,SPRN_SPRG_DBG_SCRATCH
         rfdi

+1:
         /* Normal debug exception */
+#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 */
+       andi.   r14,r11,MSR_PR;         /* check for userspace again */
         beq     kernel_dbg_exc;         /* if from kernel mode */
+#endif

         /* Now we mash up things to make it look like we are coming on a
          * normal exception
...

Tiejun