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 08:08:20 -0400
commitda1e54ca79f49c9c311fe5f74e192e743c4ece20 (patch)
treeba2fc28f1e3b53e0d4642f250f9c5bd5e2fdbabc
parentb9e18c1dae0c0ad2251a36ada569323580115fe2 (diff)
downloadmeta-virtualization-da1e54ca79f49c9c311fe5f74e192e743c4ece20.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"