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

tiejun.chen tiejun.chen at windriver.com
Tue Jul 9 17:49:14 EST 2013


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


More information about the Linuxppc-dev mailing list