mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-08 10:39:08 +00:00

Add support for Arm sbsa [1] v0.3+ that is supported by QEMU [2]. Unlike other Arm based platforms the machine only provides a minimal FDT that contains number of CPUs, ammount of memory and machine-version. The boot firmware has to provide ACPI tables to the OS. Due to this design a full DTB is added here as well that allows U-Boot's driver to properly function. The DTB is appended at the end of the U-Boot image and will be merged with the QEMU provided DTB. In addition provide documentation how to use, enable binman to fabricate both ROMs that are required to boot and add ACPI tables to make it full compatible to the EDK2 reference implementation. The board was tested using Fedora 40 Aarch64 Workstation. It's able to boot from USB and AHCI or network. Tested and found working: - serial - PCI - xHCI - Bochs display - AHCI - network using e1000e - CPU init - Booting Fedora 40 1: Server Base System Architecture (SBSA) 2: https://www.qemu.org/docs/master/system/arm/sbsa.html Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Cc: Peter Robinson <pbrobinson@gmail.com> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@konsulko.com>
54 lines
824 B
Text
54 lines
824 B
Text
if ARCH_QEMU
|
|
|
|
config SYS_VENDOR
|
|
default "emulation"
|
|
|
|
choice
|
|
prompt "QEMU ARM architecture"
|
|
default TARGET_QEMU_ARM_64BIT
|
|
|
|
config TARGET_QEMU_ARM_32BIT
|
|
bool "ARMv7-A, 32bit"
|
|
select ARCH_SUPPORT_PSCI
|
|
select BOARD_LATE_INIT
|
|
select CPU_V7A
|
|
select SYS_ARCH_TIMER
|
|
|
|
config TARGET_QEMU_ARM_64BIT
|
|
bool "ARMv8, 64bit"
|
|
select ARM64
|
|
select BOARD_LATE_INIT
|
|
|
|
config TARGET_QEMU_ARM_SBSA
|
|
bool "SBSA Reference"
|
|
select ARM64
|
|
select BINMAN
|
|
select BOARD_LATE_INIT
|
|
select ENABLE_ARM_SOC_BOOT0_HOOK
|
|
select MISC_INIT_R
|
|
endchoice
|
|
|
|
if TARGET_QEMU_ARM_32BIT || TARGET_QEMU_ARM_64BIT
|
|
|
|
config SYS_BOARD
|
|
default "qemu-arm"
|
|
|
|
config SYS_CONFIG_NAME
|
|
default "qemu-arm"
|
|
|
|
endif
|
|
|
|
if TARGET_QEMU_ARM_SBSA
|
|
|
|
config SYS_BOARD
|
|
default "qemu-sbsa"
|
|
|
|
config SYS_CONFIG_NAME
|
|
default "qemu-sbsa"
|
|
|
|
config SYS_SOC
|
|
default "qemu-sbsa"
|
|
|
|
endif
|
|
|
|
endif
|