Another update of [TrenchBoot] changes.  More context can be found in
the cover letter for [v1].  This set is compatible with v14 of Linux patches
[linux-v14].

As the code gets used in more configurationis (different hardware, Xen on UEFI
systems) lack of handling of various cases gets discovered and fixed.

The changes can also be viewed on GitHub at [TrenchBoot/grub].

-----

Changes in v4:
 - adjustments for latest master (4abac0ad5a791)
 - added grub_slr_entry_intel_info::boot_params_base
 - allocation of SLRT within OS2MLE
 - fixed use with TPM1.2
 - better compatibility with non-Linux
   + disabling boot_params-specific handling
   + making chainloader support Slaunch
 - code now makes sure FEATURE_CONTROL MSR is locked
 - fixed use on platforms where SINIT has MAXPHYSADDR capability (more than
   36 valid bits in MTRRs)
 - use safe math on constructing TXT heap
 - efi/txt: map file offset of MLE to offset within a loaded EFI image
 - efi/txt: don't assume that firmware can allocate page tables exactly where we
            ask it to, allow address to be lower (permitted by TXT)

Changes in [v3]:
 - rebase on latest master
 - overhaul that changes how SLRT is built, adds UEFI support and a common DL
   entry
 - AMD changes were removed from this series to be submitted separately

Changes in [v2]:
 - 5 patches landed as a separate [generic-x86] series
 - 3 patches were in [generic-x86] as well, got Reviewed-Bys and returned here;
   one of them was extracted out of a different patch
 - patches related to modules received some documentation additions
 - several commit messages became more verbose
 - some commits have seen cosmetic changes with no impact on functionality
 - a leak fix got dropped to be sent separately (it's not really related to the
   rest of changes)

-----

[TrenchBoot]: https://trenchboot.org/
[v1]: https://lists.gnu.org/archive/html/grub-devel/2024-08/msg00088.html
[v2]: https://lists.gnu.org/archive/html/grub-devel/2024-11/msg00000.html
[v3]: https://lists.gnu.org/archive/html/grub-devel/2024-12/msg00028.html
[TrenchBoot/grub]: 
https://github.com/TrenchBoot/grub/compare/4abac0a...tb-2.12-284-v4
[generic-x86]: 
https://lists.gnu.org/archive/html/grub-devel/2024-10/msg00055.html
[linux-v14]: 
https://lore.kernel.org/lkml/20250421162712.77452-1-ross.philip...@oracle.com/

-----

Aleksandr Burmashev (1):
  commands/tpm: Rename tpm module to tpm_verifier

Daniel Kiper (2):
  mmap: Add grub_mmap_get_lowest() and grub_mmap_get_highest()
  commands/i386/tpm: Add TPM TIS and CRB driver

Fedora Ninjas (1):
  slaunch: Add Secure Launch framework and commands

Michał Żygowski (1):
  multiboot2: Support TXT Secure Launch

Ross Philipson (11):
  i386: Add CRx, MMIO, MSR and extend CPUID definitions
  efi/tpm: Replace tpm command
  slaunch: Add Secure Launch Resource Table (SLRT) header file
  slaunch: Add main Secure Launch definitions header
  slaunch: Add SLR table setup support module
  i386/txt: Add Intel TXT definitions header file
  slaunch/txt: Add Intel TXT core implementation
  slaunch/txt: Add Intel TXT ACM module support
  slaunch/txt: Add Intel TXT verification routines
  i386/efi: Add DL stub as common DL event module
  efi/linux: Add Intel TXT Secure Launch support

