[PATCH 2.6.12-rc2] ppc32: Fix building 32bit kernel for 64bit machines (Was: Re: linux 2.6.12-rc1-bk5 compilation error)
Tom Rini
trini at kernel.crashing.org
Sat Apr 9 01:34:07 EST 2005
On Fri, Apr 08, 2005 at 11:13:19AM +0100, Jerome Glisse wrote:
> > I think you're the only person building a zImage for a 32bit kernel with
> > a 64bit toolchain for MULTIPLATFORM, yes. :)
>
> I should move to 64bits :)
>
> > This is a valid problem, however. Does the following also work for you?
>
> It partly works (correct the problem with disable_6xx_mmu)
> but i still have to the following for resolving __flush_disable_L1
>
> I changed the makefile in arch/ppc/kernel to have this :
> obj-$(CONFIG_POWER4) += cpu_setup_power4.o
> into :
> obj-$(CONFIG_POWER4) += l2cr.o cpu_setup_power4.o
OK, I think the following is a better workaround for that (based on
arch/ppc/platforms/pmac_sleep.S):
When building a ppc32 MULTIPLATFORM kernel for a 64bit pmac, we try and
build certain files or use certain functions that make no sense in that
context. This catches the last of these.
Signed-off-by: Tom Rini <trini at kernel.crashing.org>
--- linux-2.6.orig/arch/ppc/platforms/pmac_cache.S
+++ linux-2.6/arch/ppc/platforms/pmac_cache.S
@@ -28,6 +28,9 @@
*/
_GLOBAL(flush_disable_caches)
+#ifndef CONFIG_6xx
+ blr
+#else
BEGIN_FTR_SECTION
b flush_disable_745x
END_FTR_SECTION_IFSET(CPU_FTR_SPEC7450)
@@ -323,3 +326,4 @@ END_FTR_SECTION_IFSET(CPU_FTR_L3CR)
mtmsr r11 /* restore DR and EE */
isync
blr
+#endif /* CONFIG_6xx */
--- linux-2.6.orig/arch/ppc/boot/simple/Makefile
+++ linux-2.6/arch/ppc/boot/simple/Makefile
@@ -123,10 +123,13 @@ zimageinitrd-$(pcore) := zImage.initrd
end-$(pcore) := pcore
cacheflag-$(pcore) := -include $(clear_L2_L3)
+# Really only valid if CONFIG_6xx=y
zimage-$(CONFIG_PPC_PREP) := zImage-PPLUS
zimageinitrd-$(CONFIG_PPC_PREP) := zImage.initrd-PPLUS
+ifeq ($(CONFIG_6xx),y)
extra.o-$(CONFIG_PPC_PREP) := prepmap.o
misc-$(CONFIG_PPC_PREP) += misc-prep.o mpc10x_memory.o
+endif
end-$(CONFIG_PPC_PREP) := prep
end-$(CONFIG_SANDPOINT) := sandpoint
--
Tom Rini
http://gate.crashing.org/~trini/
More information about the Linuxppc-dev
mailing list