Ping for code review, please? thanks -- PMM
On Mon, 22 Jan 2024 at 14:35, Peter Maydell <peter.mayd...@linaro.org> wrote: > > This patchset wires up the NS EL2 virtual timer IRQ on the virt > board, similarly to what commit 058262e0a8b2 did for the sbsa-ref board. > > Version 1 was an RFC patchset, originally sent back in autumn: > https://patchew.org/QEMU/20230919101240.2569334-1-peter.mayd...@linaro.org/ > The main reason for it being an RFC is that the change, while correct, > triggers a bug in EDK2 guest firmware that makes EDK2 assert on bootup. > Since the RFC, we've upgraded our in-tree version of the EDK2 binaries > to a version that has the fix for that bug, so I think the QEMU side of > these patches is ready to go in now. > > To accommodate users who might still be using older EDK2 binaries, > we only expose the IRQ in the DTB and ACPI tables for virt-9.0 and > later machine types. > > If you see in the guest: > ASSERT [ArmTimerDxe] > /home/kraxel/projects/qemu/roms/edk2/ArmVirtPkg/Library/ArmVirtTimerFdtClientLib/ArmVirtTimerFdtClientLib.c(72): > PropSize == 36 || PropSize == 48 > > then your options are: > * update your EDK2 binaries to edk2-stable202311 or newer > * use the 'virt-8.2' versioned machine type > * not use 'virtualization=on' > > I'll put something about this into the release notes when this > goes into git. (There are other reasons why you probably want a > newer EDK2 for AArch64 guests, so this is worth flagging up to our > downstream distros who don't take our pre-built firmware binaries.) > > changes v1->v2: > * the change in DTB and ACPI tables is now tied to the machine version > * handle change of the ARCH_TIMER_*_IRQ values from PPI numbers to INTIDs > * bump the FADT header to indicate ACPI v6.3, since we might be using > a 6.3 feature in the GTDT > * the avocado tests now all pass, because we have updated our copy > of EDK2 in pc-bios/ to a version which has the fix for the bug > which would otherwise cause it to assert on bootup > * patch 2 commit message improved to give details of the EDK2 assert and > state the options for dealing with it (this will also go into the > QEMU release notes) > > thanks > -- PMM > > Peter Maydell (3): > tests/qtest/bios-tables-test: Allow changes to virt GTDT > hw/arm/virt: Wire up non-secure EL2 virtual timer IRQ > tests/qtest/bios-tables-tests: Update virt golden reference > > include/hw/arm/virt.h | 2 ++ > hw/arm/virt-acpi-build.c | 20 +++++++++---- > hw/arm/virt.c | 60 ++++++++++++++++++++++++++++++++------ > tests/data/acpi/virt/FACP | Bin 276 -> 276 bytes > tests/data/acpi/virt/GTDT | Bin 96 -> 104 bytes > 5 files changed, 67 insertions(+), 15 deletions(-) >