summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniil Baturin <daniil@baturin.org>2019-01-20 17:17:38 +0000
committerDaniil Baturin <daniil@baturin.org>2019-01-20 17:17:38 +0000
commit91dc79ab8685dde591b59c2fd4aa4b5fd809d893 (patch)
tree154de9a10a962e72b1ee08b5ef13952038fa1527
parent9d5df5a1b305e0f44e87a25dbab9fb0f99b6130f (diff)
downloadhvinfo-91dc79ab8685dde591b59c2fd4aa4b5fd809d893.tar.gz
hvinfo-91dc79ab8685dde591b59c2fd4aa4b5fd809d893.zip
Add support for detecting QEMU on x86.
Side effect: KVM on ARM64 is detected as QEMU (maybe better than not detecting anything).
-rw-r--r--src/hypervisor_check.adb2
-rw-r--r--src/hypervisor_check.ads2
2 files changed, 4 insertions, 0 deletions
diff --git a/src/hypervisor_check.adb b/src/hypervisor_check.adb
index 9923d27..4619b30 100644
--- a/src/hypervisor_check.adb
+++ b/src/hypervisor_check.adb
@@ -197,6 +197,8 @@ package body Hypervisor_Check is
Vendor_Name := US.To_Unbounded_String (VirtualBox);
elsif Contains (Vendor_String, Parallels_DMI_Pattern) then
Vendor_Name := US.To_Unbounded_String (Parallels);
+ elsif Contains (Vendor_String, QEMU_DMI_Pattern) then
+ Vendor_Name := US.To_Unbounded_String (QEMU);
else
Vendor_Name := US.Null_Unbounded_String;
end if;
diff --git a/src/hypervisor_check.ads b/src/hypervisor_check.ads
index 3bb84be..3c62f5c 100644
--- a/src/hypervisor_check.ads
+++ b/src/hypervisor_check.ads
@@ -62,6 +62,7 @@ package Hypervisor_Check is
VirtualBox : constant String := "VirtualBox";
Parallels : constant String := "Parallels";
bhyve : constant String := "bhyve";
+ QEMU : constant String := "QEMU";
private
@@ -83,6 +84,7 @@ private
HyperV_DMI_Pattern : constant String := "Microsoft Corporation";
VirtualBox_DMI_Pattern : constant String := "innotek GmbH";
Parallels_DMI_Pattern : constant String := "Parallels";
+ QEMU_DMI_Pattern : constant String := "QEMU";
function CPUID (Arg : Unsigned_32) return CPUID_Registers;