diff options
author | Christopher Clark <christopher.w.clark@gmail.com> | 2022-04-27 17:06:07 -0700 |
---|---|---|
committer | Bruce Ashfield <bruce.ashfield@gmail.com> | 2022-05-09 08:08:20 -0400 |
commit | da1e54ca79f49c9c311fe5f74e192e743c4ece20 (patch) | |
tree | ba2fc28f1e3b53e0d4642f250f9c5bd5e2fdbabc | |
parent | b9e18c1dae0c0ad2251a36ada569323580115fe2 (diff) | |
download | meta-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.inc | 9 | ||||
-rw-r--r-- | recipes-extended/xen/xen.inc | 6 |
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 | ||
31 | RDEPENDS:${PN}-dev = "" | 31 | RDEPENDS:${PN}-dev = "" |
32 | 32 | ||
33 | # Qemu is necessary on ARM platforms, and to support HVM guests on x86 | ||
34 | QEMU = "${@bb.utils.contains('PACKAGECONFIG', 'hvm', 'qemu', '', d)}" | ||
35 | QEMU:arm = "qemu" | ||
36 | QEMU:aarch64 = "qemu" | ||
37 | |||
38 | RRECOMMENDS:${PN} = " \ | 33 | RRECOMMENDS:${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 | |||
9 | PACKAGECONFIG ??= " \ | 9 | PACKAGECONFIG ??= " \ |
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 | ||
15 | PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,virtual/libsdl," | 14 | PACKAGECONFIG[sdl] = "--enable-sdl,--disable-sdl,virtual/libsdl," |
16 | PACKAGECONFIG[xsm] = "--enable-xsmpolicy,--disable-xsmpolicy,checkpolicy-native," | 15 | PACKAGECONFIG[xsm] = "--enable-xsmpolicy,--disable-xsmpolicy,checkpolicy-native," |
17 | PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd," | 16 | PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd," |
18 | PACKAGECONFIG[hvm] = "--with-system-seabios="/usr/share/firmware/bios.bin",--disable-seabios,seabios ipxe vgabios," | ||
19 | PACKAGECONFIG[externalblktap] = ",,," | 17 | PACKAGECONFIG[externalblktap] = ",,," |
20 | 18 | ||
21 | DEPENDS = " \ | 19 | DEPENDS = " \ |
@@ -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 | ||
138 | EXTRA_OEMAKE += "STDVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.8a.bin" | 138 | EXTRA_OEMAKE += "STDVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.8a.bin" |