efi_loader: add UEFI GPT measurement
This commit adds the UEFI GPT disk partition topology measurement required in TCG PC Client Platform Firmware Profile Specification Signed-off-by: Masahisa Kojima <masahisa.kojima@linaro.org>
This commit is contained in:

committed by
Heinrich Schuchardt

parent
3d49ee8510
commit
ce3dbc5d08
@@ -45,6 +45,9 @@ enum if_type {
|
||||
#define BLK_PRD_SIZE 20
|
||||
#define BLK_REV_SIZE 8
|
||||
|
||||
#define PART_FORMAT_PCAT 0x1
|
||||
#define PART_FORMAT_GPT 0x2
|
||||
|
||||
/*
|
||||
* Identifies the partition table type (ie. MBR vs GPT GUID) signature
|
||||
*/
|
||||
|
@@ -503,7 +503,7 @@ efi_status_t efi_init_variables(void);
|
||||
void efi_variables_boot_exit_notify(void);
|
||||
efi_status_t efi_tcg2_notify_exit_boot_services_failed(void);
|
||||
/* Measure efi application invocation */
|
||||
efi_status_t efi_tcg2_measure_efi_app_invocation(void);
|
||||
efi_status_t efi_tcg2_measure_efi_app_invocation(struct efi_loaded_image_obj *handle);
|
||||
/* Measure efi application exit */
|
||||
efi_status_t efi_tcg2_measure_efi_app_exit(void);
|
||||
/* Called by bootefi to initialize root node */
|
||||
@@ -847,6 +847,7 @@ struct efi_device_path *efi_dp_from_lo(struct efi_load_option *lo,
|
||||
const efi_guid_t *guid);
|
||||
struct efi_device_path *efi_dp_concat(const struct efi_device_path *dp1,
|
||||
const struct efi_device_path *dp2);
|
||||
struct efi_device_path *search_gpt_dp_node(struct efi_device_path *device_path);
|
||||
efi_status_t efi_deserialize_load_option(struct efi_load_option *lo, u8 *data,
|
||||
efi_uintn_t *size);
|
||||
unsigned long efi_serialize_load_option(struct efi_load_option *lo, u8 **data);
|
||||
|
@@ -225,6 +225,18 @@ struct smbios_handoff_table_pointers2 {
|
||||
struct efi_configuration_table table_entry[];
|
||||
} __packed;
|
||||
|
||||
/**
|
||||
* struct tdUEFI_GPT_DATA - event log structure of industry standard tables
|
||||
* @uefi_partition_header: gpt partition header
|
||||
* @number_of_partitions: the number of partition
|
||||
* @partitions: partition entries
|
||||
*/
|
||||
struct efi_gpt_data {
|
||||
gpt_header uefi_partition_header;
|
||||
u64 number_of_partitions;
|
||||
gpt_entry partitions[];
|
||||
} __packed;
|
||||
|
||||
struct efi_tcg2_protocol {
|
||||
efi_status_t (EFIAPI * get_capability)(struct efi_tcg2_protocol *this,
|
||||
struct efi_tcg2_boot_service_capability *capability);
|
||||
|
Reference in New Issue
Block a user