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