Subject: Re: [v2][PATCH 1/7] powerpc/book3e: support CONFIG_RELOCATABLE

From: "tiejun.chen" <[email-masked]>
Date: Tue, 9 Jul 2013 15:49:14 +0800

On 07/02/2013 01:00 PM, Bhushan Bharat-R65777 wrote:
>
>
>> -----Original Message-----
>> From: Linuxppc-dev [mailto:linuxppc-dev-
>> bounces+bharat.bhushan=[email-masked]] On Behalf Of Tiejun Chen
>> Sent: Thursday, June 20, 2013 1:23 PM
>> To: [email-masked]
>> Cc: [email-masked]; [email-masked]
>> Subject: [v2][PATCH 1/7] powerpc/book3e: support CONFIG_RELOCATABLE
>>
>> book3e is different with book3s since 3s includes the exception
>> vectors code in head_64.S as it relies on absolute addressing
>> which is only possible within this compilation unit. So we have
>> to get that label address with got.
>>
>> And when boot a relocated kernel, we should reset ipvr properly again
>> after .relocate.
>>
>> Signed-off-by: Tiejun Chen <[email-masked]>
>> ---

[snip]

>>   	int *src, *dest;
>>   	unsigned long length;
>> +#ifdef CONFIG_PPC_BOOK3E
>> +	extern char interrupt_end_book3e[];
>> +#endif
>
> Cannot we do this in arch/powerpc/kernel/asm/sections.h
>
>>
>>   	if (PHYSICAL_START == 0)
>>   		return;
>>
>>   	src = (int *)(KERNELBASE + PHYSICAL_START);
>>   	dest = (int *)KERNELBASE;
>> +#ifdef CONFIG_PPC_BOOK3E
>> +	length = (interrupt_end_book3e - _stext) / sizeof(int);
>> +#else
>>   	length = (__end_interrupts - _stext) / sizeof(int);
>> +#endif
>
> can we keep same name in books and booke; __end_interrupts ? this way we can avoid such #ifdefs

Yes, I think I can simplify this as you pointed :)

Thanks,

Tiejun