Add a configuration option to build the Unikernel as a valid,
loadable UEFI application. Make it depend on `ACPI` and, obviously,
on not having `PLAT_LINUXU` enabled.
Furthermore, remove default selection of the Multiboot boot protocol
if QEMU VMM is selected, now that a QEMU image can also be an EFI
image.
Signed-off-by: Sergiu Moga <sergiu.moga@protonmail.com>
Reviewed-by: Michalis Pappas <michalis@unikraft.io>
Approved-by: Razvan Deaconescu <razvand@unikraft.io>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #909
if (PLAT_KVM)
+choice
+ prompt "Booting environment"
+
config KVM_BOOT_PROTO_MULTIBOOT
bool "Multiboot"
depends on KVM_VMM_QEMU && !KVM_VMM_FIRECRACKER && ARCH_X86_64
help
Linux 64-bit Boot Protocol
+config KVM_BOOT_EFI_STUB
+ bool "EFI stub"
+ depends on KVM_VMM_QEMU && !KVM_VMM_FIRECRACKER
+ depends on OPTIMIZE_PIE
+ select UKPLAT_ACPI
+ help
+ Make Unikraft bootable by UEFI firmware
+
+endchoice
+
choice
prompt "Virtual Machine Monitor"
default KVM_VMM_QEMU
config KVM_VMM_QEMU
bool "QEMU"
- select KVM_BOOT_PROTO_MULTIBOOT
config KVM_VMM_FIRECRACKER
bool "Firecracker"