On 6/20/25 3:22 PM, Igor Mammedov wrote:
> 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,"   
>  
argh. I did not see hotplug=off.

So then static acpi-index also works on ARM. So I will make edsm
independent on acpi pcihp

Sorry for the noise

Eric
>   
>                                  "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);  


Reply via email to