Re: [PATCH v6 34/36] tests/qtest/bios-tables-test: Add aarch64 ACPI PCI hotplug test

2025-07-14 Thread Eric Auger
Hi Igor,

On 7/11/25 3:47 PM, Igor Mammedov wrote:
> On Tue,  8 Jul 2025 16:23:16 +0200
> Eric Auger  wrote:
>
>> From: Gustavo Romero 
>>
>> 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.

Sure I will work on that on top of this series.

Thanks

Eric
>  
>> Signed-off-by: Gustavo Romero 
>> Signed-off-by: Eric Auger 
>> Reviewed-by: Jonathan Cameron 
>>
>> ---
>> 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 = 0x4000ULL,
>> +.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 = 0x4000ULL,
>> +.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);




Re: [PATCH v6 34/36] tests/qtest/bios-tables-test: Add aarch64 ACPI PCI hotplug test

2025-07-11 Thread Igor Mammedov
On Tue,  8 Jul 2025 16:23:16 +0200
Eric Auger  wrote:

> From: Gustavo Romero 
> 
> 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 
> Signed-off-by: Eric Auger 
> Reviewed-by: Jonathan Cameron 
> 
> ---
> 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 = 0x4000ULL,
> +.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 = 0x4000ULL,
> +.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);




[PATCH v6 34/36] tests/qtest/bios-tables-test: Add aarch64 ACPI PCI hotplug test

2025-07-08 Thread Eric Auger
From: Gustavo Romero 

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

Signed-off-by: Gustavo Romero 
Signed-off-by: Eric Auger 
Reviewed-by: Jonathan Cameron 

---
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 = 0x4000ULL,
+.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 = 0x4000ULL,
+.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);
-- 
2.49.0