mbox series

[v2,0/6] smbios: Deal with tables beyond 4GB

Message ID 20231015024511.3995580-1-sjg@chromium.org
Headers show
Series smbios: Deal with tables beyond 4GB | expand

Message

Simon Glass Oct. 15, 2023, 2:45 a.m. UTC
When the malloc() region extends beyond 4GB on ARM we may end up with
an SMBIOS table in that region.

Add support for writing an SMBIOS3 table, which supports a 64-bit
address.

Note that this problem does not happen on x86 since it requires the
tables to be placed just below 1MB in memory, unless
CONFIG_BLOBLIST_TABLES is enabled.


Changes in v2:
- Check the end of the table rather than the start.
- Add a new patch to correct gd_smbios_start()
- Add a note about why unmap_system() is called

Simon Glass (6):
  smbios: Refactor 32-bit code into an else statement
  smbios: Move the rest of the SMBIOS2 code
  smbios: Use SMBIOS 3.0 to support an address above 4GB
  smbios: Correct gd_smbios_start()
  efi: Use the correct GUID for the SMBIOS table
  smbios: Require the caller to align the SMBIOS table

 include/asm-generic/global_data.h |  2 +-
 include/efi_api.h                 |  4 ++
 include/smbios.h                  | 27 +++++++++--
 lib/efi_loader/efi_smbios.c       | 14 ++++--
 lib/smbios.c                      | 79 ++++++++++++++++++-------------
 5 files changed, 85 insertions(+), 41 deletions(-)