PPC: Add u-boot firmware for e500
This adds a special build of u-boot tailored for the e500 platforms we
emulate. It is based on the current version of upstream u-boot which
contains all the code necessary to drive our QEMU provided machines.
Signed-off-by: Alexander Graf <agraf@suse.de>
diff --git a/.gitmodules b/.gitmodules
index 444c24a..9da9ede 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -28,3 +28,6 @@
[submodule "dtc"]
path = dtc
url = git://git.qemu-project.org/dtc.git
+[submodule "roms/u-boot"]
+ path = roms/u-boot
+ url = git://git.qemu-project.org/u-boot.git
diff --git a/configure b/configure
index dfbe75e..9d50189 100755
--- a/configure
+++ b/configure
@@ -5213,6 +5213,7 @@
$source_path/pc-bios/*.dtb \
$source_path/pc-bios/*.img \
$source_path/pc-bios/openbios-* \
+ $source_path/pc-bios/u-boot.* \
$source_path/pc-bios/palcode-*
do
FILES="$FILES pc-bios/`basename $bios_file`"
diff --git a/pc-bios/README b/pc-bios/README
index 4381718..49cdacf 100644
--- a/pc-bios/README
+++ b/pc-bios/README
@@ -41,3 +41,8 @@
- The sources for the Alpha palcode image is available from:
git://github.com/rth7680/qemu-palcode.git
+
+- The u-boot binary for e500 comes from the upstream denx u-boot project where
+ it was compiled using the qemu-ppce500 target.
+ A git mirror is available at: git://git.qemu-project.org/u-boot.git
+ The hash used to compile the current version is: 2072e72
diff --git a/pc-bios/u-boot.e500 b/pc-bios/u-boot.e500
new file mode 100755
index 0000000..bdb2a5e
--- /dev/null
+++ b/pc-bios/u-boot.e500
Binary files differ
diff --git a/roms/Makefile b/roms/Makefile
index 2721b02..610b534 100644
--- a/roms/Makefile
+++ b/roms/Makefile
@@ -31,6 +31,7 @@
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 @@
@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 @@
$(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 @@
rm -f sgabios/.depend
$(MAKE) -C ipxe/src veryclean
$(MAKE) -C SLOF clean
+ rm -rf u-boot/build.e500
diff --git a/roms/u-boot b/roms/u-boot
new file mode 160000
index 0000000..2072e72
--- /dev/null
+++ b/roms/u-boot
@@ -0,0 +1 @@
+Subproject commit 2072e7262965bb48d7fffb1e283101e6ed8b21a8