summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJose Marinho <jose.marinho@arm.com>2021-12-23 14:51:07 +0000
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>2022-09-03 09:35:48 +0200
commit6b92c1735205eef308a9e33ec90330a3e6d27fc3 (patch)
tree002f171fa16a21af8ac0b938d804da7f3c2c946a /include
parent2b7a6e013fe9c4f8c8ed29d79f6757f8c482dc72 (diff)
efi: Create ECPT table
The ECPT table will be included in the UEFI specification 2.9+. The ECPT table was introduced in UEFI following the code-first path. The acceptance ticket can be viewed at: https://bugzilla.tianocore.org/show_bug.cgi?id=3591 The Conformance Profiles table is a UEFI configuration table that contains GUID of the UEFI profiles that the UEFI implementation conforms with. The ECPT table is created when CONFIG_EFI_ECPT=y. The config is set by default. Signed-off-by: Jose Marinho <jose.marinho@arm.com> Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
Diffstat (limited to 'include')
-rw-r--r--include/efi_api.h12
-rw-r--r--include/efi_loader.h7
2 files changed, 19 insertions, 0 deletions
diff --git a/include/efi_api.h b/include/efi_api.h
index 83c01085fd..58934bd0d5 100644
--- a/include/efi_api.h
+++ b/include/efi_api.h
@@ -226,6 +226,18 @@ enum efi_reset_type {
EFI_GUID(0x6dcbd5ed, 0xe82d, 0x4c44, 0xbd, 0xa1, \
0x71, 0x94, 0x19, 0x9a, 0xd9, 0x2a)
+#define EFI_CONFORMANCE_PROFILES_TABLE_GUID \
+ EFI_GUID(0x36122546, 0xf7ef, 0x4c8f, 0xbd, 0x9b, \
+ 0xeb, 0x85, 0x25, 0xb5, 0x0c, 0x0b)
+
+#define EFI_CONFORMANCE_PROFILES_TABLE_VERSION 1
+
+struct efi_conformance_profiles_table {
+ u16 version;
+ u16 number_of_profiles;
+ efi_guid_t conformance_profiles[];
+} __packed;
+
struct efi_capsule_header {
efi_guid_t capsule_guid;
u32 header_size;
diff --git a/include/efi_loader.h b/include/efi_loader.h
index 9611aec2de..545ba06d94 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -1053,6 +1053,13 @@ extern u8 num_image_type_guids;
efi_status_t efi_esrt_register(void);
/**
+ * efi_ecpt_register() - Install the ECPT system table.
+ *
+ * Return: status code
+ */
+efi_status_t efi_ecpt_register(void);
+
+/**
* efi_esrt_populate() - Populates the ESRT entries from the FMP instances
* present in the system.
* If an ESRT already exists, the old ESRT is replaced in the system table.