Sergii Dmytruk (4):
  i386: extract grub_get_max_phy_addr_bits ()
  multiboot: Make GRUB_MULTIBOOT(make_mbi) return MBI's size
  slaunch: Introduce a hook for filling SLRT policy
  efi/chainloader: support Secure Launch

 docs/grub.texi                               |   32 +-
 grub-core/Makefile.am                        |    6 +
 grub-core/Makefile.core.def                  |   24 +-
 grub-core/commands/efi/tpm.c                 |    4 +-
 grub-core/commands/i386/tpm.c                |  151 +++
 grub-core/commands/{tpm.c => tpm_verifier.c} |   57 +-
 grub-core/lib/i386/relocator32.S             |    8 +
 grub-core/loader/efi/chainloader.c           |  144 ++-
 grub-core/loader/efi/linux.c                 |   16 +
 grub-core/loader/i386/bsd.c                  |    3 +
 grub-core/loader/i386/linux.c                |   85 +-
 grub-core/loader/i386/multiboot_mbi.c        |    4 +-
 grub-core/loader/i386/xnu.c                  |    2 +
 grub-core/loader/multiboot.c                 |   16 +-
 grub-core/loader/multiboot_elfxx.c           |   91 +-
 grub-core/loader/multiboot_mbi2.c            |  152 ++-
 grub-core/loader/slaunch/acmod.c             |  575 +++++++++
 grub-core/loader/slaunch/i386_linux.c        |  241 ++++
 grub-core/loader/slaunch/slaunch.c           |  204 ++++
 grub-core/loader/slaunch/slrt.c              |  327 +++++
 grub-core/loader/slaunch/txt.c               | 1114 ++++++++++++++++++
 grub-core/loader/slaunch/verify.c            |  297 +++++
 grub-core/loader/slaunch/x86_dlstub.c        |   93 ++
 grub-core/loader/slaunch/x86_dltrampoline.S  |   94 ++
 grub-core/loader/slaunch/x86_efi.c           |  379 ++++++
 grub-core/mmap/mmap.c                        |   83 ++
 grub-core/video/i386/pc/vbe.c                |   11 +-
 include/grub/file.h                          |    3 +
 include/grub/i386/cpuid.h                    |   27 +
 include/grub/i386/crfr.h                     |  190 +++
 include/grub/i386/linux.h                    |   11 +
 include/grub/i386/memory.h                   |    5 +
 include/grub/i386/mmio.h                     |   74 ++
 include/grub/i386/msr.h                      |   63 +
 include/grub/i386/tpm.h                      |   35 +
 include/grub/i386/txt.h                      |  720 +++++++++++
 include/grub/memory.h                        |    3 +
 include/grub/multiboot.h                     |    2 +-
 include/grub/multiboot2.h                    |    6 +-
 include/grub/slaunch.h                       |  151 +++
 include/grub/slr_table.h                     |  299 +++++
 include/grub/tpm.h                           |    2 +
 42 files changed, 5716 insertions(+), 88 deletions(-)
 create mode 100644 grub-core/commands/i386/tpm.c
 rename grub-core/commands/{tpm.c => tpm_verifier.c} (60%)
 create mode 100644 grub-core/loader/slaunch/acmod.c
 create mode 100644 grub-core/loader/slaunch/i386_linux.c
 create mode 100644 grub-core/loader/slaunch/slaunch.c
 create mode 100644 grub-core/loader/slaunch/slrt.c
 create mode 100644 grub-core/loader/slaunch/txt.c
 create mode 100644 grub-core/loader/slaunch/verify.c
 create mode 100644 grub-core/loader/slaunch/x86_dlstub.c
 create mode 100644 grub-core/loader/slaunch/x86_dltrampoline.S
 create mode 100644 grub-core/loader/slaunch/x86_efi.c
 create mode 100644 include/grub/i386/crfr.h
 create mode 100644 include/grub/i386/mmio.h
 create mode 100644 include/grub/i386/tpm.h
 create mode 100644 include/grub/i386/txt.h
 create mode 100644 include/grub/slaunch.h
 create mode 100644 include/grub/slr_table.h


base-commit: a4da71dafeea519b034beb159dfe80c486c2107c
prerequisite-patch-id: 5badbeabe202f72e525d8bcd95b6b18d996cb705
-- 
2.49.0


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

Reply via email to