From: Zhaofeng Li Date: Mon, 22 Aug 2022 16:35:21 +0000 (-0600) Subject: virt: Support detection of Apple Virtualization.framework guests X-Git-Tag: v252-rc1~358 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f5558306746c0791dab666e76d51e7ef1ce38362;p=thirdparty%2Fsystemd.git virt: Support detection of Apple Virtualization.framework guests --- diff --git a/man/systemd-detect-virt.xml b/man/systemd-detect-virt.xml index 8ac4de4047e..a8c089d0b51 100644 --- a/man/systemd-detect-virt.xml +++ b/man/systemd-detect-virt.xml @@ -62,7 +62,7 @@ - VM + VM qemu QEMU software virtualization, without KVM @@ -137,6 +137,11 @@ ACRN hypervisor + + apple + Apple Virtualization.framework + + Container openvz diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml index ea95ba88692..7e744471c39 100644 --- a/man/systemd.unit.xml +++ b/man/systemd.unit.xml @@ -1263,6 +1263,7 @@ uml, bhyve, qnx, + apple, openvz, lxc, lxc-libvirt, diff --git a/src/basic/virt.c b/src/basic/virt.c index e5277b4a4bf..fd8954b3bec 100644 --- a/src/basic/virt.c +++ b/src/basic/virt.c @@ -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", diff --git a/src/basic/virt.h b/src/basic/virt.h index 6da08b4af14..e19a2389398 100644 --- a/src/basic/virt.h +++ b/src/basic/virt.h @@ -25,6 +25,7 @@ typedef enum Virtualization { VIRTUALIZATION_QNX, VIRTUALIZATION_ACRN, VIRTUALIZATION_POWERVM, + VIRTUALIZATION_APPLE, VIRTUALIZATION_VM_OTHER, VIRTUALIZATION_VM_LAST = VIRTUALIZATION_VM_OTHER,