[libvirt] [PATCH 4/5] qemu: Taint guests emulating a deprecated architecture
Andrea Bolognani
abologna at redhat.com
Sat Apr 1 15:52:05 UTC 2017
Having this in the log will make it easier for developer to
downgrade the priority of bugs that only affect deprecated
architectures and focus their efforts where it matters.
---
src/conf/domain_conf.c | 3 ++-
src/conf/domain_conf.h | 1 +
src/qemu/qemu_domain.c | 3 +++
src/util/virarch.h | 3 +++
4 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 1b0a55b..b290dcd 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -93,7 +93,8 @@ VIR_ENUM_IMPL(virDomainTaint, VIR_DOMAIN_TAINT_LAST,
"host-cpu",
"hook-script",
"cdrom-passthrough",
- "custom-dtb");
+ "custom-dtb",
+ "deprecated-architecture");
VIR_ENUM_IMPL(virDomainVirt, VIR_DOMAIN_VIRT_LAST,
"none",
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 47eaace..f2c54fe 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -2374,6 +2374,7 @@ typedef enum {
VIR_DOMAIN_TAINT_HOOK, /* Domain (possibly) changed via hook script */
VIR_DOMAIN_TAINT_CDROM_PASSTHROUGH,/* CDROM passthrough */
VIR_DOMAIN_TAINT_CUSTOM_DTB, /* Custom device tree blob was specified */
+ VIR_DOMAIN_TAINT_DEPRECATED_ARCH, /* Deprecated architecture */
VIR_DOMAIN_TAINT_LAST
} virDomainTaintFlags;
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 589eb18..0e9b8db 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -4222,6 +4222,9 @@ void qemuDomainObjCheckTaint(virQEMUDriverPtr driver,
if (obj->def->os.dtb)
qemuDomainObjTaint(driver, obj, VIR_DOMAIN_TAINT_CUSTOM_DTB, logCtxt);
+ if (ARCH_IS_DEPRECATED(obj->def->os.arch))
+ qemuDomainObjTaint(driver, obj, VIR_DOMAIN_TAINT_DEPRECATED_ARCH, logCtxt);
+
virObjectUnref(cfg);
}
diff --git a/src/util/virarch.h b/src/util/virarch.h
index af5ff83..80b3534 100644
--- a/src/util/virarch.h
+++ b/src/util/virarch.h
@@ -90,6 +90,9 @@ typedef enum {
# define ARCH_IS_S390(arch) ((arch) == VIR_ARCH_S390 ||\
(arch) == VIR_ARCH_S390X)
+# define ARCH_IS_DEPRECATED(arch) ((arch) == VIR_ARCH_X86_64 || \
+ (arch) == VIR_ARCH_I686)
+
typedef enum {
VIR_ARCH_LITTLE_ENDIAN,
VIR_ARCH_BIG_ENDIAN,
--
2.7.4
More information about the libvir-list
mailing list