On Fri, 20 Jun 2025 11:40:29 +0100 Jonathan Cameron <jonathan.came...@huawei.com> wrote:
> On Mon, 16 Jun 2025 11:46:57 +0200 > Eric Auger <eric.au...@redhat.com> wrote: > > > From: Gustavo Romero <gustavo.rom...@linaro.org> > > > > The test uses -global acpi-ged.acpi-pci-hotplug-with-bridge-support=on > > to force the usage of ACPI PCI hotplug. > > > > Signed-off-by: Gustavo Romero <gustavo.rom...@linaro.org> > > Signed-off-by: Eric Auger <eric.au...@redhat.com> > > Could we add the necessary (I'm not quite sure what) to trigger the _DSM > creation so EDSM gets used? I'm not keen on that being dead code > wrt to tests on ARM. relevant x86 example: " -device pcie-root-port,id=nohprp,port=0x0,chassis=2,hotplug=off," "addr=7.0" " -device pci-testdev,bus=nohprp,acpi-index=501" > > Jonathan > > > > > --- > > tests/qtest/bios-tables-test.c | 34 ++++++++++++++++++++++++++++++++++ > > 1 file changed, 34 insertions(+) > > > > diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c > > index 0b2bdf9d0d..4b9e391eaf 100644 > > --- a/tests/qtest/bios-tables-test.c > > +++ b/tests/qtest/bios-tables-test.c > > @@ -1643,6 +1643,38 @@ 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" > > + /* > > + * We just pick address=0x04 for the root port to avoid > > + * collisions with other PCI devices on the root bus > > (pcie.0). > > + * It could be any other value that doesn't collide. > > + * > > + * The 'chassis' and 'slot' options equal to 1 have no > > special > > + * meaning here, could be any integer, but we set them to > > known > > + * values to keep the test consistent. > > + */ > > + " -device > > pcie-root-port,bus=pcie.0,chassis=1,slot=1,addr=0x04.0x00", > > + &data); > > + > > + free_test_data(&data); > > +} > > + > > static void test_acpi_microvm_prepare(test_data *data) > > { > > data->machine = "microvm"; > > @@ -2580,6 +2612,8 @@ 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/pxb", > > test_acpi_aarch64_virt_tcg_pxb); > > qtest_add_func("acpi/virt/oem-fields", > > test_acpi_aarch64_virt_oem_fields); >