On Tue, May 30, 2023 at 05:08:52PM +0100, Nikos Nikoleris wrote: > Hello, > > This series adds initial support for building arm64 tests as EFI > apps and running them under QEMU. Much like x86_64, we import external > dependencies from gnu-efi and adapt them to work with types and other > assumptions from kvm-unit-tests. In addition, this series adds support > for enumerating parts of the system using ACPI. > > The first set of patches, moves the existing ACPI code to the common > lib path. Then, it extends definitions and functions to allow for more > robust discovery of ACPI tables. We add support for setting up the PSCI > conduit, discovering the UART, timers, GIC and cpus via ACPI. The code > retains existing behavior and gives priority to discovery through DT > when one has been provided. > > In the second set of patches, we add support for getting the command > line from the EFI shell. This is a requirement for many of the > existing arm64 tests. > > In the third set of patches, we import code from gnu-efi, make minor > changes and add an alternative setup sequence from arm64 systems that > boot through EFI. Finally, we add support in the build system and a > run script which is used to run an EFI app. > > After this set of patches one can build arm64 EFI tests: > > $> ./configure --enable-efi > $> make > > And use the run script to run an EFI tests: > > $> ./arm/efi/run ./arm/selftest.efi -smp 2 -m 256 -append "setup smp=2 mem=256" > > Or all tests: > > $> ./run_tests.sh > Hey Nikos, I've just merged this. Thanks for all your hard work and patience. Now we need to get it to work on bare-metal, starting with early zeroing of BSS and anything else we deferred from this review. Yay! drew