1
0
mirror of https://github.com/systemd/systemd synced 2024-07-05 17:39:42 +00:00

virt: detect QNX hypervisor

Detect QNX hypervisor based on the CPUID.

Fixes: #7239
This commit is contained in:
Shuang Liu 2018-02-22 14:35:47 +01:00
parent de0e78f703
commit 1fdf07f56c
4 changed files with 11 additions and 2 deletions

View File

@ -91,7 +91,7 @@
</thead>
<tbody>
<row>
<entry valign="top" morerows="10">VM</entry>
<entry valign="top" morerows="11">VM</entry>
<entry><varname>qemu</varname></entry>
<entry>QEMU software virtualization, without KVM</entry>
</row>
@ -143,11 +143,16 @@
<entry>Parallels Desktop, Parallels Server</entry>
</row>
<row>
<row>
<entry><varname>bhyve</varname></entry>
<entry>bhyve, FreeBSD hypervisor</entry>
</row>
<row>
<entry><varname>qnx</varname></entry>
<entry>QNX hypervisor</entry>
</row>
<row>
<entry valign="top" morerows="5">Container</entry>
<entry><varname>openvz</varname></entry>

View File

@ -1093,6 +1093,7 @@
<varname>xen</varname>,
<varname>bochs</varname>,
<varname>uml</varname>,
<varname>qnx</varname>,
<varname>openvz</varname>,
<varname>lxc</varname>,
<varname>lxc-libvirt</varname>,

View File

@ -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",

View File

@ -39,6 +39,7 @@ enum {
VIRTUALIZATION_ZVM,
VIRTUALIZATION_PARALLELS,
VIRTUALIZATION_BHYVE,
VIRTUALIZATION_QNX,
VIRTUALIZATION_VM_OTHER,
VIRTUALIZATION_VM_LAST = VIRTUALIZATION_VM_OTHER,