u-boot/arch/x86/include/asm
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 global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
arch-apollolake doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
arch-baytrail x86: baytrail: acpi: Replace _ADR() by _UID() in description of PCI host bridge 2020-06-02 09:16:13 +08:00
arch-braswell command: Remove the cmd_tbl_t typedef 2020-05-18 18:36:55 -04:00
arch-broadwell x86: Remove duplicate newlines 2024-07-15 12:12:19 -06:00
arch-coreboot doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
arch-ivybridge doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
arch-qemu x86: qemu: Support getting high memory size 2019-09-10 14:19:39 +08:00
arch-quark Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
arch-queensbay SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
arch-slimbootloader x86: Drop <common.h> from remaining header files 2023-11-07 14:50:52 -05:00
arch-tangier x86: tangier: Replace Method() by Name() for _STA object 2021-11-01 09:50:55 +08:00
fsp doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
fsp1 doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
fsp2 event: Convert arch_cpu_init_dm() to use events 2022-03-10 08:28:36 -05:00
video
acpi.h x86: acpi: Move APIs unrelated to ACPI tables generation to a separate library 2018-07-20 09:33:22 +08:00
acpi_nhlt.h x86: Drop nhlt_serialise() 2020-09-01 17:00:28 +08:00
acpi_table.h acpi: Move function prototype 2024-10-27 17:24:13 -06:00
acpigen.h x86: acpi: Add PCT and PTC tables 2020-09-25 11:27:18 +08:00
atomic.h x86: Convert from ACCESS_ONCE to READ/WRITE_ONCE 2020-07-01 10:11:03 -04:00
bitops.h x86: Remove duplicate newlines 2024-07-15 12:12:19 -06:00
bootm.h x86: Support booting a 64-bit kernel from 64-bit U-Boot 2023-03-25 11:07:21 +01:00
bootparam.h x86: Update docs link in bootparam header 2023-07-09 03:53:08 +02:00
byteorder.h x86: Remove duplicate newlines 2024-07-15 12:12:19 -06:00
cache.h Finish converting CONFIG_SYS_CACHELINE_SIZE to Kconfig 2021-08-31 17:47:49 -04:00
cb_sysinfo.h Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
cmos_layout.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
config.h Convert CONFIG_SYS_BOOT_RAMDISK_HIGH to Kconfig 2022-07-07 14:01:09 -04:00
control_regs.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
coreboot_tables.h Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
cpu.h x86: cpu: Add a few prototypes to the header file 2024-10-18 14:10:22 -06:00
cpu_common.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
cpu_x86.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
dma-mapping.h x86: Drop <common.h> from remaining header files 2023-11-07 14:50:52 -05:00
e820.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
early_cmos.h Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
efi.h x86: Show some EFI info with the bdinfo command 2021-10-21 03:46:03 +02:00
fast_spi.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
fsp_arch.h x86: Move fsp_ffs.h include to fsp_arch.h 2019-10-08 13:50:55 +08:00
global_data.h Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
gpio.h dm: treewide: Rename ..._platdata variables to just ..._plat 2020-12-13 16:51:09 -07:00
handoff.h Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
hob.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
i8254.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
i8259.h x86: Fix i8259 ifdef include guard 2022-12-14 12:04:51 +08:00
ibmpc.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
intel_acpi.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
intel_gnvs.h x86: Add an enum name for the GNVS firmware type 2022-03-14 15:20:40 +08:00
intel_opregion.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
intel_pinctrl.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
intel_pinctrl_defs.h gpio: x86: Drop the deprecated methods in intel_gpio 2021-03-03 15:40:11 -05:00
intel_regs.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
interrupt.h x86: Show the interrupt pointer with 'irqinfo' 2020-11-06 09:51:29 +08:00
io.h x86: provide mb() macro 2024-09-03 09:12:00 -06:00
ioapic.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
ioctl.h
irq.h x86: irq: Fix some typos 2020-08-03 10:46:56 +08:00
ist.h x86: Remove duplicate newlines 2024-07-15 12:12:19 -06:00
itss.h x86: Move priv/plat structs for intel_common to headers 2021-01-05 12:24:41 -07:00
lapic.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
linkage.h
lpc_common.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
lpss.h x86: Add low-power subsystem (lpss) support 2019-12-15 11:44:25 +08:00
me_common.h x86: Remove duplicate newlines 2024-07-15 12:12:19 -06:00
microcode.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
mp.h Restore patch series "arm: dts: am62-beagleplay: Fix Beagleplay Ethernet" 2024-05-20 13:35:03 -06:00
mpspec.h x86: Remove duplicate newlines 2024-07-15 12:12:19 -06:00
mrc_common.h board_f: Fix types for board_get_usable_ram_top() 2022-09-23 15:12:42 -04:00
mrccache.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
msr-index.h x86: apl: Add core init for the SoC 2020-11-05 14:58:45 +08:00
msr.h x86: Remove duplicate newlines 2024-07-15 12:12:19 -06:00
mtrr.h x86: Allow listing MTRRs in SPL 2023-07-17 17:08:44 +08:00
p2sb.h x86: Move priv/plat structs for intel_common to headers 2021-01-05 12:24:41 -07:00
pch_common.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
pci.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
pirq_routing.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
pmu.h x86: Fix header guard in asm/pmu.h 2021-01-05 12:24:41 -07:00
pnp_def.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
posix_types.h x86: Fix ptrdiff_t for x86_64 2024-08-15 16:14:36 -06:00
post.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
processor-flags.h
processor.h x86: Add support for newer CAR schemes 2019-12-15 11:44:18 +08:00
ptrace.h
qemu.h x86: Run QEMU machine setup in SPL 2023-08-09 23:31:11 +08:00
report_platform.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
scu.h x86: cpu: introduce scu_ipc_raw_command() 2018-09-17 14:34:15 +08:00
sections.h treewide: rework linker symbol declarations in sections header 2023-08-09 09:21:42 -04:00
setjmp.h x86: provide typedef jmp_buf 2022-10-29 07:36:33 -06:00
sfi.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
sipi.h Use __ASSEMBLY__ as the assembly macros 2020-05-18 21:19:23 -04:00
smm.h x86: Add some definitions for SMM 2020-09-25 11:27:16 +08:00
speedstep.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
spl.h spl: Remove CONFIG_SPL_BOARD_LOAD_IMAGE 2022-06-06 12:09:00 -04:00
string.h arch: Use CONFIG_XPL_BUILD instead of CONFIG_SPL_BUILD 2024-10-11 11:44:47 -06:00
sysreset.h x86: sysreset: Move priv/plat structs to headers 2021-01-05 12:24:41 -07:00
tables.h Remove duplication of table_compute_checksum function 2022-04-14 15:39:15 -04:00
turbo.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
types.h arch: types.h: factor out fixed width typedefs to int-ll64.h 2018-09-10 20:48:16 -04:00
u-boot-x86.h x86: cpu: Use default print_cpuinfo() for all 2024-10-18 14:10:22 -06:00
u-boot.h SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
unaligned.h
zimage.h x86: zboot: Separate logic functions from commands 2024-04-10 13:49:16 -06:00