From 0d5fae3e52e8a6b1068e53ebb87e96702246529e Mon Sep 17 00:00:00 2001 From: Sergio Lopez Date: Mon, 30 Sep 2019 17:36:58 +0200 Subject: [PATCH] roms: add microvm-bios (qboot) as binary and git submodule qboot is a minimalist x86 firmware for booting Linux kernels. It does the mininum amount of work required for the task, and it's able to boot both PVH images and bzImages without relying on option roms. This characteristics make it an ideal companion for the microvm machine type. Signed-off-by: Sergio Lopez Reviewed-by: Stefano Garzarella Reviewed-by: Michael S. Tsirkin --- .gitmodules | 3 +++ pc-bios/bios-microvm.bin | Bin 0 -> 65536 bytes roms/Makefile | 6 ++++++ roms/qboot | 1 + 4 files changed, 10 insertions(+) create mode 100644 pc-bios/bios-microvm.bin create mode 160000 roms/qboot diff --git a/.gitmodules b/.gitmodules index c5c474169dc..19792c9a11a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -58,3 +58,6 @@ [submodule "roms/opensbi"] path = roms/opensbi url = https://git.qemu.org/git/opensbi.git +[submodule "roms/qboot"] + path = roms/qboot + url = https://github.com/bonzini/qboot diff --git a/pc-bios/bios-microvm.bin b/pc-bios/bios-microvm.bin new file mode 100644 index 0000000000000000000000000000000000000000..45eabc516692e2d134bbb630d133c7c2dcc9a9b6 GIT binary patch literal 65536 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 v&}8AHb_X|3eTL((F%3( literal 0 Hc-jL100001 diff --git a/roms/Makefile b/roms/Makefile index da4efa47a92..c1501705193 100644 --- a/roms/Makefile +++ b/roms/Makefile @@ -67,6 +67,7 @@ default help: @echo " opensbi32-virt -- update OpenSBI for 32-bit virt machine" @echo " opensbi64-virt -- update OpenSBI for 64-bit virt machine" @echo " opensbi64-sifive_u -- update OpenSBI for 64-bit sifive_u machine" + @echo " bios-microvm -- update bios-microvm.bin (qboot)" @echo " clean -- delete the files generated by the previous" \ "build targets" @@ -186,6 +187,10 @@ opensbi64-sifive_u: PLATFORM="sifive/fu540" cp opensbi/build/platform/sifive/fu540/firmware/fw_jump.bin ../pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin +bios-microvm: + $(MAKE) -C qboot + cp qboot/bios.bin ../pc-bios/bios-microvm.bin + clean: rm -rf seabios/.config seabios/out seabios/builds $(MAKE) -C sgabios clean @@ -198,3 +203,4 @@ clean: $(MAKE) -C skiboot clean $(MAKE) -f Makefile.edk2 clean $(MAKE) -C opensbi clean + $(MAKE) -C qboot clean diff --git a/roms/qboot b/roms/qboot new file mode 160000 index 00000000000..cb1c49e0cfa --- /dev/null +++ b/roms/qboot @@ -0,0 +1 @@ +Subproject commit cb1c49e0cfac99b9961d136ac0194da62c28cf64 -- 2.39.5