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 c5c474169d..19792c9a11 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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%0AbY1UFfat%{r_JWq=tck!GnQ;VFgqy6(r^c3O`3s z_&I{Y&k+=UOnzL4`2-w~@$onw=i_iZ%E#i!?TRMC0CB??1_p+lyZ`@#mnONw{SXcF z1889tH*mn|uHNZ-&~}3i4Y!Ga@XV`5c%^`8-_sd|dbf{4kAi z;&W(bZDnd>X=etRcL&sqy!ZeAY<%Wr<1x<#VO|LX1A`7D1H+qp|NobOvM6>x2QYoX z;%P^2rlWijE_^XAdw1o6c<@+o&|NlYh zoWYq-z@1OVkxwB6lyn(Db0NbVDNbK|354YL9+q@P%&$eec*iO%qNk+1<7>I+<_1VBp=r>GB89u z`u`skULZF$Gl9a%4<1e+^A<2NFmycn{~yE#sc8qP351&G#0^q>92CJI`7@yW`sn|E zePp|Xp=wi~s+>gIZC6Sn{?b zp9Iqu%;Jo z{Ei7rVt3{Sl^rn*3=C5~{{Qa{4FgcR6ku|Nr%RCep!HU`+yHVvNX?s%|Nny)aD&_r z&7Y2Z0!&F70`kHr9u0xf5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R z7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7 zfzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c z4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C z(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R z7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7 zfzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c z4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C(GVC7fzc2c4S~@R7!85Z5Eu=C z(GVC7fzc4a9s-63`fl_c=zGxjqVK{Uh8li_18J)N|No!Q!^p36KrfA-QS9aav{!5X z|NqaykhVjB0ipU80|Q79X6*m}3=9mj&ohAO$q<@% F695IQ1&jay literal 0 HcmV?d00001 diff --git a/roms/Makefile b/roms/Makefile index da4efa47a9..c150170519 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 0000000000..cb1c49e0cf --- /dev/null +++ b/roms/qboot @@ -0,0 +1 @@ +Subproject commit cb1c49e0cfac99b9961d136ac0194da62c28cf64