diff --git a/man/systemd-detect-virt.xml b/man/systemd-detect-virt.xml index e4c2d9fd5f..5c5510eaf2 100644 --- a/man/systemd-detect-virt.xml +++ b/man/systemd-detect-virt.xml @@ -125,6 +125,11 @@ QNX hypervisor + + acrn + ACRN hypervisor + + Container openvz diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml index f21f9eae44..82c63e1609 100644 --- a/man/systemd.unit.xml +++ b/man/systemd.unit.xml @@ -1093,7 +1093,8 @@ lxc-libvirt, systemd-nspawn, docker, - rkt to test + rkt, + acrn to test against a specific implementation, or private-users to check whether we are running in a user namespace. See systemd-detect-virt1 diff --git a/src/basic/virt.c b/src/basic/virt.c index c7376bf5e4..0717347b35 100644 --- a/src/basic/virt.c +++ b/src/basic/virt.c @@ -40,6 +40,8 @@ static int detect_vm_cpuid(void) { /* https://wiki.freebsd.org/bhyve */ { "bhyve bhyve ", VIRTUALIZATION_BHYVE }, { "QNXQVMBSQG", VIRTUALIZATION_QNX }, + /* https://projectacrn.org */ + { "ACRNACRNACRN", VIRTUALIZATION_ACRN }, }; uint32_t eax, ebx, ecx, edx; @@ -628,6 +630,7 @@ static const char *const virtualization_table[_VIRTUALIZATION_MAX] = { [VIRTUALIZATION_PARALLELS] = "parallels", [VIRTUALIZATION_BHYVE] = "bhyve", [VIRTUALIZATION_QNX] = "qnx", + [VIRTUALIZATION_ACRN] = "acrn", [VIRTUALIZATION_VM_OTHER] = "vm-other", [VIRTUALIZATION_SYSTEMD_NSPAWN] = "systemd-nspawn", diff --git a/src/basic/virt.h b/src/basic/virt.h index c4cf4bfeab..03cf1752f4 100644 --- a/src/basic/virt.h +++ b/src/basic/virt.h @@ -21,6 +21,7 @@ enum { VIRTUALIZATION_PARALLELS, VIRTUALIZATION_BHYVE, VIRTUALIZATION_QNX, + VIRTUALIZATION_ACRN, VIRTUALIZATION_VM_OTHER, VIRTUALIZATION_VM_LAST = VIRTUALIZATION_VM_OTHER,