On 10/5/23 12:47, Oliver Steffen wrote:
> This reverts commit 6ad116e5ff459ae06eb993d386da5e7589242667.
> 
> Signed-off-by: Oliver Steffen <ostef...@redhat.com>
> ---
>  grub-core/commands/efi/lsefi.c       | 13 ++++++++++++-
>  grub-core/commands/efi/lsefisystab.c |  6 +++++-
>  grub-core/commands/probe.c           | 12 ++++++++----
>  grub-core/kern/efi/efi.c             | 28 ++++++++++++++++++++++++++--
>  grub-core/loader/i386/xnu.c          |  9 +++++++--
>  5 files changed, 58 insertions(+), 10 deletions(-)
> 
> diff --git a/grub-core/commands/efi/lsefi.c b/grub-core/commands/efi/lsefi.c
> index 05e2e511e..6935cd302 100644
> --- a/grub-core/commands/efi/lsefi.c
> +++ b/grub-core/commands/efi/lsefi.c
> @@ -124,7 +124,18 @@ grub_cmd_lsefi (grub_command_t cmd __attribute__ 
> ((unused)),
>         if (k < ARRAY_SIZE (known_protocols))
>           grub_printf ("  %s\n", known_protocols[k].name);
>         else
> -         grub_printf ("  %pG\n", protocols[j]);
> +         grub_printf ("  %08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x\n",
> +                      protocols[j]->data1,
> +                      protocols[j]->data2,
> +                      protocols[j]->data3,
> +                      (unsigned) protocols[j]->data4[0],
> +                      (unsigned) protocols[j]->data4[1],
> +                      (unsigned) protocols[j]->data4[2],
> +                      (unsigned) protocols[j]->data4[3],
> +                      (unsigned) protocols[j]->data4[4],
> +                      (unsigned) protocols[j]->data4[5],
> +                      (unsigned) protocols[j]->data4[6],
> +                      (unsigned) protocols[j]->data4[7]);
>       }
>  
>      }
> diff --git a/grub-core/commands/efi/lsefisystab.c 
> b/grub-core/commands/efi/lsefisystab.c
> index 79ccee12a..eff8c41f3 100644
> --- a/grub-core/commands/efi/lsefisystab.c
> +++ b/grub-core/commands/efi/lsefisystab.c
> @@ -96,7 +96,11 @@ grub_cmd_lsefisystab (struct grub_command *cmd 
> __attribute__ ((unused)),
>  
>        grub_printf ("%p  ", t->vendor_table);
>  
> -      grub_printf ("%pG", &t->vendor_guid);
> +      grub_printf ("%08x-%04x-%04x-",
> +                t->vendor_guid.data1, t->vendor_guid.data2,
> +                t->vendor_guid.data3);
> +      for (j = 0; j < 8; j++)
> +     grub_printf ("%02x", t->vendor_guid.data4[j]);
>  
>        for (j = 0; j < ARRAY_SIZE (guid_mappings); j++)
>       if (grub_memcmp (&guid_mappings[j].guid, &t->vendor_guid,
> diff --git a/grub-core/commands/probe.c b/grub-core/commands/probe.c
> index be9637f33..cc8c05586 100644
> --- a/grub-core/commands/probe.c
> +++ b/grub-core/commands/probe.c
> @@ -130,10 +130,14 @@ grub_cmd_probe (grub_extcmd_context_t ctxt, int argc, 
> char **args)
>                 return grub_errno;
>               }
>             guid = &entry.guid;
> -           guid->data1 = grub_le_to_cpu32 (guid->data1);
> -           guid->data2 = grub_le_to_cpu16 (guid->data2);
> -           guid->data3 = grub_le_to_cpu16 (guid->data3);
> -           grub_snprintf (val, sizeof(val), "%pG", guid);
> +           grub_snprintf (val, sizeof(val),
> +                          "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
> +                          grub_le_to_cpu32 (guid->data1),
> +                          grub_le_to_cpu16 (guid->data2),
> +                          grub_le_to_cpu16 (guid->data3),
> +                          guid->data4[0], guid->data4[1], guid->data4[2],
> +                          guid->data4[3], guid->data4[4], guid->data4[5],
> +                          guid->data4[6], guid->data4[7]);
>           }
>         else if (grub_strcmp(dev->disk->partition->partmap->name, "msdos") == 
> 0)
>           {
> diff --git a/grub-core/kern/efi/efi.c b/grub-core/kern/efi/efi.c
> index a2afd8de9..5e1c147a5 100644
> --- a/grub-core/kern/efi/efi.c
> +++ b/grub-core/kern/efi/efi.c
> @@ -558,7 +558,20 @@ static void
>  dump_vendor_path (const char *type, grub_efi_vendor_device_path_t *vendor)
>  {
>    grub_uint32_t vendor_data_len = vendor->header.length - sizeof (*vendor);
> -  grub_printf ("/%sVendor(%pG)[%x: ", type, &vendor->vendor_guid, 
> vendor_data_len);
> +  grub_printf 
> ("/%sVendor(%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x)[%x: ",
> +            type,
> +            (unsigned) vendor->vendor_guid.data1,
> +            (unsigned) vendor->vendor_guid.data2,
> +            (unsigned) vendor->vendor_guid.data3,
> +            (unsigned) vendor->vendor_guid.data4[0],
> +            (unsigned) vendor->vendor_guid.data4[1],
> +            (unsigned) vendor->vendor_guid.data4[2],
> +            (unsigned) vendor->vendor_guid.data4[3],
> +            (unsigned) vendor->vendor_guid.data4[4],
> +            (unsigned) vendor->vendor_guid.data4[5],
> +            (unsigned) vendor->vendor_guid.data4[6],
> +            (unsigned) vendor->vendor_guid.data4[7],
> +            vendor_data_len);
>    if (vendor->header.length > sizeof (*vendor))
>      {
>        grub_uint32_t i;
> @@ -929,7 +942,18 @@ grub_efi_print_device_path (grub_efi_device_path_t *dp)
>             {
>               grub_efi_protocol_device_path_t *proto
>                 = (grub_efi_protocol_device_path_t *) dp;
> -             grub_printf ("/Protocol(%pG)",&proto->guid);
> +             grub_printf 
> ("/Protocol(%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x)",
> +                          (unsigned) proto->guid.data1,
> +                          (unsigned) proto->guid.data2,
> +                          (unsigned) proto->guid.data3,
> +                          (unsigned) proto->guid.data4[0],
> +                          (unsigned) proto->guid.data4[1],
> +                          (unsigned) proto->guid.data4[2],
> +                          (unsigned) proto->guid.data4[3],
> +                          (unsigned) proto->guid.data4[4],
> +                          (unsigned) proto->guid.data4[5],
> +                          (unsigned) proto->guid.data4[6],
> +                          (unsigned) proto->guid.data4[7]);
>             }
>             break;
>           default:
> diff --git a/grub-core/loader/i386/xnu.c b/grub-core/loader/i386/xnu.c
> index 4e31ce99a..93ba4476d 100644
> --- a/grub-core/loader/i386/xnu.c
> +++ b/grub-core/loader/i386/xnu.c
> @@ -726,8 +726,13 @@ grub_cpu_xnu_fill_devicetree (grub_uint64_t *fsbfreq_out)
>  #endif
>  
>        /* The name of key for new table. */
> -      grub_snprintf (guidbuf, sizeof (guidbuf), "%pG", &guid);
> -
> +      grub_snprintf (guidbuf, sizeof (guidbuf), "%08x-%04x-%04x-%02x%02x-",
> +                  guid.data1, guid.data2, guid.data3, guid.data4[0],
> +                  guid.data4[1]);
> +      for (j = 2; j < 8; j++)
> +     grub_snprintf (guidbuf + grub_strlen (guidbuf),
> +                    sizeof (guidbuf) - grub_strlen (guidbuf),
> +                    "%02x", guid.data4[j]);
>        /* For some reason GUID has to be in uppercase. */
>        for (j = 0; guidbuf[j] ; j++)
>       if (guidbuf[j] >= 'a' && guidbuf[j] <= 'f')

Acked-by: Laszlo Ersek <ler...@redhat.com>


_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to