Browse Source

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>
Sergio Lopez 5 năm trước cách đây
mục cha
commit
0d5fae3e52
4 tập tin đã thay đổi với 10 bổ sung0 xóa
  1. 3 0
      .gitmodules
  2. BIN
      pc-bios/bios-microvm.bin
  3. 6 0
      roms/Makefile
  4. 1 0
      roms/qboot

+ 3 - 0
.gitmodules

@@ -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


+ 6 - 0
roms/Makefile

@@ -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 - 0
roms/qboot

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