From: Nikos Nikoleris <nikos.nikoleris@arm.com>
To: Andrew Jones <andrew.jones@linux.dev>
Cc: kvm@vger.kernel.org, kvmarm@lists.linux.dev, pbonzini@redhat.com,
alexandru.elisei@arm.com, ricarkol@google.com
Subject: Re: [PATCH v4 30/30] arm64: Add an efi/run script
Date: Wed, 22 Mar 2023 11:57:17 +0000 [thread overview]
Message-ID: <31ac48f6-c8d9-edb1-d013-551489a34740@arm.com> (raw)
In-Reply-To: <20230322112455.got7oypemataep2c@orel>
On 22/03/2023 11:24, Andrew Jones wrote:
> On Wed, Mar 22, 2023 at 10:02:35AM +0000, Nikos Nikoleris wrote:
>> Hi Drew,
>>
>> On 21/03/2023 18:41, Andrew Jones wrote:
>>> On Mon, Feb 13, 2023 at 10:17:59AM +0000, Nikos Nikoleris wrote:
>>>> This change adds a efi/run script inspired by the one in x86. This
>>>> script will setup a folder with the test compiled as an EFI app and a
>>>> startup.nsh script. The script launches QEMU providing an image with
>>>> EDKII and the path to the folder with the test which is executed
>>>> automatically.
>>>>
>>>> For example:
>>>>
>>>> $> ./arm/efi/run ./arm/selftest.efi setup smp=2 mem=256
>>>
>>> This should be
>>>
>>> ./arm/efi/run ./arm/selftest.efi -append "setup smp=2 mem=256" -smp 2 -m 256
>>>
>>
>> Indeed, I will update the commit message.
>>
>>> but I can't get any tests to run through ./arm/efi/run. All of them
>>> immediately die with a DABT_EL1. I can get the tests to run (and pass) by
>>> manually booting into UEFI with the FAT partition pointing at the parent
>>> directory
>>>
>>
>> I suppose the DABT_EL1 is happening after the test has started and not while
>> the UEFI interactive shell starts?
>
> The countdown completes and the startup script runs (I can add an echo to
> check it). So it must be the test that fails.
>
>>
>>> $QEMU -nodefaults -machine virt -accel tcg -cpu cortex-a57 \
>>> -device pci-testdev -display none -serial stdio \
>>> -bios /usr/share/edk2/aarch64/QEMU_EFI.silent.fd \
>>> -drive file.dir=efi-tests/,file.driver=vvfat,file.rw=on,format=raw,if=virtio
>>>
>>
>> Do you hit the DABT_EL1 if you let it automatically start using the
>> startup.nsh prepared by the ./arm/efi/run script? Meaning change the above
>> command if you provided -drive file.dir=efi-tests/timer instead:
>>
>> $QEMU -nodefaults -machine virt -accel tcg -cpu cortex-a57 \
>> -device pci-testdev -display none -serial stdio \
>> -bios /usr/share/edk2/aarch64/QEMU_EFI.silent.fd \
>> -drive file.dir=efi
>> tests/timer,file.driver=vvfat,file.rw=on,format=raw,if=virtio
>
> Yes, this is what ./arm/efi/run does, and it doesn't help to use the
> command line directly.
>
>>
>> Thanks for reviewing this!
>>
>> Nikos
>>
>>> and then, for example for the timer test, doing
>>>
>>> fs0:
>>> cd timer
>>> timer.efi
>
> This actually doesn't work. I was actually doing
>
> fs0:
> cd timer
> ls
> timer.efi
>
> and, believe it or not, without the 'ls' I get the dabt, with the 'ls' the
> test runs and passes. Adding an 'ls' to the startup script doesn't help
> the automatic execution though.
>
> Which versions of QEMU and edk2 are you using? And what file system do you
> have the efi-tests directory on?
>
I am using the QEMU_EFI.fd image that comes with Ubuntu 20.04.6
(0~20191122.bd85bf54-2ubuntu3.4)
https://packages.ubuntu.com/focal-updates/qemu-efi-aarch64
and I've tried two different versions of QEMU
$> qemu-system-aarch64 --version
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.24)
Copyright (c) 2003-2019 Fabrice Bellard and the QEMU Project developers
$> ../qemu/build/qemu-system-aarch64 --version
QEMU emulator version 7.0.0 (v7.0.0-dirty)
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers
efi-tests is on ext4
I am happy to have a closer look if you help me reproduce your environment.
Thanks,
Nikos
next prev parent reply other threads:[~2023-03-22 11:57 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-13 10:17 [PATCH v4 00/30] EFI and ACPI support for arm64 Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 01/30] lib: Move acpi header and implementation to lib Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 02/30] x86: Move x86_64-specific EFI CFLAGS to x86_64 Makefile Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 03/30] arm/Makefile.common: Compile lib/acpi.c if CONFIG_EFI=y Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 04/30] lib: Apply Lindent to acpi.{c,h} Nikos Nikoleris
2023-03-09 7:11 ` Shaoqin Huang
2023-03-21 17:32 ` Andrew Jones
2023-03-22 10:05 ` Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 05/30] lib: Fix style for acpi.{c,h} Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 06/30] lib/acpi: Convert table names to Linux style Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 07/30] x86: Avoid references to fields of ACPI tables Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 08/30] lib/acpi: Ensure all struct definition for ACPI tables are packed Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 09/30] lib/acpi: Add support for the XSDT table Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 10/30] lib/acpi: Extend the definition of the FADT table Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 11/30] devicetree: Check that fdt is not NULL in dt_available() Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 12/30] arm64: Add support for setting up the PSCI conduit through ACPI Nikos Nikoleris
2023-03-21 17:31 ` Andrew Jones
2023-02-13 10:17 ` [PATCH v4 13/30] arm64: Add support for discovering the UART " Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 14/30] arm64: Add support for timer initialization " Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 15/30] arm64: Add support for cpu " Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 16/30] arm64: Add support for gic " Nikos Nikoleris
2023-03-30 6:46 ` Shaoqin Huang
2023-02-13 10:17 ` [PATCH v4 17/30] lib/printf: Support for precision modifier in printf Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 18/30] lib/printf: Add support for printing wide strings Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 19/30] lib/efi: Add support for getting the cmdline Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 20/30] arm/arm64: Rename etext to _etext Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 21/30] lib: Avoid ms_abi for calls related to EFI on arm64 Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 22/30] arm64: Add a new type of memory type flag MR_F_RESERVED Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 23/30] arm64: Add a setup sequence for systems that boot through EFI Nikos Nikoleris
2023-04-25 7:04 ` Shaoqin Huang
2023-04-25 9:09 ` Nikos Nikoleris
2023-04-25 18:31 ` Andrew Jones
2023-02-13 10:17 ` [PATCH v4 24/30] arm64: Copy code from GNU-EFI Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 25/30] arm64: Change GNU-EFI imported code to use defined types Nikos Nikoleris
2023-03-30 6:49 ` Shaoqin Huang
2023-02-13 10:17 ` [PATCH v4 26/30] arm64: Use code from the gnu-efi when booting with EFI Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 27/30] lib: Avoid external dependency in libelf Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 28/30] arm64: Add support for efi in Makefile Nikos Nikoleris
2023-03-21 18:21 ` Andrew Jones
2023-02-13 10:17 ` [PATCH v4 29/30] lib: arm: Print test exit status Nikos Nikoleris
2023-02-13 10:17 ` [PATCH v4 30/30] arm64: Add an efi/run script Nikos Nikoleris
2023-03-21 18:41 ` Andrew Jones
2023-03-22 10:02 ` Nikos Nikoleris
2023-03-22 11:24 ` Andrew Jones
2023-03-22 11:57 ` Nikos Nikoleris [this message]
2023-03-22 12:32 ` Andrew Jones
2023-03-22 19:09 ` Nikos Nikoleris
2023-03-23 17:52 ` Andrew Jones
2023-03-28 9:03 ` Alexandru Elisei
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=31ac48f6-c8d9-edb1-d013-551489a34740@arm.com \
--to=nikos.nikoleris@arm.com \
--cc=alexandru.elisei@arm.com \
--cc=andrew.jones@linux.dev \
--cc=kvm@vger.kernel.org \
--cc=kvmarm@lists.linux.dev \
--cc=pbonzini@redhat.com \
--cc=ricarkol@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).