The introduction of the new grub_guid struct which unified the three
previously existing guid structs [1,2] causes regressions on some
architectures [3..7].

Since there is no satisfactory solution yet and I am too short on time
to properly solve this quickly, and not to delay the release of Grub
2.12 any further, I propose to undo these changes and revisit the topic
of guid data types and related functions at a later point. This would
also give us more time for testing, on a wider set of architectures.

This series reverts the unified guid struct and the introduction of the
%pG printf format specifier, introduced by these commits:

  6ad116e5f guid: Make use of GUID printf format specifier
  f82dbf2bd kern/misc: Add a format specifier GUIDs
  06edd40db guid: Unify GUID types

It also fixes code introduced by these commits, since it makes use of
the unified GUID struct:

  e83a88f6e efi: Add grub_efi_set_variable_to_string()
  e0fa7dc84 bli: Add a module for the Boot Loader Interface

This restores the guid handling to the state from before 06edd40db,
which has been working on all platforms for many years.

Oliver

bli patch series:
[1] https://mail.gnu.org/archive/html/grub-devel/2023-05/msg00156.html

GUID unification:
[2] https://mail.gnu.org/archive/html/grub-devel/2023-05/msg00142.html

Itanium trap issue:
[3] https://mail.gnu.org/archive/html/grub-devel/2023-08/msg00019.html

bli blank screen issue:
[4] https://mail.gnu.org/archive/html/grub-devel/2023-07/msg00077.html
[5] https://mail.gnu.org/archive/html/grub-devel/2023-08/msg00030.html
[6] https://mail.gnu.org/archive/html/grub-devel/2023-09/msg00093.html
[7] https://mail.gnu.org/archive/html/grub-devel/2023-10/msg00000.html

Oliver Steffen (4):
  bli: don't use %pG format specifier
  Revert "guid: Make use of GUID printf format specifier"
  Revert "kern/misc: Add a format specifier GUIDs"
  guid: un-unifiy GUID types

 grub-core/commands/acpi.c            |  4 +-
 grub-core/commands/bli.c             | 11 +++-
 grub-core/commands/efi/efifwsetup.c  |  4 +-
 grub-core/commands/efi/loadbios.c    | 14 ++---
 grub-core/commands/efi/lsefi.c       | 17 ++++--
 grub-core/commands/efi/lsefisystab.c | 10 ++--
 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           | 14 +++--
 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             | 52 +++++++++++++-----
 grub-core/kern/efi/fdt.c             |  2 +-
 grub-core/kern/efi/init.c            |  2 +-
 grub-core/kern/efi/sb.c              |  4 +-
 grub-core/kern/misc.c                | 81 ++++++++--------------------
 grub-core/loader/efi/fdt.c           |  2 +-
 grub-core/loader/efi/linux.c         |  4 +-
 grub-core/loader/i386/xnu.c          | 13 +++--
 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               | 18 +++----
 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 +-
 39 files changed, 238 insertions(+), 204 deletions(-)

-- 
2.41.0


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

Reply via email to