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

From: tiejun.chen
Date: Tue Jul 09 2013 - 03:48:48 EST


On 07/02/2013 01:00 PM, Bhushan Bharat-R65777 wrote:


-----Original Message-----
From: Linuxppc-dev [mailto:linuxppc-dev-
bounces+bharat.bhushan=freescale.com@xxxxxxxxxxxxxxxx] On Behalf Of Tiejun Chen
Sent: Thursday, June 20, 2013 1:23 PM
To: benh@xxxxxxxxxxxxxxxxxxx
Cc: linuxppc-dev@xxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
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@xxxxxxxxxxxxx>
---

[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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/