u-boot/lib
Tom Rini 079214e4be Merge patch series "SMBIOS improvements"
Raymond Mao <raymond.mao@linaro.org> says:

Motivations for changes:
Current SMBIOS library and command-line tool is not fully matching with
the requirements:
1. Missing support for other mandatory types (#7, #9, #16, #17, #19).
2. Only a few platforms support SMBIOS node from the device tree.
3. Values of some fields are hardcoded in the library other than fetching
   from the device hardware.
4. Embedded data with dynamic length is not supported (E.g. Contained
   Object Handles in Type #2 and Contained Elements in Type #3)

Changes:
1. Refactor the SMBIOS library and command-line tool to better align with
   the SMBIOS spec.
2. Create an arch-specific driver for all aarch64-based platforms to fetch
   SMBIOS private data from the device hardware (processor and cache).
3. Create a sysinfo driver to poppulate platform SMBIOS private data.
4. Add generic SMBIOS DTS file for arm64 platforms for those common strings
   and values which cannot be retrieved from the system registers.
   Vendors can create their own SMBIOS node using this as an example.
   For those boards without SMBIOS nodes, this DTS file can be included to
   have a generic SMBIOS information of the system.
5. Add support for Type #7 (Cache Information) and link its handles to
   Type #4.
6. To minimize size-growth for those platforms which have not sufficient
   ROM spaces or the platforms which don't need detailed SMBIOS
   information, new added fields are only being built when kconfig
   GENERATE_SMBIOS_TABLE_VERBOSE is selected.

Once this patch is acceptted, subsequent patch sets will add other missing
types (#9, #16, #17, #19).

Tests:
To test this with QEMU arm64, please follow the guide on dt_qemu.rst to
get a merged DT to run with.
```
qemu-system-aarch64 -machine virt -machine dumpdtb=qemu.dtb
cat  <(dtc -I dtb qemu.dtb) <(dtc -I dtb ./dts/dt.dtb | grep -v /dts-v1/) \
  | dtc - -o merged.dtb
qemu-system-aarch64 -machine virt -nographic -bios u-boot.bin \
  -dtb merged.dtb
```

Link: https://lore.kernel.org/r/20241206225438.13866-1-raymond.mao@linaro.org
2025-01-14 14:29:49 -06:00
..
acpi acpi_table: Fix coverity defect in acpi_write_spcr 2024-11-01 13:33:57 -06:00
aes aes: Allow to store randomly generated IV in the FIT 2024-12-19 09:10:34 -06:00
at91 lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
blake2 lib: Remove duplicate newlines 2024-07-15 12:12:18 -06:00
bzip2 lib: Remove duplicate newlines 2024-07-15 12:12:18 -06:00
crypt lib: Remove duplicate newlines 2024-07-15 12:12:18 -06:00
crypto Merge patch series "Integrate MbedTLS v3.6 LTS with U-Boot" 2024-10-14 17:59:04 -06:00
dhry lib: Remove duplicate newlines 2024-07-15 12:12:18 -06:00
ecdsa lib: ecdsa: Add ECDSA384 support 2024-10-21 17:52:52 -06:00
efi include: export uuid.h 2024-09-12 17:35:37 +02:00
efi_driver efi_driver: use blk_create_devicef() 2024-10-18 17:05:19 +02:00
efi_loader efi_loader: Expose efi_reinstall_protocol_interface in efi_loader.h 2025-01-05 02:30:48 +01:00
efi_selftest efi_loader: Update startimage_exit self-test to check error 2025-01-05 02:30:48 +01:00
fwu_updates fwu: do not allow capsule processing on exceeding Trial Counter threshold 2024-09-19 10:52:50 +03:00
libavb lib: Remove duplicate newlines 2024-07-15 12:12:18 -06:00
libfdt global: Rename SPL_TPL_ to PHASE_ 2024-10-11 11:44:48 -06:00
lwip mbedtls: remove MBEDTLS_HAVE_TIME 2024-12-06 17:47:23 -06:00
lzma lib: Remove duplicate newlines 2024-07-15 12:12:18 -06:00
lzo lib: Remove duplicate newlines 2024-07-15 12:12:18 -06:00
mbedtls mbedtls: remove MBEDTLS_HAVE_TIME 2024-12-06 17:47:23 -06:00
optee lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
rsa lib: rsa: Set conventional salt length RSA-PSS parameter 2024-11-14 18:14:05 -06:00
zlib zlib: Fix big performance regression 2024-07-19 16:48:07 -06:00
zstd lib: Remove duplicate newlines 2024-07-15 12:12:18 -06:00
.gitignore lib: ignore oid_registry_data.c file 2020-01-22 17:47:57 -05:00
abuf.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
addr_map.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
aes.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
alist.c alist: Add a way to efficiently filter an alist 2024-11-03 21:27:12 -06:00
asm-offsets.c global_data: Remove environment members if not used 2024-08-26 14:06:08 -06:00
asn1_decoder.c common: Drop linux/printk.h from common header 2023-09-24 09:54:57 -04:00
bch.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
binman.c binman: Avoid skipping binman_init() 2024-12-02 07:40:30 -06:00
bitrev.c
charset.c efi_loader: add an EFI variable with the file contents 2024-04-20 08:22:24 +02:00
circbuf.c lib: Remove duplicate newlines 2024-07-15 12:12:18 -06:00
crc7.c lib: Remove duplicate newlines 2024-07-15 12:12:18 -06:00
crc8.c hash: Plumb crc8 into the hash functions 2024-12-27 15:16:10 -06:00
crc16-ccitt.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
crc16.c crc16: Move standard CRC-16 implementation from ubifs to lib 2022-04-21 14:32:40 -04:00
crc32.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
crc32c.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
ctype.c
date.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
display_options.c global: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILD 2024-10-11 11:44:48 -06:00
div64.c common: Drop linux/bitops.h from common header 2020-05-18 21:19:23 -04:00
elf.c lib: move phdr increment to for loop heading 2024-08-27 18:01:21 -06:00
errno.c sandbox: errno: avoid conflict with libc's errno 2021-05-24 14:21:30 -04:00
errno_str.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
fdt-libcrypto.c lib/rsa: Make fdt_add_bignum() available outside of RSA code 2021-04-14 15:06:08 -04:00
fdtdec.c Merge patch series "Keep the access to dtb_dt_embedded() within fdtdec" 2024-12-31 10:57:54 -06:00
fdtdec_common.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
fdtdec_test.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
getopt.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
gunzip.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
gzip.c Revert "Revert "Merge patch series "zlib: Address CVE-2016-9841""" 2024-07-05 13:57:02 -06:00
hang.c global: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILD 2024-10-11 11:44:48 -06:00
hash-checksum.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
hashtable.c lib: hashtable: Prevent recursive calling of callback functions 2024-12-07 09:07:45 -03:00
hexdump.c global: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILD 2024-10-11 11:44:48 -06:00
image-sparse.c lib: sparse: Fix error checking for write_sparse_chunk_raw 2024-02-09 09:42:04 +01:00
initcall.c initcall: Correct use of relocation offset 2024-07-04 09:25:20 -06:00
Kconfig Merge patch series "SMBIOS improvements" 2025-01-14 14:29:49 -06:00
ldiv.c
linux_compat.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
linux_string.c
list_sort.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
lmb.c lmb: Rename _lmb_alloc_addr() to lmb_alloc_addr_flags() 2024-12-30 13:21:55 -06:00
lz4.c lib: Remove duplicate newlines 2024-07-15 12:12:18 -06:00
lz4_wrapper.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
Makefile spl: lib: Allow for decompression in any SPL build 2024-12-27 15:16:10 -06:00
md5.c net: disable MBEDTLS in SPL 2024-12-06 17:47:23 -06:00
membuff.c lib: membuff: fix readline not returning line in case of overflow 2024-01-09 14:58:33 +01:00
net_utils.c net: net_utils: Move ip_to_string to lib/net_utils.c 2024-11-18 16:12:35 +01:00
of_live.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
oid_registry.c lib: add oid registry utility 2019-12-06 16:44:20 -05:00
panic.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
physmem.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
qsort.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
rand.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
rational.c lib: rational: copy the rational fraction lib routines from Linux 2021-06-11 16:34:52 +05:30
rbtree.c
rc4.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
rtc-lib.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
semihosting.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
sha1.c net: disable MBEDTLS in SPL 2024-12-06 17:47:23 -06:00
sha256.c net: disable MBEDTLS in SPL 2024-12-06 17:47:23 -06:00
sha512.c net: disable MBEDTLS in SPL 2024-12-06 17:47:23 -06:00
slre.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
smbios-parser.c smbios: correctly name Structure Table Maximum Size field 2024-02-02 19:57:45 +01:00
smbios.c Merge patch series "SMBIOS improvements" 2025-01-14 14:29:49 -06:00
sscanf.c xen: Code style conformity 2020-08-24 14:11:31 -04:00
string.c lib: Remove duplicate newlines 2024-07-15 12:12:18 -06:00
strto.c lib: provide function hextoull() 2024-11-13 08:14:23 -06:00
tables_csum.c lib: make table_compute_checksum() arguments const 2024-01-09 10:08:52 +01:00
time.c xpl: Rename spl_phase() to xpl_phase() 2024-10-11 11:44:47 -06:00
tiny-printf.c tiny-printf: Handle NULL pointer argument to %s 2024-11-29 12:59:27 +02:00
tpm-common.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
tpm-utils.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
tpm-v1.c sha1: Remove sha1 non-watchdog API 2024-10-14 17:58:30 -06:00
tpm-v2.c tpm: Keep the active PCRs in the chip private data 2025-01-07 15:45:51 +02:00
tpm_api.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
tpm_tcg2.c tpm: add kconfig control in tcg2_create_digest() 2025-01-07 15:45:52 +02:00
trace.c Merge patch series "Add 'trace wipe'" 2025-01-01 10:40:33 -06:00
uuid.c lib: uuid: display HTTP and IPV4 Config II protocols 2024-12-04 12:24:38 +01:00
vsprintf.c lib: vsprintf: fix API build 2024-11-13 08:16:41 -06:00
xxhash.c lib: Add xxhash support 2019-05-05 08:48:50 -04:00