]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
virt: detect QNX hypervisor
authorShuang Liu <sliu@de.adit-jv.com>
Thu, 22 Feb 2018 13:35:47 +0000 (14:35 +0100)
committerShuang Liu <sliu@de.adit-jv.com>
Thu, 22 Feb 2018 14:29:34 +0000 (15:29 +0100)
Detect QNX hypervisor based on the CPUID.

Fixes: #7239
man/systemd-detect-virt.xml
man/systemd.unit.xml
src/basic/virt.c
src/basic/virt.h

index 4426827e571a974f82b197d129380226e49aa3a7..aeeb51d09e953933eed7cfa2312408fa4502ad59 100644 (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>
             <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>
index 0e27c5dd8e936882d68d17819e487efe3498e569..a3209869b5297b31a7b502373acea76cfd0c1c16 100644 (file)
         <varname>xen</varname>,
         <varname>bochs</varname>,
         <varname>uml</varname>,
+        <varname>qnx</varname>,
         <varname>openvz</varname>,
         <varname>lxc</varname>,
         <varname>lxc-libvirt</varname>,
index f4796b53bc2a4e6d14f8570b4f005501c6b94197..c4335ab909e041355950a7ff62825b6afbb37026 100644 (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",
index d9badd8efe5b06b448c69e6fd236394597cf1a62..1216bc7456894aaccd32b737b99daff22932322f 100644 (file)
@@ -39,6 +39,7 @@ enum {
         VIRTUALIZATION_ZVM,
         VIRTUALIZATION_PARALLELS,
         VIRTUALIZATION_BHYVE,
+        VIRTUALIZATION_QNX,
         VIRTUALIZATION_VM_OTHER,
         VIRTUALIZATION_VM_LAST = VIRTUALIZATION_VM_OTHER,