virt: Support detection of Apple Virtualization.framework guests

This commit is contained in:
Zhaofeng Li
2022-08-24 09:34:54 +02:00
committed by Lennart Poettering
parent ce0a056abc
commit f555830674
4 changed files with 24 additions and 15 deletions
+6 -1
View File
@@ -62,7 +62,7 @@
</thead>
<tbody>
<row>
<entry valign="top" morerows="14">VM</entry>
<entry valign="top" morerows="15">VM</entry>
<entry><varname>qemu</varname></entry>
<entry>QEMU software virtualization, without KVM</entry>
</row>
@@ -137,6 +137,11 @@
<entry><ulink url="https://projectacrn.org">ACRN hypervisor</ulink></entry>
</row>
<row>
<entry><varname>apple</varname></entry>
<entry><ulink url="https://developer.apple.com/documentation/virtualization">Apple Virtualization.framework</ulink></entry>
</row>
<row>
<entry valign="top" morerows="9">Container</entry>
<entry><varname>openvz</varname></entry>
+1
View File
@@ -1263,6 +1263,7 @@
<literal>uml</literal>,
<literal>bhyve</literal>,
<literal>qnx</literal>,
<literal>apple</literal>,
<literal>openvz</literal>,
<literal>lxc</literal>,
<literal>lxc-libvirt</literal>,
+16 -14
View File
@@ -156,21 +156,22 @@ static Virtualization detect_vm_dmi_vendor(void) {
const char *vendor;
Virtualization id;
} dmi_vendor_table[] = {
{ "KVM", VIRTUALIZATION_KVM },
{ "OpenStack", VIRTUALIZATION_KVM }, /* Detect OpenStack instance as KVM in non x86 architecture */
{ "KubeVirt", VIRTUALIZATION_KVM }, /* Detect KubeVirt instance as KVM in non x86 architecture */
{ "Amazon EC2", VIRTUALIZATION_AMAZON },
{ "QEMU", VIRTUALIZATION_QEMU },
{ "VMware", VIRTUALIZATION_VMWARE }, /* https://kb.vmware.com/s/article/1009458 */
{ "VMW", VIRTUALIZATION_VMWARE },
{ "innotek GmbH", VIRTUALIZATION_ORACLE },
{ "VirtualBox", VIRTUALIZATION_ORACLE },
{ "Xen", VIRTUALIZATION_XEN },
{ "Bochs", VIRTUALIZATION_BOCHS },
{ "Parallels", VIRTUALIZATION_PARALLELS },
{ "KVM", VIRTUALIZATION_KVM },
{ "OpenStack", VIRTUALIZATION_KVM }, /* Detect OpenStack instance as KVM in non x86 architecture */
{ "KubeVirt", VIRTUALIZATION_KVM }, /* Detect KubeVirt instance as KVM in non x86 architecture */
{ "Amazon EC2", VIRTUALIZATION_AMAZON },
{ "QEMU", VIRTUALIZATION_QEMU },
{ "VMware", VIRTUALIZATION_VMWARE }, /* https://kb.vmware.com/s/article/1009458 */
{ "VMW", VIRTUALIZATION_VMWARE },
{ "innotek GmbH", VIRTUALIZATION_ORACLE },
{ "VirtualBox", VIRTUALIZATION_ORACLE },
{ "Xen", VIRTUALIZATION_XEN },
{ "Bochs", VIRTUALIZATION_BOCHS },
{ "Parallels", VIRTUALIZATION_PARALLELS },
/* https://wiki.freebsd.org/bhyve */
{ "BHYVE", VIRTUALIZATION_BHYVE },
{ "Hyper-V", VIRTUALIZATION_MICROSOFT },
{ "BHYVE", VIRTUALIZATION_BHYVE },
{ "Hyper-V", VIRTUALIZATION_MICROSOFT },
{ "Apple Virtualization", VIRTUALIZATION_APPLE },
};
int r;
@@ -1018,6 +1019,7 @@ static const char *const virtualization_table[_VIRTUALIZATION_MAX] = {
[VIRTUALIZATION_QNX] = "qnx",
[VIRTUALIZATION_ACRN] = "acrn",
[VIRTUALIZATION_POWERVM] = "powervm",
[VIRTUALIZATION_APPLE] = "apple",
[VIRTUALIZATION_VM_OTHER] = "vm-other",
[VIRTUALIZATION_SYSTEMD_NSPAWN] = "systemd-nspawn",
+1
View File
@@ -25,6 +25,7 @@ typedef enum Virtualization {
VIRTUALIZATION_QNX,
VIRTUALIZATION_ACRN,
VIRTUALIZATION_POWERVM,
VIRTUALIZATION_APPLE,
VIRTUALIZATION_VM_OTHER,
VIRTUALIZATION_VM_LAST = VIRTUALIZATION_VM_OTHER,