diff --git a/src/basic/virt.c b/src/basic/virt.c index 284ad95277..f6063e9859 100644 --- a/src/basic/virt.c +++ b/src/basic/virt.c @@ -432,18 +432,22 @@ int detect_vm(void) { /* We have to use the correct order here: * - * → First, try to detect Oracle Virtualbox and Amazon EC2 Nitro, even if they use KVM, as well as Xen even if - * it cloaks as Microsoft Hyper-V. Attempt to detect uml at this stage also since it runs as a user-process - * nested inside other VMs. Also check for Xen now, because Xen PV mode does not override CPUID when nested - * inside another hypervisor. + * → First, try to detect Oracle Virtualbox, Amazon EC2 Nitro, and Parallels, even if they use KVM, + * as well as Xen even if it cloaks as Microsoft Hyper-V. Attempt to detect uml at this stage also + * since it runs as a user-process nested inside other VMs. Also check for Xen now, because Xen PV + * mode does not override CPUID when nested inside another hypervisor. * - * → Second, try to detect from CPUID, this will report KVM for whatever software is used even if info in DMI is - * overwritten. + * → Second, try to detect from CPUID, this will report KVM for whatever software is used even if + * info in DMI is overwritten. * * → Third, try to detect from DMI. */ dmi = detect_vm_dmi(); - if (IN_SET(dmi, VIRTUALIZATION_ORACLE, VIRTUALIZATION_XEN, VIRTUALIZATION_AMAZON)) { + if (IN_SET(dmi, + VIRTUALIZATION_ORACLE, + VIRTUALIZATION_XEN, + VIRTUALIZATION_AMAZON, + VIRTUALIZATION_PARALLELS)) { r = dmi; goto finish; }