On Tue, 8 Jul 2025 16:23:16 +0200 Eric Auger <[email protected]> wrote:
> From: Gustavo Romero <[email protected]> > > Add 2 new tests: > - test_acpi_aarch64_virt_acpi_pci_hotplug tests the acpi pci hotplug > using -global acpi-ged.acpi-pci-hotplug-with-bridge-support=on > - test_acpi_aarch64_virt_pcie_root_port_hpoff tests static-acpi index > on a root port with disabled hotplug tests a bit simple, I wonder if we could reuse related x86 variants for that (as those test a bit more corner cases with a more complicated topology). It's not a blocker and doing this of cause can be done on top. > > Signed-off-by: Gustavo Romero <[email protected]> > Signed-off-by: Eric Auger <[email protected]> > Reviewed-by: Jonathan Cameron <[email protected]> > > --- > v3 -> v4: > - add -device pci-testdev for the first test case > - fix the chassis > - add a test for static acpi-index > --- > tests/qtest/bios-tables-test.c | 52 ++++++++++++++++++++++++++++++++++ > 1 file changed, 52 insertions(+) > > diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c > index 357bcefd37..1074b8d67a 100644 > --- a/tests/qtest/bios-tables-test.c > +++ b/tests/qtest/bios-tables-test.c > @@ -1643,6 +1643,54 @@ static void test_acpi_aarch64_virt_tcg_memhp(void) > > } > > +static void test_acpi_aarch64_virt_acpi_pci_hotplug(void) > +{ > + test_data data = { > + .machine = "virt", > + .arch = "aarch64", > + .tcg_only = true, > + .uefi_fl1 = "pc-bios/edk2-aarch64-code.fd", > + .uefi_fl2 = "pc-bios/edk2-arm-vars.fd", > + .cd = > "tests/data/uefi-boot-images/bios-tables-test.aarch64.iso.qcow2", > + .ram_start = 0x40000000ULL, > + .scan_len = 256ULL * MiB, > + .variant = ".acpipcihp", > + }; > + > + /* Use ACPI PCI Hotplug */ > + test_acpi_one(" -global acpi-ged.acpi-pci-hotplug-with-bridge-support=on" > + " -cpu cortex-a57" > + " -device > pcie-root-port,id=pcie.1,bus=pcie.0,chassis=0,slot=1,addr=7.0" > + " -device pci-testdev,bus=pcie.1", > + &data); > + > + free_test_data(&data); > +} > + > +static void test_acpi_aarch64_virt_pcie_root_port_hpoff(void) > +{ > + test_data data = { > + .machine = "virt", > + .arch = "aarch64", > + .tcg_only = true, > + .uefi_fl1 = "pc-bios/edk2-aarch64-code.fd", > + .uefi_fl2 = "pc-bios/edk2-arm-vars.fd", > + .cd = > "tests/data/uefi-boot-images/bios-tables-test.aarch64.iso.qcow2", > + .ram_start = 0x40000000ULL, > + .scan_len = 256ULL * MiB, > + .variant = ".hpoffacpiindex", > + }; > + > + /* turn hotplug off on the pcie-root-port and use static acpi-index*/ > + test_acpi_one(" -device pcie-root-port,id=pcie.1,chassis=0," > + "slot=1,hotplug=off,addr=7.0" > + " -device pci-testdev,bus=pcie.1,acpi-index=12" > + " -cpu cortex-a57", > + &data); > + > + free_test_data(&data); > +} > + > static void test_acpi_microvm_prepare(test_data *data) > { > data->machine = "microvm"; > @@ -2602,6 +2650,10 @@ int main(int argc, char *argv[]) > qtest_add_func("acpi/virt/numamem", > test_acpi_aarch64_virt_tcg_numamem); > qtest_add_func("acpi/virt/memhp", > test_acpi_aarch64_virt_tcg_memhp); > + qtest_add_func("acpi/virt/acpipcihp", > + test_acpi_aarch64_virt_acpi_pci_hotplug); > + qtest_add_func("acpi/virt/hpoffacpiindex", > + test_acpi_aarch64_virt_pcie_root_port_hpoff); > qtest_add_func("acpi/virt/pxb", test_acpi_aarch64_virt_tcg_pxb); > qtest_add_func("acpi/virt/oem-fields", > test_acpi_aarch64_virt_oem_fields);
