diff --git a/man/systemd-detect-virt.xml b/man/systemd-detect-virt.xml
index 4426827e57..aeeb51d09e 100644
--- a/man/systemd-detect-virt.xml
+++ b/man/systemd-detect-virt.xml
@@ -91,7 +91,7 @@
- VM
+ VM
qemu
QEMU software virtualization, without KVM
@@ -143,11 +143,16 @@
Parallels Desktop, Parallels Server
-
+
bhyve
bhyve, FreeBSD hypervisor
+
+ qnx
+ QNX hypervisor
+
+
Container
openvz
diff --git a/man/systemd.unit.xml b/man/systemd.unit.xml
index 0e27c5dd8e..bd54a4e542 100644
--- a/man/systemd.unit.xml
+++ b/man/systemd.unit.xml
@@ -1093,6 +1093,8 @@
xen,
bochs,
uml,
+ bhyve,
+ qnx,
openvz,
lxc,
lxc-libvirt,
diff --git a/src/basic/virt.c b/src/basic/virt.c
index f4796b53bc..c4335ab909 100644
--- a/src/basic/virt.c
+++ b/src/basic/virt.c
@@ -57,6 +57,7 @@ static int detect_vm_cpuid(void) {
{ "Microsoft Hv", VIRTUALIZATION_MICROSOFT },
/* https://wiki.freebsd.org/bhyve */
{ "bhyve bhyve ", VIRTUALIZATION_BHYVE },
+ { "QNXQVMBSQG", VIRTUALIZATION_QNX },
};
uint32_t eax, ebx, ecx, edx;
@@ -628,6 +629,7 @@ static const char *const virtualization_table[_VIRTUALIZATION_MAX] = {
[VIRTUALIZATION_ZVM] = "zvm",
[VIRTUALIZATION_PARALLELS] = "parallels",
[VIRTUALIZATION_BHYVE] = "bhyve",
+ [VIRTUALIZATION_QNX] = "qnx",
[VIRTUALIZATION_VM_OTHER] = "vm-other",
[VIRTUALIZATION_SYSTEMD_NSPAWN] = "systemd-nspawn",
diff --git a/src/basic/virt.h b/src/basic/virt.h
index d9badd8efe..1216bc7456 100644
--- a/src/basic/virt.h
+++ b/src/basic/virt.h
@@ -39,6 +39,7 @@ enum {
VIRTUALIZATION_ZVM,
VIRTUALIZATION_PARALLELS,
VIRTUALIZATION_BHYVE,
+ VIRTUALIZATION_QNX,
VIRTUALIZATION_VM_OTHER,
VIRTUALIZATION_VM_LAST = VIRTUALIZATION_VM_OTHER,