summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2014-01-20 00:25:40 +0100
committerAlexander Graf <agraf@suse.de>2014-06-16 13:24:35 +0200
commit4e73c781923fd5b7608db65156cfa72c4b31ba1d (patch)
tree5887444a0ab4a99b7a3285cb350f8cae1e536e87
parent903585dec63ee83bd8149006e31f92ea789b38e3 (diff)
downloadqemu-4e73c781923fd5b7608db65156cfa72c4b31ba1d.zip
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>
-rw-r--r--.gitmodules3
-rwxr-xr-xconfigure1
-rw-r--r--pc-bios/README5
-rwxr-xr-xpc-bios/u-boot.e500bin0 -> 330260 bytes
-rw-r--r--roms/Makefile9
m---------roms/u-boot0
6 files changed, 18 insertions, 0 deletions
diff --git a/.gitmodules b/.gitmodules
index 444c24a993..9da9ede261 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 dfbe75ee75..9d5018982f 100755
--- a/configure
+++ b/configure
@@ -5213,6 +5213,7 @@ for bios_file in \
$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 4381718e15..49cdacfaa5 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 0000000000..bdb2a5e6f7
--- /dev/null
+++ b/pc-bios/u-boot.e500
Binary files differ
diff --git a/roms/Makefile b/roms/Makefile
index 2721b02b13..610b534628 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
diff --git a/roms/u-boot b/roms/u-boot
new file mode 160000
+Subproject 2072e7262965bb48d7fffb1e283101e6ed8b21a