summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristopher Clark <christopher.w.clark@gmail.com>2022-04-27 17:06:07 -0700
committerBruce Ashfield <bruce.ashfield@gmail.com>2022-05-09 09:57:24 -0400
commit80047c7461cae87db9dda0f204322723638f9a55 (patch)
treeba2fc28f1e3b53e0d4642f250f9c5bd5e2fdbabc
parent3f11bc1b6b56c503ca2b52826ce78151d287a1dd (diff)
downloadmeta-virtualization-80047c7461cae87db9dda0f204322723638f9a55.tar.gz
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>
-rw-r--r--recipes-extended/xen/xen-tools.inc9
-rw-r--r--recipes-extended/xen/xen.inc6
2 files changed, 5 insertions, 10 deletions
diff --git a/recipes-extended/xen/xen-tools.inc b/recipes-extended/xen/xen-tools.inc
index d4999777..d47309a7 100644
--- a/recipes-extended/xen/xen-tools.inc
+++ b/recipes-extended/xen/xen-tools.inc
@@ -30,14 +30,9 @@ RDEPENDS:${PN} = "\
30 30
31RDEPENDS:${PN}-dev = "" 31RDEPENDS:${PN}-dev = ""
32 32
33# Qemu is necessary on ARM platforms, and to support HVM guests on x86
34QEMU = "${@bb.utils.contains('PACKAGECONFIG', 'hvm', 'qemu', '', d)}"
35QEMU:arm = "qemu"
36QEMU:aarch64 = "qemu"
37
38RRECOMMENDS:${PN} = " \ 33RRECOMMENDS:${PN} = " \
39 ${QEMU} \ 34 qemu \
40 ${@bb.utils.contains('PACKAGECONFIG', 'hvm', 'seabios', '', d)} \ 35 ${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', 'seabios ipxe vgabios', '', d)} \
41 ${@bb.utils.contains('PACKAGECONFIG', 'externalblktap', '', '${BLKTAP_RRECOMMENDS}', d)} \ 36 ${@bb.utils.contains('PACKAGECONFIG', 'externalblktap', '', '${BLKTAP_RRECOMMENDS}', d)} \
42 ${PN}-flask \ 37 ${PN}-flask \
43 ${PN}-hvmloader \ 38 ${PN}-hvmloader \
diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc
index bb7bdb8b..d352ffb8 100644
--- a/recipes-extended/xen/xen.inc
+++ b/recipes-extended/xen/xen.inc
@@ -9,13 +9,11 @@ require xen-arch.inc
9PACKAGECONFIG ??= " \ 9PACKAGECONFIG ??= " \
10 sdl \ 10 sdl \
11 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ 11 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
12 ${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', 'hvm', '', d)} \
13 " 12 "
14 13
15PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,virtual/libsdl," 14PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,virtual/libsdl,"
16PACKAGECONFIG[xsm] = "--enable-xsmpolicy,--disable-xsmpolicy,checkpolicy-native," 15PACKAGECONFIG[xsm] = "--enable-xsmpolicy,--disable-xsmpolicy,checkpolicy-native,"
17PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd," 16PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd,"
18PACKAGECONFIG[hvm] = "--with-system-seabios="/usr/share/firmware/bios.bin",--disable-seabios,seabios ipxe vgabios,"
19PACKAGECONFIG[externalblktap] = ",,," 17PACKAGECONFIG[externalblktap] = ",,,"
20 18
21DEPENDS = " \ 19DEPENDS = " \
@@ -132,7 +130,9 @@ EXTRA_OECONF += " \
132 --disable-rombios \ 130 --disable-rombios \
133 --disable-ocamltools \ 131 --disable-ocamltools \
134 --disable-qemu-traditional \ 132 --disable-qemu-traditional \
135 ${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', '--enable-pvshim', '--disable-pvshim', d)} \ 133 ${@bb.utils.contains('XEN_TARGET_ARCH', 'x86_64', \
134 '--enable-pvshim --with-system-seabios="/usr/share/firmware/bios.bin"', \
135 '--disable-pvshim --disable-seabios', d)} \
136 " 136 "
137 137
138EXTRA_OEMAKE += "STDVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.8a.bin" 138EXTRA_OEMAKE += "STDVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.8a.bin"