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> --- 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); -- 2.49.0