u-boot/lib
Tom Rini 2800aecce0 Merge patch series "Implement ACPI on aarch64"
Patrick Rudolph <patrick.rudolph@9elements.com> says:

Based on the existing work done by Simon Glass this series adds
support for booting aarch64 devices using ACPI only.
As first target QEMU SBSA support is added, which relies on ACPI
only to boot an OS. As secondary target the Raspberry Pi4 was used,
which is broadly available and allows easy testing of the proposed
solution.

The series is split into ACPI cleanups and code movements, adding
Arm specific ACPI tables and finally SoC and mainboard related
changes to boot a Linux on the QEMU SBSA and RPi4. Currently only the
mandatory ACPI tables are supported, allowing to boot into Linux
without errors.

The QEMU SBSA support is feature complete and provides the same
functionality as the EDK2 implementation.

The changes were tested on real hardware as well on QEMU v9.0:

qemu-system-aarch64 -machine sbsa-ref -nographic -cpu cortex-a57 \
                    -pflash secure-world.rom \
                    -pflash unsecure-world.rom

qemu-system-aarch64 -machine raspi4b -kernel u-boot.bin -cpu cortex-a72 \
-smp 4 -m 2G -drive file=raspbian.img,format=raw,index=0 \
-dtb bcm2711-rpi-4-b.dtb -nographic

Tested against FWTS V24.03.00.

Known issues:
- The QEMU rpi4 support is currently limited as it doesn't emulate PCI,
  USB or ethernet devices!
- The SMP bringup doesn't work on RPi4, but works in QEMU (Possibly
  cache related).
- PCI on RPI4 isn't working on real hardware since the pcie_brcmstb
  Linux kernel module doesn't support ACPI yet.

Link: https://lore.kernel.org/r/20241023132116.970117-1-patrick.rudolph@9elements.com
2024-10-27 18:44:13 -06:00
..
acpi Merge patch series "Implement ACPI on aarch64" 2024-10-27 18:44:13 -06:00
aes global: Rename SPL_ to XPL_ 2024-10-11 11:44:48 -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: remove ERROR:, WARNING: prefixes in messages 2024-10-18 17:05:19 +02:00
efi_selftest lib: Remove duplicate newlines 2024-07-15 12:12:18 -06: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 net: lwip: tftp: add support of blksize option to client 2024-10-16 11:11:57 -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: fix defects in coverity scan 2024-10-18 14:18:12 -06:00
optee lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
rsa global: Rename SPL_TPL_ to PHASE_ 2024-10-11 11:44:48 -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 support for an allocated pointer list 2024-08-07 08:49:10 -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 net: lwip: add TFTP support and tftpboot command 2024-10-16 11:11:56 -06:00
bitrev.c lib: bitrev: Sync with Linux kernel v4.17 2018-09-18 00:01:18 -06:00
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 lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05: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 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
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 lib: fdtdec: Parse the gzip/lzo headers only when dependencies have met 2024-10-17 15:01:14 -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 global: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILD 2024-10-11 11:44:48 -06: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 "Implement ACPI on aarch64" 2024-10-27 18:44:13 -06:00
ldiv.c SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
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: Export the lmb data structure 2024-10-25 14:22:24 -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 net: lwip: build lwIP 2024-10-16 11:11:56 -06:00
md5.c md5: Remove md5 non-watchdog API 2024-10-14 17:58:28 -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 lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05: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 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
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 lib/sha*: include u-boot/schedule.h instead of cyclic.h 2024-10-23 06:52:38 +02:00
sha256.c lib/sha*: include u-boot/schedule.h instead of cyclic.h 2024-10-23 06:52:38 +02:00
sha512.c lib/sha*: include u-boot/schedule.h instead of cyclic.h 2024-10-23 06:52:38 +02: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 smbios: add extended Extended BIOS ROM Size 2024-07-31 08:29:16 +02: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: Handle a special case with str_to_list() 2024-08-07 08:49:10 -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 net: lwip: add DHCP support and dhcp commmand 2024-10-16 11:11:56 -06: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: allow the user to select the compiled algorithms 2024-06-30 13:58:31 +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: Untangle tpm2_get_pcr_info() 2024-06-30 13:58:31 +02:00
trace.c lib: Remove <common.h> inclusion from these files 2023-12-21 08:54:37 -05:00
uuid.c global: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILD 2024-10-11 11:44:48 -06:00
vsprintf.c include: export uuid.h 2024-09-12 17:35:37 +02:00
xxhash.c lib: Add xxhash support 2019-05-05 08:48:50 -04:00