|
|
1abbee |
From 795d7cadb7b49ae11e2544ce325779f8d5ec7526 Mon Sep 17 00:00:00 2001
|
|
|
1abbee |
From: Andrew Jones <drjones@redhat.com>
|
|
|
1abbee |
Date: Mon, 9 Nov 2015 14:29:09 +0100
|
|
|
1abbee |
Subject: [PATCH] detect-virt: dmi: look for KVM
|
|
|
1abbee |
|
|
|
1abbee |
Some guests (ARM, AArch64, x86-RHEL) have 'KVM' in the product name.
|
|
|
1abbee |
Look for that first in order to more precisely report "kvm" when
|
|
|
1abbee |
detecting a QEMU/KVM guest. Without this patch we report "qemu",
|
|
|
1abbee |
even if KVM acceleration is in use on ARM/AArch64 guests.
|
|
|
1abbee |
|
|
|
1abbee |
I've only tested a backported version of this and the previous
|
|
|
1abbee |
patch on an AArch64 guest (which worked). Of course it would be
|
|
|
1abbee |
nice to get regression testing on all guest types that depend on
|
|
|
1abbee |
dmi done.
|
|
|
1abbee |
|
|
|
1abbee |
Cherry-picked from: 3728dcde4542b7b2792d9ef0baeb742d82983b03
|
|
|
1abbee |
Resolves: #1278165
|
|
|
1abbee |
---
|
|
|
1abbee |
src/shared/virt.c | 2 ++
|
|
|
1abbee |
1 file changed, 2 insertions(+)
|
|
|
1abbee |
|
|
|
1abbee |
diff --git a/src/shared/virt.c b/src/shared/virt.c
|
|
Pablo Greco |
48fc63 |
index d3ce8dda7f..55a6ca90fb 100644
|
|
|
1abbee |
--- a/src/shared/virt.c
|
|
|
1abbee |
+++ b/src/shared/virt.c
|
|
|
1abbee |
@@ -142,12 +142,14 @@ static int detect_vm_dmi(const char **_id) {
|
|
|
1abbee |
#if defined(__i386__) || defined(__x86_64__) || defined(__arm__) || defined(__aarch64__)
|
|
|
1abbee |
|
|
|
1abbee |
static const char *const dmi_vendors[] = {
|
|
|
1abbee |
+ "/sys/class/dmi/id/product_name", /* Test this before sys_vendor to detect KVM over QEMU */
|
|
|
1abbee |
"/sys/class/dmi/id/sys_vendor",
|
|
|
1abbee |
"/sys/class/dmi/id/board_vendor",
|
|
|
1abbee |
"/sys/class/dmi/id/bios_vendor"
|
|
|
1abbee |
};
|
|
|
1abbee |
|
|
|
1abbee |
static const char dmi_vendor_table[] =
|
|
|
1abbee |
+ "KVM\0" "kvm\0"
|
|
|
1abbee |
"QEMU\0" "qemu\0"
|
|
|
1abbee |
/* http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1009458 */
|
|
|
1abbee |
"VMware\0" "vmware\0"
|