Browse Source

[PATCH] ppc32: Fix building 32bit kernel for 64bit machines

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@kernel.crashing.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Tom Rini 20 năm trước cách đây
mục cha
commit
ef2f3253f0

+ 3 - 0
arch/ppc/boot/simple/Makefile

@@ -123,10 +123,13 @@ zimageinitrd-$(pcore)			:= zImage.initrd-STRIPELF
          end-$(pcore)			:= pcore
          end-$(pcore)			:= pcore
    cacheflag-$(pcore)			:= -include $(clear_L2_L3)
    cacheflag-$(pcore)			:= -include $(clear_L2_L3)
 
 
+# Really only valid if CONFIG_6xx=y
       zimage-$(CONFIG_PPC_PREP)		:= zImage-PPLUS
       zimage-$(CONFIG_PPC_PREP)		:= zImage-PPLUS
 zimageinitrd-$(CONFIG_PPC_PREP)		:= zImage.initrd-PPLUS
 zimageinitrd-$(CONFIG_PPC_PREP)		:= zImage.initrd-PPLUS
+ifeq ($(CONFIG_6xx),y)
      extra.o-$(CONFIG_PPC_PREP)		:= prepmap.o
      extra.o-$(CONFIG_PPC_PREP)		:= prepmap.o
         misc-$(CONFIG_PPC_PREP)		+= misc-prep.o mpc10x_memory.o
         misc-$(CONFIG_PPC_PREP)		+= misc-prep.o mpc10x_memory.o
+endif
          end-$(CONFIG_PPC_PREP)		:= prep
          end-$(CONFIG_PPC_PREP)		:= prep
 
 
          end-$(CONFIG_SANDPOINT)	:= sandpoint
          end-$(CONFIG_SANDPOINT)	:= sandpoint

+ 4 - 0
arch/ppc/platforms/pmac_cache.S

@@ -28,6 +28,9 @@
  */
  */
 
 
 _GLOBAL(flush_disable_caches)
 _GLOBAL(flush_disable_caches)
+#ifndef CONFIG_6xx
+	blr
+#else
 BEGIN_FTR_SECTION
 BEGIN_FTR_SECTION
 	b	flush_disable_745x
 	b	flush_disable_745x
 END_FTR_SECTION_IFSET(CPU_FTR_SPEC7450)
 END_FTR_SECTION_IFSET(CPU_FTR_SPEC7450)
@@ -323,3 +326,4 @@ END_FTR_SECTION_IFSET(CPU_FTR_L3CR)
 	mtmsr	r11		/* restore DR and EE */
 	mtmsr	r11		/* restore DR and EE */
 	isync
 	isync
 	blr
 	blr
+#endif	/* CONFIG_6xx */