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

tiejun.chen
2013-07-09T07:48:45Z

On 07/02/2013 01:00 PM, Bhushan Bharat-R65777 wrote:
>
>
>> -----Original Message-----
>> From: Linuxppc-dev [mailto:linuxppc-dev-
>> bounces+bharat.bhushan=freescale.com@lists.ozlabs.org] On Behalf Of Tiejun Chen
>> Sent: Thursday, June 20, 2013 1:23 PM
>> To: benh@kernel.crashing.org
>> Cc: linuxppc-dev@lists.ozlabs.org; linux-kernel@vger.kernel.org
>> 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 <tiejun.chen@windriver.com>
>> ---

[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