[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v9 02/11] Unify GUID types
From: |
John Paul Adrian Glaubitz |
Subject: |
Re: [PATCH v9 02/11] Unify GUID types |
Date: |
Fri, 11 Aug 2023 10:32:17 +0200 |
User-agent: |
Evolution 3.48.4 |
Hi Oliver!
On Fri, 2023-05-26 at 13:35 +0200, Oliver Steffen wrote:
> There are 3 implementations of a GUID in Grub. Replace them with a
> common one, placed in types.h.
>
> It uses the "packed" flavor of the GUID structs, the alignment attribute
> is dropped, since it is not required.
>
> Signed-off-by: Oliver Steffen <osteffen@redhat.com>
> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
> ---
> grub-core/commands/acpi.c | 4 +-
> grub-core/commands/efi/efifwsetup.c | 4 +-
> grub-core/commands/efi/loadbios.c | 14 +++---
> grub-core/commands/efi/lsefi.c | 4 +-
> grub-core/commands/efi/lsefisystab.c | 4 +-
> grub-core/commands/efi/lssal.c | 4 +-
> grub-core/commands/efi/smbios.c | 12 +++---
> grub-core/commands/efi/tpm.c | 6 +--
> grub-core/commands/probe.c | 2 +-
> grub-core/disk/efi/efidisk.c | 4 +-
> grub-core/disk/ldm.c | 2 +-
> grub-core/efiemu/i386/pc/cfgtables.c | 6 +--
> grub-core/efiemu/main.c | 4 +-
> grub-core/efiemu/runtime/efiemu.c | 14 +++---
> grub-core/kern/efi/acpi.c | 12 +++---
> grub-core/kern/efi/efi.c | 22 +++++-----
> grub-core/kern/efi/fdt.c | 2 +-
> grub-core/kern/efi/init.c | 2 +-
> grub-core/kern/efi/sb.c | 4 +-
> grub-core/loader/efi/fdt.c | 2 +-
> grub-core/loader/efi/linux.c | 4 +-
> grub-core/loader/i386/xnu.c | 4 +-
> grub-core/loader/ia64/efi/linux.c | 2 +-
> grub-core/net/drivers/efi/efinet.c | 4 +-
> grub-core/partmap/gpt.c | 4 +-
> grub-core/term/efi/console.c | 2 +-
> grub-core/term/efi/serial.c | 2 +-
> grub-core/video/efi_gop.c | 8 ++--
> grub-core/video/efi_uga.c | 2 +-
> include/grub/efi/api.h | 64 ++++++++++------------------
> include/grub/efi/efi.h | 16 +++----
> include/grub/efiemu/efiemu.h | 10 ++---
> include/grub/efiemu/runtime.h | 2 +-
> include/grub/gpt_partition.h | 13 +-----
> include/grub/types.h | 9 ++++
> util/grub-install.c | 2 +-
> util/grub-probe.c | 2 +-
> 37 files changed, 130 insertions(+), 148 deletions(-)
>
> diff --git a/grub-core/commands/acpi.c b/grub-core/commands/acpi.c
> index ab067ae6e..deec4bb43 100644
> --- a/grub-core/commands/acpi.c
> +++ b/grub-core/commands/acpi.c
> @@ -759,8 +759,8 @@ grub_cmd_acpi (struct grub_extcmd_context *ctxt, int
> argc, char **args)
>
> #ifdef GRUB_MACHINE_EFI
> {
> - struct grub_efi_guid acpi = GRUB_EFI_ACPI_TABLE_GUID;
> - struct grub_efi_guid acpi20 = GRUB_EFI_ACPI_20_TABLE_GUID;
> + static grub_guid_t acpi = GRUB_EFI_ACPI_TABLE_GUID;
> + static grub_guid_t acpi20 = GRUB_EFI_ACPI_20_TABLE_GUID;
>
> grub_efi_system_table->boot_services->install_configuration_table
> (&acpi20,
>
> grub_acpi_get_rsdpv2 ());
> diff --git a/grub-core/commands/efi/efifwsetup.c
> b/grub-core/commands/efi/efifwsetup.c
> index de66c3035..704f9d352 100644
> --- a/grub-core/commands/efi/efifwsetup.c
> +++ b/grub-core/commands/efi/efifwsetup.c
> @@ -38,7 +38,7 @@ grub_cmd_fwsetup (grub_command_t cmd __attribute__
> ((unused)),
> grub_efi_uint64_t os_indications = GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI;
> grub_err_t status;
> grub_size_t oi_size;
> - static grub_efi_guid_t global = GRUB_EFI_GLOBAL_VARIABLE_GUID;
> + static grub_guid_t global = GRUB_EFI_GLOBAL_VARIABLE_GUID;
>
> if (argc >= 1 && grub_strcmp(args[0], "--is-supported") == 0)
> return !efifwsetup_is_supported ();
> @@ -72,7 +72,7 @@ efifwsetup_is_supported (void)
> {
> grub_efi_uint64_t *os_indications_supported = NULL;
> grub_size_t oi_size = 0;
> - static grub_efi_guid_t global = GRUB_EFI_GLOBAL_VARIABLE_GUID;
> + static grub_guid_t global = GRUB_EFI_GLOBAL_VARIABLE_GUID;
> grub_efi_boolean_t ret = 0;
>
> grub_efi_get_variable ("OsIndicationsSupported", &global, &oi_size,
> diff --git a/grub-core/commands/efi/loadbios.c
> b/grub-core/commands/efi/loadbios.c
> index 574e41046..8f6b0ecfc 100644
> --- a/grub-core/commands/efi/loadbios.c
> +++ b/grub-core/commands/efi/loadbios.c
> @@ -27,9 +27,9 @@
>
> GRUB_MOD_LICENSE ("GPLv3+");
>
> -static grub_efi_guid_t acpi_guid = GRUB_EFI_ACPI_TABLE_GUID;
> -static grub_efi_guid_t acpi2_guid = GRUB_EFI_ACPI_20_TABLE_GUID;
> -static grub_efi_guid_t smbios_guid = GRUB_EFI_SMBIOS_TABLE_GUID;
> +static grub_guid_t acpi_guid = GRUB_EFI_ACPI_TABLE_GUID;
> +static grub_guid_t acpi2_guid = GRUB_EFI_ACPI_20_TABLE_GUID;
> +static grub_guid_t smbios_guid = GRUB_EFI_SMBIOS_TABLE_GUID;
>
> #define EBDA_SEG_ADDR 0x40e
> #define LOW_MEM_ADDR 0x413
> @@ -105,15 +105,15 @@ fake_bios_data (int use_rom)
> smbios = 0;
> for (i = 0; i < grub_efi_system_table->num_table_entries; i++)
> {
> - grub_efi_packed_guid_t *guid =
> + grub_guid_t *guid =
> &grub_efi_system_table->configuration_table[i].vendor_guid;
>
> - if (! grub_memcmp (guid, &acpi2_guid, sizeof (grub_efi_guid_t)))
> + if (! grub_memcmp (guid, &acpi2_guid, sizeof (grub_guid_t)))
> {
> acpi = grub_efi_system_table->configuration_table[i].vendor_table;
> grub_dprintf ("efi", "ACPI2: %p\n", acpi);
> }
> - else if (! grub_memcmp (guid, &acpi_guid, sizeof (grub_efi_guid_t)))
> + else if (! grub_memcmp (guid, &acpi_guid, sizeof (grub_guid_t)))
> {
> void *t;
>
> @@ -122,7 +122,7 @@ fake_bios_data (int use_rom)
> acpi = t;
> grub_dprintf ("efi", "ACPI: %p\n", t);
> }
> - else if (! grub_memcmp (guid, &smbios_guid, sizeof (grub_efi_guid_t)))
> + else if (! grub_memcmp (guid, &smbios_guid, sizeof (grub_guid_t)))
> {
> smbios = grub_efi_system_table->configuration_table[i].vendor_table;
> grub_dprintf ("efi", "SMBIOS: %p\n", smbios);
> diff --git a/grub-core/commands/efi/lsefi.c b/grub-core/commands/efi/lsefi.c
> index 539701497..6935cd302 100644
> --- a/grub-core/commands/efi/lsefi.c
> +++ b/grub-core/commands/efi/lsefi.c
> @@ -31,7 +31,7 @@ GRUB_MOD_LICENSE ("GPLv3+");
>
> struct known_protocol
> {
> - grub_efi_guid_t guid;
> + grub_guid_t guid;
> const char *name;
> } known_protocols[] =
> {
> @@ -96,7 +96,7 @@ grub_cmd_lsefi (grub_command_t cmd __attribute__ ((unused)),
> grub_efi_handle_t handle = handles[i];
> grub_efi_status_t status;
> grub_efi_uintn_t num_protocols;
> - grub_efi_packed_guid_t **protocols;
> + grub_guid_t **protocols;
> grub_efi_device_path_t *dp;
>
> grub_printf ("Handle %p\n", handle);
> diff --git a/grub-core/commands/efi/lsefisystab.c
> b/grub-core/commands/efi/lsefisystab.c
> index ac3299b7f..eff8c41f3 100644
> --- a/grub-core/commands/efi/lsefisystab.c
> +++ b/grub-core/commands/efi/lsefisystab.c
> @@ -29,7 +29,7 @@ GRUB_MOD_LICENSE ("GPLv3+");
>
> struct guid_mapping
> {
> - grub_efi_guid_t guid;
> + grub_guid_t guid;
> const char *name;
> };
>
> @@ -104,7 +104,7 @@ grub_cmd_lsefisystab (struct grub_command *cmd
> __attribute__ ((unused)),
>
> for (j = 0; j < ARRAY_SIZE (guid_mappings); j++)
> if (grub_memcmp (&guid_mappings[j].guid, &t->vendor_guid,
> - sizeof (grub_efi_guid_t)) == 0)
> + sizeof (grub_guid_t)) == 0)
> grub_printf (" %s", guid_mappings[j].name);
>
> grub_printf ("\n");
> diff --git a/grub-core/commands/efi/lssal.c b/grub-core/commands/efi/lssal.c
> index 5084ddd8b..fd6085f1b 100644
> --- a/grub-core/commands/efi/lssal.c
> +++ b/grub-core/commands/efi/lssal.c
> @@ -139,12 +139,12 @@ grub_cmd_lssal (struct grub_command *cmd __attribute__
> ((unused)),
> const grub_efi_system_table_t *st = grub_efi_system_table;
> grub_efi_configuration_table_t *t = st->configuration_table;
> unsigned int i;
> - grub_efi_packed_guid_t guid = GRUB_EFI_SAL_TABLE_GUID;
> + static grub_guid_t guid = GRUB_EFI_SAL_TABLE_GUID;
>
> for (i = 0; i < st->num_table_entries; i++)
> {
> if (grub_memcmp (&guid, &t->vendor_guid,
> - sizeof (grub_efi_packed_guid_t)) == 0)
> + sizeof (grub_guid_t)) == 0)
> {
> disp_sal (t->vendor_table);
> return GRUB_ERR_NONE;
> diff --git a/grub-core/commands/efi/smbios.c b/grub-core/commands/efi/smbios.c
> index 75202d5aa..d77239732 100644
> --- a/grub-core/commands/efi/smbios.c
> +++ b/grub-core/commands/efi/smbios.c
> @@ -26,14 +26,14 @@ struct grub_smbios_eps *
> grub_machine_smbios_get_eps (void)
> {
> unsigned i;
> - static grub_efi_packed_guid_t smbios_guid = GRUB_EFI_SMBIOS_TABLE_GUID;
> + static grub_guid_t smbios_guid = GRUB_EFI_SMBIOS_TABLE_GUID;
>
> for (i = 0; i < grub_efi_system_table->num_table_entries; i++)
> {
> - grub_efi_packed_guid_t *guid =
> + grub_guid_t *guid =
> &grub_efi_system_table->configuration_table[i].vendor_guid;
>
> - if (! grub_memcmp (guid, &smbios_guid, sizeof
> (grub_efi_packed_guid_t)))
> + if (! grub_memcmp (guid, &smbios_guid, sizeof (grub_guid_t)))
> return (struct grub_smbios_eps *)
> grub_efi_system_table->configuration_table[i].vendor_table;
> }
> @@ -45,14 +45,14 @@ struct grub_smbios_eps3 *
> grub_machine_smbios_get_eps3 (void)
> {
> unsigned i;
> - static grub_efi_packed_guid_t smbios3_guid = GRUB_EFI_SMBIOS3_TABLE_GUID;
> + static grub_guid_t smbios3_guid = GRUB_EFI_SMBIOS3_TABLE_GUID;
>
> for (i = 0; i < grub_efi_system_table->num_table_entries; i++)
> {
> - grub_efi_packed_guid_t *guid =
> + grub_guid_t *guid =
> &grub_efi_system_table->configuration_table[i].vendor_guid;
>
> - if (! grub_memcmp (guid, &smbios3_guid, sizeof
> (grub_efi_packed_guid_t)))
> + if (! grub_memcmp (guid, &smbios3_guid, sizeof (grub_guid_t)))
> return (struct grub_smbios_eps3 *)
> grub_efi_system_table->configuration_table[i].vendor_table;
> }
> diff --git a/grub-core/commands/efi/tpm.c b/grub-core/commands/efi/tpm.c
> index 421355204..c616768f9 100644
> --- a/grub-core/commands/efi/tpm.c
> +++ b/grub-core/commands/efi/tpm.c
> @@ -30,9 +30,9 @@
>
> typedef TCG_PCR_EVENT grub_tpm_event_t;
>
> -static grub_efi_guid_t tpm_guid = EFI_TPM_GUID;
> -static grub_efi_guid_t tpm2_guid = EFI_TPM2_GUID;
> -static grub_efi_guid_t cc_measurement_guid =
> GRUB_EFI_CC_MEASUREMENT_PROTOCOL_GUID;
> +static grub_guid_t tpm_guid = EFI_TPM_GUID;
> +static grub_guid_t tpm2_guid = EFI_TPM2_GUID;
> +static grub_guid_t cc_measurement_guid =
> GRUB_EFI_CC_MEASUREMENT_PROTOCOL_GUID;
>
> static grub_efi_handle_t *grub_tpm_handle;
> static grub_uint8_t grub_tpm_version;
> diff --git a/grub-core/commands/probe.c b/grub-core/commands/probe.c
> index 9a80ea54f..cc8c05586 100644
> --- a/grub-core/commands/probe.c
> +++ b/grub-core/commands/probe.c
> @@ -119,7 +119,7 @@ grub_cmd_probe (grub_extcmd_context_t ctxt, int argc,
> char **args)
> if (grub_strcmp(dev->disk->partition->partmap->name, "gpt") == 0)
> {
> struct grub_gpt_partentry entry;
> - grub_gpt_part_guid_t *guid;
> + grub_guid_t *guid;
>
> if (grub_disk_read(disk, p->offset, p->index, sizeof(entry),
> &entry))
> {
> diff --git a/grub-core/disk/efi/efidisk.c b/grub-core/disk/efi/efidisk.c
> index ad025010a..3b5ed5691 100644
> --- a/grub-core/disk/efi/efidisk.c
> +++ b/grub-core/disk/efi/efidisk.c
> @@ -37,7 +37,7 @@ struct grub_efidisk_data
> };
>
> /* GUID. */
> -static grub_efi_guid_t block_io_guid = GRUB_EFI_BLOCK_IO_GUID;
> +static grub_guid_t block_io_guid = GRUB_EFI_BLOCK_IO_GUID;
>
> static struct grub_efidisk_data *fd_devices;
> static struct grub_efidisk_data *hd_devices;
> @@ -319,7 +319,7 @@ name_devices (struct grub_efidisk_data *devices)
> == GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE)
> {
> grub_efi_vendor_device_path_t *vendor =
> (grub_efi_vendor_device_path_t *) dp;
> - const struct grub_efi_guid apple = GRUB_EFI_VENDOR_APPLE_GUID;
> + static const grub_guid_t apple = GRUB_EFI_VENDOR_APPLE_GUID;
>
> if (vendor->header.length == sizeof (*vendor)
> && grub_memcmp (&vendor->vendor_guid, &apple,
> diff --git a/grub-core/disk/ldm.c b/grub-core/disk/ldm.c
> index 9632bc489..34bfe6bd1 100644
> --- a/grub-core/disk/ldm.c
> +++ b/grub-core/disk/ldm.c
> @@ -136,7 +136,7 @@ msdos_has_ldm_partition (grub_disk_t dsk)
> return has_ldm;
> }
>
> -static const grub_gpt_part_guid_t ldm_type = GRUB_GPT_PARTITION_TYPE_LDM;
> +static const grub_guid_t ldm_type = GRUB_GPT_PARTITION_TYPE_LDM;
>
> /* Helper for gpt_ldm_sector. */
> static int
> diff --git a/grub-core/efiemu/i386/pc/cfgtables.c
> b/grub-core/efiemu/i386/pc/cfgtables.c
> index 1098f0b79..056ec0bc9 100644
> --- a/grub-core/efiemu/i386/pc/cfgtables.c
> +++ b/grub-core/efiemu/i386/pc/cfgtables.c
> @@ -29,9 +29,9 @@ grub_machine_efiemu_init_tables (void)
> {
> void *table;
> grub_err_t err;
> - static grub_efi_guid_t smbios = GRUB_EFI_SMBIOS_TABLE_GUID;
> - static grub_efi_guid_t acpi20 = GRUB_EFI_ACPI_20_TABLE_GUID;
> - static grub_efi_guid_t acpi = GRUB_EFI_ACPI_TABLE_GUID;
> + static grub_guid_t smbios = GRUB_EFI_SMBIOS_TABLE_GUID;
> + static grub_guid_t acpi20 = GRUB_EFI_ACPI_20_TABLE_GUID;
> + static grub_guid_t acpi = GRUB_EFI_ACPI_TABLE_GUID;
>
> err = grub_efiemu_unregister_configuration_table (smbios);
> if (err)
> diff --git a/grub-core/efiemu/main.c b/grub-core/efiemu/main.c
> index a81934725..e7037f4ed 100644
> --- a/grub-core/efiemu/main.c
> +++ b/grub-core/efiemu/main.c
> @@ -80,7 +80,7 @@ grub_efiemu_unload (void)
>
> /* Remove previously registered table from the list */
> grub_err_t
> -grub_efiemu_unregister_configuration_table (grub_efi_guid_t guid)
> +grub_efiemu_unregister_configuration_table (grub_guid_t guid)
> {
> struct grub_efiemu_configuration_table *cur, *prev;
>
> @@ -136,7 +136,7 @@ grub_efiemu_register_prepare_hook (grub_err_t (*hook)
> (void *data),
> or with a hook
> */
> grub_err_t
> -grub_efiemu_register_configuration_table (grub_efi_guid_t guid,
> +grub_efiemu_register_configuration_table (grub_guid_t guid,
> void * (*get_table) (void *data),
> void (*unload) (void *data),
> void *data)
> diff --git a/grub-core/efiemu/runtime/efiemu.c
> b/grub-core/efiemu/runtime/efiemu.c
> index 53b3cce7b..c84b30652 100644
> --- a/grub-core/efiemu/runtime/efiemu.c
> +++ b/grub-core/efiemu/runtime/efiemu.c
> @@ -66,7 +66,7 @@ efiemu_convert_pointer (grub_efi_uintn_t debug_disposition,
>
> grub_efi_status_t __grub_efi_api
> efiemu_get_variable (grub_efi_char16_t *variable_name,
> - const grub_efi_guid_t *vendor_guid,
> + const grub_guid_t *vendor_guid,
> grub_efi_uint32_t *attributes,
> grub_efi_uintn_t *data_size,
> void *data);
> @@ -74,11 +74,11 @@ efiemu_get_variable (grub_efi_char16_t *variable_name,
> grub_efi_status_t __grub_efi_api
> efiemu_get_next_variable_name (grub_efi_uintn_t *variable_name_size,
> grub_efi_char16_t *variable_name,
> - grub_efi_guid_t *vendor_guid);
> + grub_guid_t *vendor_guid);
>
> grub_efi_status_t __grub_efi_api
> efiemu_set_variable (grub_efi_char16_t *variable_name,
> - const grub_efi_guid_t *vendor_guid,
> + const grub_guid_t *vendor_guid,
> grub_efi_uint32_t attributes,
> grub_efi_uintn_t data_size,
> void *data);
> @@ -416,7 +416,7 @@ EFI_FUNC (efiemu_convert_pointer) (grub_efi_uintn_t
> debug_disposition,
>
> /* Find variable by name and GUID. */
> static struct efi_variable *
> -find_variable (const grub_efi_guid_t *vendor_guid,
> +find_variable (const grub_guid_t *vendor_guid,
> grub_efi_char16_t *variable_name)
> {
> grub_uint8_t *ptr;
> @@ -438,7 +438,7 @@ find_variable (const grub_efi_guid_t *vendor_guid,
>
> grub_efi_status_t __grub_efi_api
> EFI_FUNC (efiemu_get_variable) (grub_efi_char16_t *variable_name,
> - const grub_efi_guid_t *vendor_guid,
> + const grub_guid_t *vendor_guid,
> grub_efi_uint32_t *attributes,
> grub_efi_uintn_t *data_size,
> void *data)
> @@ -464,7 +464,7 @@ EFI_FUNC (efiemu_get_variable) (grub_efi_char16_t
> *variable_name,
> grub_efi_status_t __grub_efi_api EFI_FUNC
> (efiemu_get_next_variable_name) (grub_efi_uintn_t *variable_name_size,
> grub_efi_char16_t *variable_name,
> - grub_efi_guid_t *vendor_guid)
> + grub_guid_t *vendor_guid)
> {
> struct efi_variable *efivar;
> LOG ('l');
> @@ -503,7 +503,7 @@ grub_efi_status_t __grub_efi_api EFI_FUNC
>
> grub_efi_status_t __grub_efi_api
> EFI_FUNC (efiemu_set_variable) (grub_efi_char16_t *variable_name,
> - const grub_efi_guid_t *vendor_guid,
> + const grub_guid_t *vendor_guid,
> grub_efi_uint32_t attributes,
> grub_efi_uintn_t data_size,
> void *data)
> diff --git a/grub-core/kern/efi/acpi.c b/grub-core/kern/efi/acpi.c
> index 74f8cd1a9..461c77c33 100644
> --- a/grub-core/kern/efi/acpi.c
> +++ b/grub-core/kern/efi/acpi.c
> @@ -26,14 +26,14 @@ struct grub_acpi_rsdp_v10 *
> grub_machine_acpi_get_rsdpv1 (void)
> {
> unsigned i;
> - static grub_efi_packed_guid_t acpi_guid = GRUB_EFI_ACPI_TABLE_GUID;
> + static grub_guid_t acpi_guid = GRUB_EFI_ACPI_TABLE_GUID;
>
> for (i = 0; i < grub_efi_system_table->num_table_entries; i++)
> {
> - grub_efi_packed_guid_t *guid =
> + grub_guid_t *guid =
> &grub_efi_system_table->configuration_table[i].vendor_guid;
>
> - if (! grub_memcmp (guid, &acpi_guid, sizeof (grub_efi_packed_guid_t)))
> + if (! grub_memcmp (guid, &acpi_guid, sizeof (grub_guid_t)))
> return (struct grub_acpi_rsdp_v10 *)
> grub_efi_system_table->configuration_table[i].vendor_table;
> }
> @@ -44,14 +44,14 @@ struct grub_acpi_rsdp_v20 *
> grub_machine_acpi_get_rsdpv2 (void)
> {
> unsigned i;
> - static grub_efi_packed_guid_t acpi20_guid = GRUB_EFI_ACPI_20_TABLE_GUID;
> + static grub_guid_t acpi20_guid = GRUB_EFI_ACPI_20_TABLE_GUID;
>
> for (i = 0; i < grub_efi_system_table->num_table_entries; i++)
> {
> - grub_efi_packed_guid_t *guid =
> + grub_guid_t *guid =
> &grub_efi_system_table->configuration_table[i].vendor_guid;
>
> - if (! grub_memcmp (guid, &acpi20_guid, sizeof
> (grub_efi_packed_guid_t)))
> + if (! grub_memcmp (guid, &acpi20_guid, sizeof (grub_guid_t)))
> return (struct grub_acpi_rsdp_v20 *)
> grub_efi_system_table->configuration_table[i].vendor_table;
> }
> diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c
> index 4a1df6fb2..9e7d1a4a7 100644
> --- a/grub-core/kern/efi/efi.c
> +++ b/grub-core/kern/efi/efi.c
> @@ -35,12 +35,12 @@ grub_efi_handle_t grub_efi_image_handle;
> /* The pointer to a system table. Filled in by the startup code. */
> grub_efi_system_table_t *grub_efi_system_table;
>
> -static grub_efi_guid_t console_control_guid = GRUB_EFI_CONSOLE_CONTROL_GUID;
> -static grub_efi_guid_t loaded_image_guid = GRUB_EFI_LOADED_IMAGE_GUID;
> -static grub_efi_guid_t device_path_guid = GRUB_EFI_DEVICE_PATH_GUID;
> +static grub_guid_t console_control_guid = GRUB_EFI_CONSOLE_CONTROL_GUID;
> +static grub_guid_t loaded_image_guid = GRUB_EFI_LOADED_IMAGE_GUID;
> +static grub_guid_t device_path_guid = GRUB_EFI_DEVICE_PATH_GUID;
>
> void *
> -grub_efi_locate_protocol (grub_efi_guid_t *protocol, void *registration)
> +grub_efi_locate_protocol (grub_guid_t *protocol, void *registration)
> {
> void *interface;
> grub_efi_status_t status;
> @@ -59,7 +59,7 @@ grub_efi_locate_protocol (grub_efi_guid_t *protocol, void
> *registration)
> from the heap. */
> grub_efi_handle_t *
> grub_efi_locate_handle (grub_efi_locate_search_type_t search_type,
> - grub_efi_guid_t *protocol,
> + grub_guid_t *protocol,
> void *search_key,
> grub_efi_uintn_t *num_handles)
> {
> @@ -98,7 +98,7 @@ grub_efi_locate_handle (grub_efi_locate_search_type_t
> search_type,
>
> void *
> grub_efi_open_protocol (grub_efi_handle_t handle,
> - grub_efi_guid_t *protocol,
> + grub_guid_t *protocol,
> grub_efi_uint32_t attributes)
> {
> grub_efi_boot_services_t *b;
> @@ -119,7 +119,7 @@ grub_efi_open_protocol (grub_efi_handle_t handle,
> }
>
> grub_efi_status_t
> -grub_efi_close_protocol (grub_efi_handle_t handle, grub_efi_guid_t *protocol)
> +grub_efi_close_protocol (grub_efi_handle_t handle, grub_guid_t *protocol)
> {
> grub_efi_boot_services_t *b = grub_efi_system_table->boot_services;
>
> @@ -203,7 +203,7 @@ grub_efi_set_virtual_address_map (grub_efi_uintn_t
> memory_map_size,
> }
>
> grub_err_t
> -grub_efi_set_variable_with_attributes (const char *var, const
> grub_efi_guid_t *guid,
> +grub_efi_set_variable_with_attributes (const char *var, const grub_guid_t
> *guid,
> void *data, grub_size_t datasize, grub_efi_uint32_t
> attributes)
> {
> grub_efi_status_t status;
> @@ -230,7 +230,7 @@ grub_efi_set_variable_with_attributes (const char *var,
> const grub_efi_guid_t *g
> }
>
> grub_err_t
> -grub_efi_set_variable (const char *var, const grub_efi_guid_t *guid,
> +grub_efi_set_variable (const char *var, const grub_guid_t *guid,
> void *data, grub_size_t datasize)
> {
> return grub_efi_set_variable_with_attributes (var, guid, data, datasize,
> @@ -241,7 +241,7 @@ grub_efi_set_variable (const char *var, const
> grub_efi_guid_t *guid,
>
> grub_efi_status_t
> grub_efi_get_variable_with_attributes (const char *var,
> - const grub_efi_guid_t *guid,
> + const grub_guid_t *guid,
> grub_size_t *datasize_out,
> void **data_out,
> grub_efi_uint32_t *attributes)
> @@ -296,7 +296,7 @@ grub_efi_get_variable_with_attributes (const char *var,
> }
>
> grub_efi_status_t
> -grub_efi_get_variable (const char *var, const grub_efi_guid_t *guid,
> +grub_efi_get_variable (const char *var, const grub_guid_t *guid,
> grub_size_t *datasize_out, void **data_out)
> {
> return grub_efi_get_variable_with_attributes (var, guid, datasize_out,
> data_out, NULL);
> diff --git a/grub-core/kern/efi/fdt.c b/grub-core/kern/efi/fdt.c
> index 24f955289..8fcf43f1b 100644
> --- a/grub-core/kern/efi/fdt.c
> +++ b/grub-core/kern/efi/fdt.c
> @@ -24,7 +24,7 @@ void *
> grub_efi_get_firmware_fdt (void)
> {
> grub_efi_configuration_table_t *tables;
> - static grub_efi_guid_t fdt_guid = GRUB_EFI_DEVICE_TREE_GUID;
> + static grub_guid_t fdt_guid = GRUB_EFI_DEVICE_TREE_GUID;
> void *firmware_fdt = NULL;
> unsigned int i;
>
> diff --git a/grub-core/kern/efi/init.c b/grub-core/kern/efi/init.c
> index e873ef529..8a9c838c0 100644
> --- a/grub-core/kern/efi/init.c
> +++ b/grub-core/kern/efi/init.c
> @@ -36,7 +36,7 @@ static grub_efi_char16_t stack_chk_fail_msg[] =
> L"* GRUB: ABORTED!!! *\r\n"
> L"* GRUB: REBOOTING IN 5 SECONDS... *\r\n";
>
> -static grub_efi_guid_t rng_protocol_guid = GRUB_EFI_RNG_PROTOCOL_GUID;
> +static grub_guid_t rng_protocol_guid = GRUB_EFI_RNG_PROTOCOL_GUID;
>
> /*
> * Don't put this on grub_efi_init()'s local stack to avoid it
> diff --git a/grub-core/kern/efi/sb.c b/grub-core/kern/efi/sb.c
> index db42c2539..80cfa0888 100644
> --- a/grub-core/kern/efi/sb.c
> +++ b/grub-core/kern/efi/sb.c
> @@ -30,7 +30,7 @@
> #include <grub/types.h>
> #include <grub/verify.h>
>
> -static grub_efi_guid_t shim_lock_guid = GRUB_EFI_SHIM_LOCK_GUID;
> +static grub_guid_t shim_lock_guid = GRUB_EFI_SHIM_LOCK_GUID;
>
> /*
> * Determine whether we're in secure boot mode.
> @@ -41,7 +41,7 @@ static grub_efi_guid_t shim_lock_guid =
> GRUB_EFI_SHIM_LOCK_GUID;
> grub_uint8_t
> grub_efi_get_secureboot (void)
> {
> - static grub_efi_guid_t efi_variable_guid = GRUB_EFI_GLOBAL_VARIABLE_GUID;
> + static grub_guid_t efi_variable_guid = GRUB_EFI_GLOBAL_VARIABLE_GUID;
> grub_efi_status_t status;
> grub_efi_uint32_t attr = 0;
> grub_size_t size = 0;
> diff --git a/grub-core/loader/efi/fdt.c b/grub-core/loader/efi/fdt.c
> index 35a3be2e5..439964b9c 100644
> --- a/grub-core/loader/efi/fdt.c
> +++ b/grub-core/loader/efi/fdt.c
> @@ -86,7 +86,7 @@ grub_err_t
> grub_fdt_install (void)
> {
> grub_efi_boot_services_t *b;
> - static grub_efi_guid_t fdt_guid = GRUB_EFI_DEVICE_TREE_GUID;
> + static grub_guid_t fdt_guid = GRUB_EFI_DEVICE_TREE_GUID;
> grub_efi_status_t status;
>
> if (fdt == NULL && loaded_fdt == NULL)
> diff --git a/grub-core/loader/efi/linux.c b/grub-core/loader/efi/linux.c
> index 1d98fa365..c1eef7c98 100644
> --- a/grub-core/loader/efi/linux.c
> +++ b/grub-core/loader/efi/linux.c
> @@ -51,8 +51,8 @@ static struct grub_linux_initrd_context initrd_ctx = {0, 0,
> 0};
> static grub_efi_handle_t initrd_lf2_handle = NULL;
> static bool initrd_use_loadfile2 = false;
>
> -static grub_efi_guid_t load_file2_guid = GRUB_EFI_LOAD_FILE2_PROTOCOL_GUID;
> -static grub_efi_guid_t device_path_guid = GRUB_EFI_DEVICE_PATH_GUID;
> +static grub_guid_t load_file2_guid = GRUB_EFI_LOAD_FILE2_PROTOCOL_GUID;
> +static grub_guid_t device_path_guid = GRUB_EFI_DEVICE_PATH_GUID;
>
> static initrd_media_device_path_t initrd_lf2_device_path = {
> {
> diff --git a/grub-core/loader/i386/xnu.c b/grub-core/loader/i386/xnu.c
> index 4c88ce5e0..93ba4476d 100644
> --- a/grub-core/loader/i386/xnu.c
> +++ b/grub-core/loader/i386/xnu.c
> @@ -48,7 +48,7 @@ grub_uint32_t grub_xnu_entry_point, grub_xnu_arg1,
> grub_xnu_stack;
> /* Aliases set for some tables. */
> struct tbl_alias
> {
> - grub_efi_guid_t guid;
> + grub_guid_t guid;
> const char *name;
> };
>
> @@ -694,7 +694,7 @@ grub_cpu_xnu_fill_devicetree (grub_uint64_t *fsbfreq_out)
> {
> void *ptr;
> struct grub_xnu_devtree_key *curkey;
> - grub_efi_packed_guid_t guid;
> + grub_guid_t guid;
> char guidbuf[64];
>
> /* Retrieve current key. */
> diff --git a/grub-core/loader/ia64/efi/linux.c
> b/grub-core/loader/ia64/efi/linux.c
> index fb9b961f7..3dd2e8236 100644
> --- a/grub-core/loader/ia64/efi/linux.c
> +++ b/grub-core/loader/ia64/efi/linux.c
> @@ -106,7 +106,7 @@ query_fpswa (void)
> grub_efi_boot_services_t *bs;
> grub_efi_status_t status;
> grub_efi_uintn_t size;
> - static const grub_efi_guid_t fpswa_protocol =
> + static const grub_guid_t fpswa_protocol =
> { 0xc41b6531, 0x97b9, 0x11d3,
> {0x9a, 0x29, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} };
>
> diff --git a/grub-core/net/drivers/efi/efinet.c
> b/grub-core/net/drivers/efi/efinet.c
> index 56a179709..3ea25cf98 100644
> --- a/grub-core/net/drivers/efi/efinet.c
> +++ b/grub-core/net/drivers/efi/efinet.c
> @@ -27,8 +27,8 @@
> GRUB_MOD_LICENSE ("GPLv3+");
>
> /* GUID. */
> -static grub_efi_guid_t net_io_guid = GRUB_EFI_SIMPLE_NETWORK_GUID;
> -static grub_efi_guid_t pxe_io_guid = GRUB_EFI_PXE_GUID;
> +static grub_guid_t net_io_guid = GRUB_EFI_SIMPLE_NETWORK_GUID;
> +static grub_guid_t pxe_io_guid = GRUB_EFI_PXE_GUID;
>
> static grub_err_t
> send_card_buffer (struct grub_net_card *dev,
> diff --git a/grub-core/partmap/gpt.c b/grub-core/partmap/gpt.c
> index 075cc96f1..877ceefc3 100644
> --- a/grub-core/partmap/gpt.c
> +++ b/grub-core/partmap/gpt.c
> @@ -36,10 +36,10 @@ static grub_uint8_t grub_gpt_magic[8] =
> 0x45, 0x46, 0x49, 0x20, 0x50, 0x41, 0x52, 0x54
> };
>
> -static const grub_gpt_part_guid_t grub_gpt_partition_type_empty =
> GRUB_GPT_PARTITION_TYPE_EMPTY;
> +static const grub_guid_t grub_gpt_partition_type_empty =
> GRUB_GPT_PARTITION_TYPE_EMPTY;
>
> #ifdef GRUB_UTIL
> -static const grub_gpt_part_guid_t grub_gpt_partition_type_bios_boot =
> GRUB_GPT_PARTITION_TYPE_BIOS_BOOT;
> +static const grub_guid_t grub_gpt_partition_type_bios_boot =
> GRUB_GPT_PARTITION_TYPE_BIOS_BOOT;
> #endif
>
> /* 512 << 7 = 65536 byte sectors. */
> diff --git a/grub-core/term/efi/console.c b/grub-core/term/efi/console.c
> index 9a7bc0fcf..bb587f39d 100644
> --- a/grub-core/term/efi/console.c
> +++ b/grub-core/term/efi/console.c
> @@ -352,7 +352,7 @@ grub_console_getkeystatus (struct grub_term_input *term)
> static grub_err_t
> grub_efi_console_input_init (struct grub_term_input *term)
> {
> - static grub_efi_guid_t text_input_ex_guid =
> + static grub_guid_t text_input_ex_guid =
> GRUB_EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL_GUID;
>
> if (grub_efi_is_finished)
> diff --git a/grub-core/term/efi/serial.c b/grub-core/term/efi/serial.c
> index e86ebce3f..5dfd2d86c 100644
> --- a/grub-core/term/efi/serial.c
> +++ b/grub-core/term/efi/serial.c
> @@ -31,7 +31,7 @@
> #include <grub/i18n.h>
>
> /* GUID. */
> -static grub_efi_guid_t serial_io_guid = GRUB_EFI_SERIAL_IO_GUID;
> +static grub_guid_t serial_io_guid = GRUB_EFI_SERIAL_IO_GUID;
>
> static void
> do_real_config (struct grub_serial_port *port)
> diff --git a/grub-core/video/efi_gop.c b/grub-core/video/efi_gop.c
> index 9c7901038..7247aeea7 100644
> --- a/grub-core/video/efi_gop.c
> +++ b/grub-core/video/efi_gop.c
> @@ -32,10 +32,10 @@
>
> GRUB_MOD_LICENSE ("GPLv3+");
>
> -static grub_efi_guid_t graphics_output_guid = GRUB_EFI_GOP_GUID;
> -static grub_efi_guid_t active_edid_guid = GRUB_EFI_EDID_ACTIVE_GUID;
> -static grub_efi_guid_t discovered_edid_guid = GRUB_EFI_EDID_DISCOVERED_GUID;
> -static grub_efi_guid_t efi_var_guid = GRUB_EFI_GLOBAL_VARIABLE_GUID;
> +static grub_guid_t graphics_output_guid = GRUB_EFI_GOP_GUID;
> +static grub_guid_t active_edid_guid = GRUB_EFI_EDID_ACTIVE_GUID;
> +static grub_guid_t discovered_edid_guid = GRUB_EFI_EDID_DISCOVERED_GUID;
> +static grub_guid_t efi_var_guid = GRUB_EFI_GLOBAL_VARIABLE_GUID;
> static struct grub_efi_gop *gop;
> static unsigned old_mode;
> static int restore_needed;
> diff --git a/grub-core/video/efi_uga.c b/grub-core/video/efi_uga.c
> index aa4659b8e..d53079e0b 100644
> --- a/grub-core/video/efi_uga.c
> +++ b/grub-core/video/efi_uga.c
> @@ -32,7 +32,7 @@
>
> GRUB_MOD_LICENSE ("GPLv3+");
>
> -static grub_efi_guid_t uga_draw_guid = GRUB_EFI_UGA_DRAW_GUID;
> +static grub_guid_t uga_draw_guid = GRUB_EFI_UGA_DRAW_GUID;
> static struct grub_efi_uga_draw_protocol *uga;
> static grub_uint64_t uga_fb;
> static grub_uint32_t uga_pitch;
> diff --git a/include/grub/efi/api.h b/include/grub/efi/api.h
> index fb881ae12..c0b6e86f1 100644
> --- a/include/grub/efi/api.h
> +++ b/include/grub/efi/api.h
> @@ -639,24 +639,6 @@ typedef grub_uint8_t grub_efi_ip_address_t[8]
> __attribute__ ((aligned(4)));
> typedef grub_efi_uint64_t grub_efi_physical_address_t;
> typedef grub_efi_uint64_t grub_efi_virtual_address_t;
>
> -struct grub_efi_guid
> -{
> - grub_uint32_t data1;
> - grub_uint16_t data2;
> - grub_uint16_t data3;
> - grub_uint8_t data4[8];
> -} __attribute__ ((aligned(8)));
> -typedef struct grub_efi_guid grub_efi_guid_t;
> -
> -struct grub_efi_packed_guid
> -{
> - grub_uint32_t data1;
> - grub_uint16_t data2;
> - grub_uint16_t data3;
> - grub_uint8_t data4[8];
> -} GRUB_PACKED;
> -typedef struct grub_efi_packed_guid grub_efi_packed_guid_t;
> -
> /* XXX although the spec does not specify the padding, this actually
> must have the padding! */
> struct grub_efi_memory_descriptor
> @@ -743,7 +725,7 @@ typedef struct grub_efi_memory_mapped_device_path
> grub_efi_memory_mapped_device_
> struct grub_efi_vendor_device_path
> {
> grub_efi_device_path_t header;
> - grub_efi_packed_guid_t vendor_guid;
> + grub_guid_t vendor_guid;
> grub_efi_uint8_t vendor_defined_data[0];
> } GRUB_PACKED;
> typedef struct grub_efi_vendor_device_path grub_efi_vendor_device_path_t;
> @@ -987,7 +969,7 @@ typedef struct grub_efi_cdrom_device_path
> grub_efi_cdrom_device_path_t;
> struct grub_efi_vendor_media_device_path
> {
> grub_efi_device_path_t header;
> - grub_efi_packed_guid_t vendor_guid;
> + grub_guid_t vendor_guid;
> grub_efi_uint8_t vendor_defined_data[0];
> } GRUB_PACKED;
> typedef struct grub_efi_vendor_media_device_path
> grub_efi_vendor_media_device_path_t;
> @@ -1006,7 +988,7 @@ typedef struct grub_efi_file_path_device_path
> grub_efi_file_path_device_path_t;
> struct grub_efi_protocol_device_path
> {
> grub_efi_device_path_t header;
> - grub_efi_packed_guid_t guid;
> + grub_guid_t guid;
> } GRUB_PACKED;
> typedef struct grub_efi_protocol_device_path grub_efi_protocol_device_path_t;
>
> @@ -1015,7 +997,7 @@ typedef struct grub_efi_protocol_device_path
> grub_efi_protocol_device_path_t;
> struct grub_efi_piwg_device_path
> {
> grub_efi_device_path_t header;
> - grub_efi_packed_guid_t guid;
> + grub_guid_t guid;
> } GRUB_PACKED;
> typedef struct grub_efi_piwg_device_path grub_efi_piwg_device_path_t;
>
> @@ -1186,47 +1168,47 @@ struct grub_efi_boot_services
>
> grub_efi_status_t
> (__grub_efi_api *install_protocol_interface) (grub_efi_handle_t *handle,
> - grub_efi_guid_t *protocol,
> + grub_guid_t *protocol,
> grub_efi_interface_type_t
> protocol_interface_type,
> void *protocol_interface);
>
> grub_efi_status_t
> (__grub_efi_api *reinstall_protocol_interface) (grub_efi_handle_t handle,
> - grub_efi_guid_t *protocol,
> + grub_guid_t *protocol,
> void *old_interface,
> void *new_interface);
>
> grub_efi_status_t
> (__grub_efi_api *uninstall_protocol_interface) (grub_efi_handle_t handle,
> - grub_efi_guid_t *protocol,
> + grub_guid_t *protocol,
> void *protocol_interface);
>
> grub_efi_status_t
> (__grub_efi_api *handle_protocol) (grub_efi_handle_t handle,
> - grub_efi_guid_t *protocol,
> + grub_guid_t *protocol,
> void **protocol_interface);
>
> void *reserved;
>
> grub_efi_status_t
> - (__grub_efi_api *register_protocol_notify) (grub_efi_guid_t *protocol,
> + (__grub_efi_api *register_protocol_notify) (grub_guid_t *protocol,
> grub_efi_event_t event,
> void **registration);
>
> grub_efi_status_t
> (__grub_efi_api *locate_handle) (grub_efi_locate_search_type_t search_type,
> - grub_efi_guid_t *protocol,
> + grub_guid_t *protocol,
> void *search_key,
> grub_efi_uintn_t *buffer_size,
> grub_efi_handle_t *buffer);
>
> grub_efi_status_t
> - (__grub_efi_api *locate_device_path) (grub_efi_guid_t *protocol,
> + (__grub_efi_api *locate_device_path) (grub_guid_t *protocol,
> grub_efi_device_path_t **device_path,
> grub_efi_handle_t *device);
>
> grub_efi_status_t
> - (__grub_efi_api *install_configuration_table) (grub_efi_guid_t *guid,
> + (__grub_efi_api *install_configuration_table) (grub_guid_t *guid,
> void *table);
>
> grub_efi_status_t
> @@ -1280,7 +1262,7 @@ struct grub_efi_boot_services
>
> grub_efi_status_t
> (__grub_efi_api *open_protocol) (grub_efi_handle_t handle,
> - grub_efi_guid_t *protocol,
> + grub_guid_t *protocol,
> void **protocol_interface,
> grub_efi_handle_t agent_handle,
> grub_efi_handle_t controller_handle,
> @@ -1288,30 +1270,30 @@ struct grub_efi_boot_services
>
> grub_efi_status_t
> (__grub_efi_api *close_protocol) (grub_efi_handle_t handle,
> - grub_efi_guid_t *protocol,
> + grub_guid_t *protocol,
> grub_efi_handle_t agent_handle,
> grub_efi_handle_t controller_handle);
>
> grub_efi_status_t
> (__grub_efi_api *open_protocol_information) (grub_efi_handle_t handle,
> - grub_efi_guid_t *protocol,
> + grub_guid_t *protocol,
>
> grub_efi_open_protocol_information_entry_t **entry_buffer,
> grub_efi_uintn_t *entry_count);
>
> grub_efi_status_t
> (__grub_efi_api *protocols_per_handle) (grub_efi_handle_t handle,
> - grub_efi_packed_guid_t
> ***protocol_buffer,
> + grub_guid_t ***protocol_buffer,
> grub_efi_uintn_t
> *protocol_buffer_count);
>
> grub_efi_status_t
> (__grub_efi_api *locate_handle_buffer) (grub_efi_locate_search_type_t
> search_type,
> - grub_efi_guid_t *protocol,
> + grub_guid_t *protocol,
> void *search_key,
> grub_efi_uintn_t *no_handles,
> grub_efi_handle_t **buffer);
>
> grub_efi_status_t
> - (__grub_efi_api *locate_protocol) (grub_efi_guid_t *protocol,
> + (__grub_efi_api *locate_protocol) (grub_guid_t *protocol,
> void *registration,
> void **protocol_interface);
>
> @@ -1369,7 +1351,7 @@ struct grub_efi_runtime_services
>
> grub_efi_status_t
> (__grub_efi_api *get_variable) (grub_efi_char16_t *variable_name,
> - const grub_efi_guid_t *vendor_guid,
> + const grub_guid_t *vendor_guid,
> grub_efi_uint32_t *attributes,
> grub_efi_uintn_t *data_size,
> void *data);
> @@ -1377,11 +1359,11 @@ struct grub_efi_runtime_services
> grub_efi_status_t
> (__grub_efi_api *get_next_variable_name) (grub_efi_uintn_t
> *variable_name_size,
> grub_efi_char16_t *variable_name,
> - grub_efi_guid_t *vendor_guid);
> + grub_guid_t *vendor_guid);
>
> grub_efi_status_t
> (__grub_efi_api *set_variable) (grub_efi_char16_t *variable_name,
> - const grub_efi_guid_t *vendor_guid,
> + const grub_guid_t *vendor_guid,
> grub_efi_uint32_t attributes,
> grub_efi_uintn_t data_size,
> void *data);
> @@ -1399,7 +1381,7 @@ typedef struct grub_efi_runtime_services
> grub_efi_runtime_services_t;
>
> struct grub_efi_configuration_table
> {
> - grub_efi_packed_guid_t vendor_guid;
> + grub_guid_t vendor_guid;
> void *vendor_table;
> } GRUB_PACKED;
> typedef struct grub_efi_configuration_table grub_efi_configuration_table_t;
> @@ -1794,7 +1776,7 @@ struct grub_efi_shim_lock_protocol
> };
> typedef struct grub_efi_shim_lock_protocol grub_efi_shim_lock_protocol_t;
>
> -typedef grub_efi_guid_t grub_efi_rng_algorithm_t;
> +typedef grub_guid_t grub_efi_rng_algorithm_t;
>
> struct grub_efi_rng_protocol
> {
> diff --git a/include/grub/efi/efi.h b/include/grub/efi/efi.h
> index 26f33433b..3d056a0a4 100644
> --- a/include/grub/efi/efi.h
> +++ b/include/grub/efi/efi.h
> @@ -37,18 +37,18 @@ struct linux_arch_kernel_header {
> };
>
> /* Functions. */
> -void *EXPORT_FUNC(grub_efi_locate_protocol) (grub_efi_guid_t *protocol,
> +void *EXPORT_FUNC(grub_efi_locate_protocol) (grub_guid_t *protocol,
> void *registration);
> grub_efi_handle_t *
> EXPORT_FUNC(grub_efi_locate_handle) (grub_efi_locate_search_type_t
> search_type,
> - grub_efi_guid_t *protocol,
> + grub_guid_t *protocol,
> void *search_key,
> grub_efi_uintn_t *num_handles);
> void *EXPORT_FUNC(grub_efi_open_protocol) (grub_efi_handle_t handle,
> - grub_efi_guid_t *protocol,
> + grub_guid_t *protocol,
> grub_efi_uint32_t attributes);
> grub_efi_status_t
> -EXPORT_FUNC(grub_efi_close_protocol) (grub_efi_handle_t handle,
> grub_efi_guid_t *protocol);
> +EXPORT_FUNC(grub_efi_close_protocol) (grub_efi_handle_t handle, grub_guid_t
> *protocol);
> int EXPORT_FUNC(grub_efi_set_text_mode) (int on);
> void EXPORT_FUNC(grub_efi_stall) (grub_efi_uintn_t microseconds);
> void *
> @@ -89,23 +89,23 @@ grub_err_t EXPORT_FUNC (grub_efi_set_virtual_address_map)
> (grub_efi_uintn_t memo
> grub_efi_uint32_t
> descriptor_version,
>
> grub_efi_memory_descriptor_t *virtual_map);
> grub_efi_status_t EXPORT_FUNC (grub_efi_get_variable_with_attributes) (const
> char *variable,
> - const
> grub_efi_guid_t *guid,
> + const
> grub_guid_t *guid,
>
> grub_size_t *datasize_out,
> void
> **data_out,
>
> grub_efi_uint32_t *attributes);
> grub_efi_status_t EXPORT_FUNC (grub_efi_get_variable) (const char *variable,
> - const grub_efi_guid_t
> *guid,
> + const grub_guid_t *guid,
> grub_size_t
> *datasize_out,
> void **data_out);
> grub_err_t
> EXPORT_FUNC (grub_efi_set_variable_with_attributes) (const char *var,
> - const grub_efi_guid_t *guid,
> + const grub_guid_t *guid,
> void *data,
> grub_size_t datasize,
> grub_efi_uint32_t attributes);
> grub_err_t
> EXPORT_FUNC (grub_efi_set_variable) (const char *var,
> - const grub_efi_guid_t *guid,
> + const grub_guid_t *guid,
> void *data,
> grub_size_t datasize);
> int
> diff --git a/include/grub/efiemu/efiemu.h b/include/grub/efiemu/efiemu.h
> index 5325e5839..caf0b505f 100644
> --- a/include/grub/efiemu/efiemu.h
> +++ b/include/grub/efiemu/efiemu.h
> @@ -176,26 +176,26 @@ grub_err_t grub_efiemu_loadcore_load (void);
> struct grub_efiemu_configuration_table
> {
> struct grub_efiemu_configuration_table *next;
> - grub_efi_guid_t guid;
> + grub_guid_t guid;
> void * (*get_table) (void *data);
> void (*unload) (void *data);
> void *data;
> };
> struct grub_efiemu_configuration_table32
> {
> - grub_efi_packed_guid_t vendor_guid;
> + grub_guid_t vendor_guid;
> grub_efi_uint32_t vendor_table;
> } GRUB_PACKED;
> typedef struct grub_efiemu_configuration_table32
> grub_efiemu_configuration_table32_t;
> struct grub_efiemu_configuration_table64
> {
> - grub_efi_packed_guid_t vendor_guid;
> + grub_guid_t vendor_guid;
> grub_efi_uint64_t vendor_table;
> } GRUB_PACKED;
> typedef struct grub_efiemu_configuration_table64
> grub_efiemu_configuration_table64_t;
> -grub_err_t grub_efiemu_unregister_configuration_table (grub_efi_guid_t guid);
> +grub_err_t grub_efiemu_unregister_configuration_table (grub_guid_t guid);
> grub_err_t
> -grub_efiemu_register_configuration_table (grub_efi_guid_t guid,
> +grub_efiemu_register_configuration_table (grub_guid_t guid,
> void * (*get_table) (void *data),
> void (*unload) (void *data),
> void *data);
> diff --git a/include/grub/efiemu/runtime.h b/include/grub/efiemu/runtime.h
> index 36d2dedf4..c9ad9fdfa 100644
> --- a/include/grub/efiemu/runtime.h
> +++ b/include/grub/efiemu/runtime.h
> @@ -29,7 +29,7 @@ struct grub_efiemu_ptv_rel
>
> struct efi_variable
> {
> - grub_efi_packed_guid_t guid;
> + grub_guid_t guid;
> grub_uint32_t namelen;
> grub_uint32_t size;
> grub_efi_uint32_t attributes;
> diff --git a/include/grub/gpt_partition.h b/include/grub/gpt_partition.h
> index 7a93f4329..020e71920 100644
> --- a/include/grub/gpt_partition.h
> +++ b/include/grub/gpt_partition.h
> @@ -22,15 +22,6 @@
> #include <grub/types.h>
> #include <grub/partition.h>
>
> -struct grub_gpt_part_guid
> -{
> - grub_uint32_t data1;
> - grub_uint16_t data2;
> - grub_uint16_t data3;
> - grub_uint8_t data4[8];
> -} GRUB_PACKED;
> -typedef struct grub_gpt_part_guid grub_gpt_part_guid_t;
> -
> #define GRUB_GPT_PARTITION_TYPE_EMPTY \
> { 0x0, 0x0, 0x0, \
> { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0 } \
> @@ -70,8 +61,8 @@ struct grub_gpt_header
>
> struct grub_gpt_partentry
> {
> - grub_gpt_part_guid_t type;
> - grub_gpt_part_guid_t guid;
> + grub_guid_t type;
> + grub_guid_t guid;
> grub_uint64_t start;
> grub_uint64_t end;
> grub_uint64_t attrib;
> diff --git a/include/grub/types.h b/include/grub/types.h
> index 6d5dc5cda..c56ce9820 100644
> --- a/include/grub/types.h
> +++ b/include/grub/types.h
> @@ -365,4 +365,13 @@ static inline void grub_set_unaligned64 (void *ptr,
> grub_uint64_t val)
> # define grub_absolute_pointer(val) ((void *) (val))
> #endif
>
> +struct grub_guid
> +{
> + grub_uint32_t data1;
> + grub_uint16_t data2;
> + grub_uint16_t data3;
> + grub_uint8_t data4[8];
> +} GRUB_PACKED;
> +typedef struct grub_guid grub_guid_t;
> +
> #endif /* ! GRUB_TYPES_HEADER */
> diff --git a/util/grub-install.c b/util/grub-install.c
> index e20820d9e..1ad04db36 100644
> --- a/util/grub-install.c
> +++ b/util/grub-install.c
> @@ -728,7 +728,7 @@ is_prep_partition (grub_device_t dev)
> if (grub_disk_read (dev->disk, p->offset, p->index,
> sizeof (gptdata), &gptdata) == 0)
> {
> - const grub_gpt_part_guid_t template = {
> + const grub_guid_t template = {
> grub_cpu_to_le32_compile_time (0x9e1a2d38),
> grub_cpu_to_le16_compile_time (0xc612),
> grub_cpu_to_le16_compile_time (0x4316),
> diff --git a/util/grub-probe.c b/util/grub-probe.c
> index 446bd2553..65c1ca3f8 100644
> --- a/util/grub-probe.c
> +++ b/util/grub-probe.c
> @@ -133,7 +133,7 @@ get_targets_string (void)
> }
>
> static int
> -print_gpt_guid (grub_gpt_part_guid_t guid)
> +print_gpt_guid (grub_guid_t guid)
> {
> guid.data1 = grub_le_to_cpu32 (guid.data1);
> guid.data2 = grub_le_to_cpu16 (guid.data2);
According to [1], this change broke GRUB on ia64:
Welcome to GRUB!
7 0 0x00006B 0x000000000000001E unexpected trap
7 0 0x000066 0x000000000000001E trap taken, number in ext PE
7 0 0x00003C 0x0000000000005A00 trap taken, offset in ext PE
I assume this is because of the strict alignment requirements on ia64.
Could you have a look?
Thanks,
Adrian
> [1] https://lists.gnu.org/archive/html/grub-devel/2023-08/msg00016.html
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer
`. `' Physicist
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
- Re: [PATCH v9 02/11] Unify GUID types,
John Paul Adrian Glaubitz <=
- Re: [PATCH v9 02/11] Unify GUID types, Oliver Steffen, 2023/08/11
- Re: [PATCH v9 02/11] Unify GUID types, Daniel Kiper, 2023/08/11
- Re: [PATCH v9 02/11] Unify GUID types, John Paul Adrian Glaubitz, 2023/08/12
- Re: [PATCH v9 02/11] Unify GUID types, Pedro Miguel Justo, 2023/08/12
- Re: [PATCH v9 02/11] Unify GUID types, Vladimir 'phcoder' Serbinenko, 2023/08/12
- Re: [PATCH v9 02/11] Unify GUID types, Vladimir 'phcoder' Serbinenko, 2023/08/13
- Re: [PATCH v9 02/11] Unify GUID types, Pedro Miguel Justo, 2023/08/14
- Re: [PATCH v9 02/11] Unify GUID types, Pedro Miguel Justo, 2023/08/14
- Re: [PATCH v9 02/11] Unify GUID types, Vladimir 'phcoder' Serbinenko, 2023/08/14
- Re: [PATCH v9 02/11] Unify GUID types, Pedro Miguel Justo, 2023/08/14