summaryrefslogtreecommitdiff
path: root/src/fundamental
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2022-07-27 15:25:59 +0200
committerLennart Poettering <lennart@poettering.net>2022-08-02 10:28:49 +0200
commit46d336722da20e1f0e6734dffe203bb358ce2485 (patch)
treef8c0b8e66e510f60fe3c88382f4b036db69c53a3 /src/fundamental
parent6017eee9ce495d0b12cfe2f6f7569a0808cd672d (diff)
downloadsystemd-46d336722da20e1f0e6734dffe203bb358ce2485.tar.gz
stub: introduce StubFeatures, similar to LoaderFeatures
systemd-boot reports its features via the LoaderFeatures EFI variable. Let's add something similar for stub features, given they have been growing. For starters only define four feature flags. One is a baseline feature we pretty much always supported (see comment in code), two are features added in one of the most recently released systemd version, and the final one, is a feature we added a few commits ago. This is useful for userspace to figure out what is supported and what not.
Diffstat (limited to 'src/fundamental')
-rw-r--r--src/fundamental/efivars-fundamental.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/fundamental/efivars-fundamental.h b/src/fundamental/efivars-fundamental.h
index d1b70eafdc..5d15e19a0e 100644
--- a/src/fundamental/efivars-fundamental.h
+++ b/src/fundamental/efivars-fundamental.h
@@ -4,6 +4,7 @@
#include <errno.h>
#include "string-util-fundamental.h"
+/* Features of the loader, i.e. systemd-boot */
#define EFI_LOADER_FEATURE_CONFIG_TIMEOUT (UINT64_C(1) << 0)
#define EFI_LOADER_FEATURE_CONFIG_TIMEOUT_ONE_SHOT (UINT64_C(1) << 1)
#define EFI_LOADER_FEATURE_ENTRY_DEFAULT (UINT64_C(1) << 2)
@@ -13,6 +14,12 @@
#define EFI_LOADER_FEATURE_RANDOM_SEED (UINT64_C(1) << 6)
#define EFI_LOADER_FEATURE_LOAD_DRIVER (UINT64_C(1) << 7)
+/* Features of the stub, i.e. systemd-stub */
+#define EFI_STUB_FEATURE_REPORT_BOOT_PARTITION (UINT64_C(1) << 0)
+#define EFI_STUB_FEATURE_PICK_UP_CREDENTIALS (UINT64_C(1) << 1)
+#define EFI_STUB_FEATURE_PICK_UP_SYSEXTS (UINT64_C(1) << 2)
+#define EFI_STUB_FEATURE_THREE_PCRS (UINT64_C(1) << 3)
+
typedef enum SecureBootMode {
SECURE_BOOT_UNSUPPORTED,
SECURE_BOOT_DISABLED,