qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 8/9] PPC: Add u-boot firmware for e500


From: Alexander Graf
Subject: Re: [Qemu-devel] [PATCH 8/9] PPC: Add u-boot firmware for e500
Date: Fri, 16 May 2014 15:43:30 +0200
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.5.0


On 16.05.14 15:11, Gerd Hoffmann wrote:
   Hi,

+u-boot.e500:
+    # examples fail to honor cflags, just remove them
+    rm -rf u-boot/examples
+    sed -i 's/examples//g' u-boot/Makefile
+    # Make linker script biarch aware
+    sed -i 's/OUTPUT_ARCH(powerpc)/OUTPUT_ARCH(powerpc:common)/' \
+        u-boot/arch/powerpc/cpu/mpc85xx/u-boot.lds
Hmm.  Mucking with the source tree like this will leave the u-boot git
tree in a dirty state, which isn't exactly nice.  Fixable by sprinkling
in a "git reset --hard", but that obviously has other downsides, such as
seriously disturbing people trying to build a u-boot tree with local
changes.

Any chance to fix that without patching the source tree, by passing
SUBDIRS="<list-dirs-without-examples>" to $(MAKE) for example?
Or send patches to u-boot upstream to tackle this?

+    # Compile u-boot
+    $(MAKE) -C u-boot O=build.e500 qemu-ppce500_config
+    $(MAKE) -C u-boot CROSS_COMPILE=$(powerpc64_cross_prefix) \
+        O=build.e500 KCFLAGS=-m32 KAFLAGS=-m32 \
+        LDFLAGS=-melf32ppc KCPPFLAGS=-m32 V=1 u-boot.bin
+    strip u-boot/build.e500/u-boot -o ../pc-bios/u-boot.e500
$(powerpc64_cross_prefix)strip I guess ...

This is getting too messy. I guess we can live without supporting biarch compilers and just ask people to have a 32bit ppc compiler handy. Then things become a lot more sane.


Alex

diff --git a/roms/Makefile b/roms/Makefile
index 2721b02..610b534 100644
--- a/roms/Makefile
+++ b/roms/Makefile
@@ -31,6 +31,7 @@ find-cross-gcc = $(firstword $(wildcard $(patsubst %ld,%gcc,$(call find-cross-ld
 find-cross-prefix = $(subst gcc,,$(notdir $(call find-cross-gcc,$(1))))

 powerpc64_cross_prefix := $(call find-cross-prefix,powerpc64)
+powerpc_cross_prefix := $(call find-cross-prefix,powerpc)
 x86_64_cross_prefix := $(call find-cross-prefix,x86_64)

 #
@@ -55,6 +56,7 @@ default:
        @echo "  efirom         -- update nic roms (bios+efi, this needs"
@echo " the EfiRom utility from edk2 / tianocore)"
        @echo "  slof           -- update slof.bin"
+       @echo "  u-boot.e500    -- update u-boot.e500"

 bios: build-seabios-config-seabios-128k build-seabios-config-seabios-256k
        cp seabios/builds/seabios-128k/bios.bin ../pc-bios/bios.bin
@@ -132,6 +134,12 @@ slof:
        $(MAKE) -C SLOF CROSS=$(powerpc64_cross_prefix) qemu
        cp SLOF/boot_rom.bin ../pc-bios/slof.bin

+u-boot.e500:
+       $(MAKE) -C u-boot O=build.e500 qemu-ppce500_config
+       $(MAKE) -C u-boot CROSS_COMPILE=$(powerpc_cross_prefix) \
+               O=build.e500
+       $(powerpc_cross_prefix)strip u-boot/build.e500/u-boot -o \
+               ../pc-bios/u-boot.e500

 clean:
        rm -rf seabios/.config seabios/out seabios/builds
@@ -141,3 +149,4 @@ clean:
        rm -f sgabios/.depend
        $(MAKE) -C ipxe/src veryclean
        $(MAKE) -C SLOF clean
+       rm -rf u-boot/build.e500




reply via email to

[Prev in Thread] Current Thread [Next in Thread]