xen, xen-tools: add recommendation for Qemu for non-hvm x86

The Spectre and Meltdown mitigations for Xen run PV guests within
HVM virtual machines, so Qemu is no longer only needed for systems
configured to run HVM guests.

With the split xen hypervisor and tools recipes, the bios dependencies
belong in the tools recipe, so move them and replace the hvm
PACKAGECONFIG option with the recommendation based on target arch.

Signed-off-by: Christopher Clark <christopher.clark@starlab.io>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
This commit is contained in:
Christopher Clark 2022-04-27 17:06:07 -07:00 committed by Bruce Ashfield
parent b9e18c1dae
commit da1e54ca79
2 changed files with 5 additions and 10 deletions

View File

@ -30,14 +30,9 @@ RDEPENDS:${PN} = "\
RDEPENDS:${PN}-dev = ""
# Qemu is necessary on ARM platforms, and to support HVM guests on x86
QEMU = "${@bb.utils.contains('PACKAGECONFIG', 'hvm', 'qemu', '', d)}"
QEMU:arm = "qemu"
QEMU:aarch64 = "qemu"
RRECOMMENDS:${PN} = " \
${QEMU} \
${@bb.utils.contains('PACKAGECONFIG', 'hvm', 'seabios', '', d)} \
qemu \
${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', 'seabios ipxe vgabios', '', d)} \
${@bb.utils.contains('PACKAGECONFIG', 'externalblktap', '', '${BLKTAP_RRECOMMENDS}', d)} \
${PN}-flask \
${PN}-hvmloader \

View File

@ -9,13 +9,11 @@ require xen-arch.inc
PACKAGECONFIG ??= " \
sdl \
${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', 'hvm', '', d)} \
"
PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,virtual/libsdl,"
PACKAGECONFIG[xsm] = "--enable-xsmpolicy,--disable-xsmpolicy,checkpolicy-native,"
PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd,"
PACKAGECONFIG[hvm] = "--with-system-seabios="/usr/share/firmware/bios.bin",--disable-seabios,seabios ipxe vgabios,"
PACKAGECONFIG[externalblktap] = ",,,"
DEPENDS = " \
@ -132,7 +130,9 @@ EXTRA_OECONF += " \
--disable-rombios \
--disable-ocamltools \
--disable-qemu-traditional \
${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', '--enable-pvshim', '--disable-pvshim', d)} \
${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', \
'--enable-pvshim --with-system-seabios="/usr/share/firmware/bios.bin"', \
'--disable-pvshim --disable-seabios', d)} \
"
EXTRA_OEMAKE += "STDVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.8a.bin"