]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
report-basic: also report confidential computing tech
authorLennart Poettering <lennart@amutable.com>
Fri, 22 May 2026 03:39:57 +0000 (05:39 +0200)
committerLennart Poettering <lennart@amutable.com>
Fri, 22 May 2026 10:24:29 +0000 (12:24 +0200)
src/report/report-basic.c

index 8587bf19e2428aafcf70fde1bc88f4f9c4261681..f2c5e54d5b5829d608bc665a0edc44a2d5a24940 100644 (file)
@@ -9,6 +9,7 @@
 
 #include "alloc-util.h"
 #include "architecture.h"
+#include "confidential-virt.h"
 #include "cpu-set-util.h"
 #include "env-file.h"
 #include "errno-util.h"
@@ -351,6 +352,22 @@ static int smbios_generate(const MetricFamily *mf, sd_varlink *link, void *userd
         return 0;
 }
 
+static int confidential_virtualization_generate(const MetricFamily *mf, sd_varlink *link, void *userdata) {
+        assert(mf && mf->name);
+        assert(link);
+
+        ConfidentialVirtualization cv = detect_confidential_virtualization();
+        if (cv < 0)
+                return cv;
+
+        return metric_build_send_string(
+                        mf,
+                        link,
+                        /* object= */ NULL,
+                        confidential_virtualization_to_string(cv),
+                        /* fields= */ NULL);
+}
+
 static int virtualization_generate(const MetricFamily *mf, sd_varlink *link, void *userdata) {
         assert(mf && mf->name);
         assert(link);
@@ -405,6 +422,12 @@ static const MetricFamily metric_family_table[] = {
                 METRIC_FAMILY_TYPE_STRING,
                 .generate = boot_id_generate,
         },
+        {
+                METRIC_IO_SYSTEMD_BASIC_PREFIX "ConfidentialVirtualization",
+                "Confidential computing technology",
+                METRIC_FAMILY_TYPE_STRING,
+                .generate = confidential_virtualization_generate,
+        },
         {
                 METRIC_IO_SYSTEMD_BASIC_PREFIX "CPUsOnline",
                 "Number of CPUs currently online",