Skip to contentSkip to conversation

powerpc: Add a new platform for maple so a different link address can be set

PATCH New Corey Minyard 1 participant 1 message Jan 30, 2010 PowerPC

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 powerpc: Add a new platform for maple so a different link address can be set

From: Corey Minyard <[email protected]>

The maple platform failed to load because it's firmware could not take a link address of 0x4000000. A new platform type with a link address of 0x400000 had to be created for the maple.

---
Without this patch the firmware loader says it is unable to parse the ELF header and dies. This patch lets 2.6.31 boot without issue. At the current head of k.org git, at least with an NFS mount, I'm getting:

  Kernel panic - not syncing: No init found

So I'm not sure what the deal is there, but this patch is still required to get the firmware to load the kernel.

arch/powerpc/boot/wrapper +5 -1
Index: linux-2.6.31/arch/powerpc/boot/wrapper
===================================================================
@@ -145,6 +145,10 @@ pseries)
     platformo=$object/of.o
     link_address='0x4000000'
     ;;
+maple)
+    platformo=$object/of.o
+    link_address='0x400000'
+    ;;
 pmac|chrp)
     platformo=$object/of.o
     ;;
@@ -313,7 +319,7 @@ fi
 
 # post-processing needed for some platforms
 case "$platform" in
-pseries|chrp)
+pseries|chrp|maple)
     $objbin/addnote "$ofile"
     ;;
 coff)
arch/powerpc/boot/Makefile +2 -2
Index: linux-2.6.31/arch/powerpc/boot/Makefile
===================================================================
@@ -167,7 +167,7 @@ quiet_cmd_wrap	= WRAP    $@
 		$(if $3, -s $3)$(if $4, -d $4)$(if $5, -i $5) vmlinux
 
 image-$(CONFIG_PPC_PSERIES)		+= zImage.pseries
-image-$(CONFIG_PPC_MAPLE)		+= zImage.pseries
+image-$(CONFIG_PPC_MAPLE)		+= zImage.maple
 image-$(CONFIG_PPC_IBM_CELL_BLADE)	+= zImage.pseries
 image-$(CONFIG_PPC_PS3)			+= dtbImage.ps3
 image-$(CONFIG_PPC_CELLEB)		+= zImage.pseries
@@ -346,7 +346,7 @@ install: $(CONFIGURE) $(addprefix $(obj)
 clean-files += $(image-) $(initrd-) cuImage.* dtbImage.* treeImage.* \
 	zImage zImage.initrd zImage.chrp zImage.coff zImage.holly \
 	zImage.iseries zImage.miboot zImage.pmac zImage.pseries \
-	simpleImage.* otheros.bld *.dtb
+	zImage.maple simpleImage.* otheros.bld *.dtb
 
 # clean up files cached by wrapper
 clean-kernel := vmlinux.strip vmlinux.bin