virt: Support detection of LMHS SRE guests
authorNeil Moore <neil.a.moore@lmco.com>
Thu, 1 Dec 2022 19:03:06 +0000 (14:03 -0500)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Fri, 2 Dec 2022 01:29:14 +0000 (10:29 +0900)
man/systemd-detect-virt.xml
man/systemd.unit.xml
src/basic/virt.c
src/basic/virt.h

index a8c089d0b515ed6b7678dfbd00ec35ff216b55b4..a92d83fe298bcb37b2379ce26a10843bf97d6284 100644 (file)
@@ -62,7 +62,7 @@
         </thead>
         <tbody>
           <row>
-            <entry valign="top" morerows="15">VM</entry>
+            <entry valign="top" morerows="16">VM</entry>
             <entry><varname>qemu</varname></entry>
             <entry>QEMU software virtualization, without KVM</entry>
           </row>
             <entry><ulink url="https://developer.apple.com/documentation/virtualization">Apple Virtualization.framework</ulink></entry>
           </row>
 
+          <row>
+            <entry><varname>sre</varname></entry>
+            <entry><ulink url="https://www.lockheedmartin.com/en-us/products/Hardened-Security-for-Intel-Processors.html">LMHS SRE hypervisor</ulink></entry>
+          </row>
+
           <row>
             <entry valign="top" morerows="9">Container</entry>
             <entry><varname>openvz</varname></entry>
index 8e1a3464dfbeeff577da6e09cf3f96007b3c15c8..0c17d918148d97dfcd8b73113c5b60c4b7878488 100644 (file)
           <literal>bhyve</literal>,
           <literal>qnx</literal>,
           <literal>apple</literal>,
+          <literal>sre</literal>,
           <literal>openvz</literal>,
           <literal>lxc</literal>,
           <literal>lxc-libvirt</literal>,
index 9a0b5a28d19ee84085945f9fdc91893c5a07c585..7c238613e6df3516efc66f379376d232b581eed6 100644 (file)
@@ -50,6 +50,8 @@ static Virtualization detect_vm_cpuid(void) {
                 { "QNXQVMBSQG",   VIRTUALIZATION_QNX       },
                 /* https://projectacrn.org */
                 { "ACRNACRNACRN", VIRTUALIZATION_ACRN      },
+                /* https://www.lockheedmartin.com/en-us/products/Hardened-Security-for-Intel-Processors.html */
+                { "SRESRESRESRE", VIRTUALIZATION_SRE       },
         };
 
         uint32_t eax, ebx, ecx, edx;
@@ -1036,6 +1038,7 @@ static const char *const virtualization_table[_VIRTUALIZATION_MAX] = {
         [VIRTUALIZATION_ACRN]            = "acrn",
         [VIRTUALIZATION_POWERVM]         = "powervm",
         [VIRTUALIZATION_APPLE]           = "apple",
+        [VIRTUALIZATION_SRE]             = "sre",
         [VIRTUALIZATION_VM_OTHER]        = "vm-other",
 
         [VIRTUALIZATION_SYSTEMD_NSPAWN]  = "systemd-nspawn",
index e19a238939869e1e5bf76e26840d0e4ba071f3d6..d49f3237e816f98b1ef25dda6897ca5ee3aeef51 100644 (file)
@@ -26,6 +26,7 @@ typedef enum Virtualization {
         VIRTUALIZATION_ACRN,
         VIRTUALIZATION_POWERVM,
         VIRTUALIZATION_APPLE,
+        VIRTUALIZATION_SRE,
         VIRTUALIZATION_VM_OTHER,
         VIRTUALIZATION_VM_LAST = VIRTUALIZATION_VM_OTHER,