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 <slp@redhat.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Sergio Lopez 2019-09-30 17:36:58 +02:00 committed by Paolo Bonzini
parent 78cafff810
commit 0d5fae3e52
4 changed files with 10 additions and 0 deletions

3
.gitmodules vendored
View File

@ -58,3 +58,6 @@
[submodule "roms/opensbi"] [submodule "roms/opensbi"]
path = roms/opensbi path = roms/opensbi
url = https://git.qemu.org/git/opensbi.git url = https://git.qemu.org/git/opensbi.git
[submodule "roms/qboot"]
path = roms/qboot
url = https://github.com/bonzini/qboot

BIN
pc-bios/bios-microvm.bin Normal file

Binary file not shown.

View File

@ -67,6 +67,7 @@ default help:
@echo " opensbi32-virt -- update OpenSBI for 32-bit virt machine" @echo " opensbi32-virt -- update OpenSBI for 32-bit virt machine"
@echo " opensbi64-virt -- update OpenSBI for 64-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 " 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" \ @echo " clean -- delete the files generated by the previous" \
"build targets" "build targets"
@ -186,6 +187,10 @@ opensbi64-sifive_u:
PLATFORM="sifive/fu540" PLATFORM="sifive/fu540"
cp opensbi/build/platform/sifive/fu540/firmware/fw_jump.bin ../pc-bios/opensbi-riscv64-sifive_u-fw_jump.bin 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: clean:
rm -rf seabios/.config seabios/out seabios/builds rm -rf seabios/.config seabios/out seabios/builds
$(MAKE) -C sgabios clean $(MAKE) -C sgabios clean
@ -198,3 +203,4 @@ clean:
$(MAKE) -C skiboot clean $(MAKE) -C skiboot clean
$(MAKE) -f Makefile.edk2 clean $(MAKE) -f Makefile.edk2 clean
$(MAKE) -C opensbi clean $(MAKE) -C opensbi clean
$(MAKE) -C qboot clean

1
roms/qboot Submodule

@ -0,0 +1 @@
Subproject commit cb1c49e0cfac99b9961d136ac0194da62c28cf64