On Tue, 10 Jun 2025 11:29:02 -0300
Gustavo Romero <gustavo.rom...@linaro.org> wrote:

> Hi Igor,
> 
> On 6/2/25 03:06, Gustavo Romero wrote:
> > Hi Igor and Eric,
> > 
> > I'm sending again this to the mailing list since it seems the first one
> > got lost... I can't find it either in qemu-devel@ or in qemu-arm@ :(
> > 
> > On 5/30/25 08:51, Igor Mammedov wrote:  
> >> On Wed, 28 May 2025 12:04:26 -0300
> >> Gustavo Romero <gustavo.rom...@linaro.org> wrote:
> >>  
> >>> Hi Igor,
> >>>
> >>> On 5/28/25 10:02, Igor Mammedov wrote:  
> >>>> On Wed, 28 May 2025 09:41:15 -0300
> >>>> Gustavo Romero <gustavo.rom...@linaro.org> wrote:  
> >>>>> Hi Igor,
> >>>>>
> >>>>> On 5/28/25 06:38, Igor Mammedov wrote:  
> >>>>>> On Tue, 27 May 2025 09:40:26 +0200
> >>>>>> Eric Auger <eric.au...@redhat.com> wrote:  
> >>>>>>> From: Gustavo Romero <gustavo.rom...@linaro.org>
> >>>>>>>
> >>>>>>> ACPI PCI hotplug is now turned on by default so we need to change the
> >>>>>>> existing tests to keep it off. However, even setting the ACPI PCI
> >>>>>>> hotplug off in the existing tests, there will be changes in the ACPI
> >>>>>>> tables because the _OSC method was modified, hence in the next patch 
> >>>>>>> of
> >>>>>>> this series the blobs are updated accordingly.
> >>>>>>>
> >>>>>>> Signed-off-by: Gustavo Romero <gustavo.rom...@linaro.org>
> >>>>>>> Signed-off-by: Eric Auger <eric.au...@redhat.com>  
> >>>>>>
> >>>>>> it would be better to test whatever default we end up with.
> >>>>>> (like x86)  
> >>>>>
> >>>>> hmm maybe there is a confusion here, Igor. We are actually planning 
> >>>>> what you  
> >>>>
> >>>> perhaps, see my reply to Eric about my expectations wrt tests.  
> >>>
> >>> Yip, I read it before my reply here.
> >>>
> >>>  
> >>>> (i.e. default tests shouldn't have any explicit CLI options,
> >>>> instead it should follow whitelist blobs/set new default patch/update 
> >>>> blobs pattern)  
> >>>
> >>> I see. I agree with that. But this patch is not about the new test. The 
> >>> new test is
> >>> _not_ in this series. Patches 8/25, 10/25, and 24/25 are _not_ about the 
> >>> new test but
> >>> about adapting the _legacy tests_ (native acpi) to the situation when 
> >>> ACPI HP becomes
> >>> the default, because this series makes acpi-pcihp=on the default, hence 
> >>> the CLI option
> >>> "acpi-pcihp=off" added to them. An update to the blobs are also necessary 
> >>> because of the
> >>> change in _OSC method, even when acpi-pcihp=off.
> >>>
> >>>  
> >>>>> said. This patch and the other two in this series related to the 
> >>>>> bios-tables-test
> >>>>> (i.e., patches 8/25 and 10/25) are for actually making the current 
> >>>>> (legacy) test pass,
> >>>>> since the new default as per this series will be acpi-pcihp=on. That's 
> >>>>> why here we're
> >>>>> adapting the current test here to have acpi-pcihp=off.
> >>>>>
> >>>>> The new test that will test for acpi-pcihp=on (the new default) is not 
> >>>>> in this series
> >>>>> and we decided to merge it separate. It's in the patch 4/5 and 5/5 of 
> >>>>> the follow series:  
> >>>
> >>> We're doing the "blobs/set new default patch/update blobs pattern" in the 
> >>> new test, which
> >>> we can merge later, once this series is merged, no? The step "set new 
> >>> default" then will
> >>> not be necessary because the new test will be merged separate, after this 
> >>> series, so when
> >>> acpi-pcihp=on is already the default.
> >>>
> >>> Please note that although we're using acpi-pcihp=on in the new test, it's 
> >>> not necessary,
> >>> we can dropped this option, making it implicit as you say, and it will 
> >>> work. This is the
> >>> new test:
> >>>  
> >>>>> https://mail.gnu.org/archive/html/qemu-devel/2025-05/msg05828.html 4/5
> >>>>> https://mail.gnu.org/archive/html/qemu-devel/2025-05/msg05827.html 5/5  
> >>>
> >>>
> >>> Thus, there are to "acts" of modifying the bios-tables-test:
> >>>
> >>> 1) Adapt the current tests to when acpi-pcihp=on becomes the default 
> >>> (hence the addition
> >>>      to them of "acpi-pcihp=off".  
> >>
> >>
> >> that's what I disagree with.
> >>
> >> 1) Instead adapting majority of tests to legacy before switching defaults,
> >> just do whitelist/modify default/update so all of tests run with new 
> >> default.
> >>
> >> and then
> >>  
> >>> There is also the need to update the blobs, but it's because
> >>>      of the _OSC method change in DSDT table, which will change anyways, 
> >>> even with "acpi-pcihp=off¨,
> >>>      hence the need for patch 10/25 in this series. This is _done is this 
> >>> series_.  
> >>
> >>  
> >>> 2) Add a new test for testing the default (i.e. acpi-pcihp-on). It 
> >>> follows what you're
> >>>      saying above: "follow whitelist blobs/set new default patch/update 
> >>> blobs pattern",
> >>>      because we can drop the acpi-pcihp-on option from the CLI in this 
> >>> test without any
> >>>      prejudice to test. While the step "set new default patch" was 
> >>> actually done in 1).  
> >>
> >> 2) add a separate test case for native pcie hoplug (preferably within this 
> >> series)
> >>
> >> 3) even better would be to add #2 before #1 (right after 10/25),
> >> this way will guarantee that old native hotplug tables stay
> >> the same regardless of followup patches that add ACPI pcihp aml.  
> > 
> > Got it now, hopefully... 🙂
> > 
> > OK, I'm trying to follow what you recommended in 3). I've pushed a series 
> > to:
> > 
> > https://github.com/gromero/qemu/commits/v2_20250527_eric_auger_redhat_com/
> > 
> > So, I understand we will need to add/update the blobs at three times,
> > 2 times because of the changes in the DSDT generation (_OSC changes and when
> > acpi-pci=on) and an additional one because of the new PCIe native hotplug 
> > test.
> > 
> > I dropped this patch (Patch 24/25) from the series.
> > 
> > So the overview of the organization would be the following:
> > 
> > 
> > 3c302f7222 tests/qtest/bios-tables-test: Update DSDT blobs                  
> >                  #1c (update blob)    \
> > 671f15f470 hw/arm/virt: Use ACPI PCI hotplug by default                     
> >                  #1b (modify default) |--- acpi-pcihp=on
> > 9468f730e1 tests/qtest/bios-tables-test: Prepare for changes in the DSDT 
> > table               #1a (whitelist)      /
> > c9ec0e0226 hw/arm/virt: Plug pcihp hotplug/hotunplug callbacks
> > dc44749a34 hw/arm/virt: Let virt support pci hotplug/unplug GED event
> > f667079260 hw/core/sysbus: Introduce sysbus_mmio_map_name() helper
> > 46731e563b hw/acpi/ged: Support migration of AcpiPciHpState
> > 4fa7b0e0f6 hw/acpi/ged: Call pcihp plug callbacks in hotplug handler 
> > implementation
> > 587b001876 hw/acpi/ged: Prepare the device to react to PCI hotplug events
> > b55183d128 hw/arm/virt-acpi-build: Modify the DSDT ACPI table to enable 
> > ACPI PCI hotplug
> > fe4c96b384 hw/i386/acpi-build: Move aml_pci_edsm to a generic place
> > 010c50dbc7 hw/i386/acpi-build: Introduce and use acpi_get_pci_host
> > 5a1be727e6 hw/i386/acpi-build: Move 
> > build_append_pci_bus_devices/pcihp_slots to pcihp
> > 14a172e192 hw/i386/acpi-build: Move build_append_notification_callback to 
> > pcihp
> > 5110ae8874 hw/acpi/pcihp: Add an AmlRegionSpace arg to 
> > build_acpi_pci_hotplug
> > 82c2aef672 hw/i386/acpi-build: Introduce build_append_pcihp_resources() 
> > helper
> > 6372fe7eef qtest/bios-tables-test: Update DSDT 'noacpipcihp' variant blob   
> >                  #2 (blob update for test), part 2 of 2 (update blob)  ]--- 
> > New PCIe native test
> > 6fb29ba18d tests/qtest/bios-tables-test: Add aarch64 PCIe native hotplug 
> > test                #2 (pcie native hp test), part 1 of 2 (whitelist)     /
> > 12c63a505e tests/qtest/bios-tables-test: Update DSDT blobs after GPEX _OSC 
> > change            Patch 10/25 in this series (update blob)    \
> > 779bd47749 hw/pci-host/gpex-acpi: Use build_pci_host_bridge_osc_method      
> >                  Patch  9/25 in this series (modify default) |--- _OSC 
> > change
> > f260fd59c1 tests/qtest/bios-tables-test: Prepare for changes in the DSDT 
> > table               Patch  8/25 in this series (whitelist)      /
> > b000677fd9 hw/i386/acpi-build: Turn build_q35_osc_method into a generic 
> > method
> > a72f87b634 hw/pci-host/gpex-acpi: Propagate hotplug type info from virt 
> > machine downto gpex
> > 77a87b6ba3 hw/pci-host/gpex-acpi: Split host bridge OSC and DSM generation
> > 67e4dc2e7b hw/pci-host/gpex-acpi: Add native_pci_hotplug arg to 
> > acpi_dsdt_add_pci_osc
> > b89e69da54 hw/acpi: Rename and move build_x86_acpi_pci_hotplug to pcihp
> > 74f1080a74 hw/arm/virt: Introduce machine state acpi pcihp flags and props
> > 1048082f33 hw/i386/acpi-build: Make aml_pci_device_dsm() static
> > 
> > See notes on the right for when the blobs are updated or added in the
> > series. The new test for PCIe native hotplug (I prefer not calling it 
> > legacy,
> > since it's not really legacy; it's just an alternative better in some 
> > scenarios,
> > specially in virtualization) is now in the series (#2), "right after 10/25".
> > 
> > Is something like that that you want?  
> 
> Igor, just a friendly ping on it. It would be quite helpful for us if you 
> could
> confirm I'm following what you recommended regarding the tests for this 
> series.

spirit of above looks fine,
as for actual patches, it would depend on chosen default.
Lets' see what submitted v3 would look like. 

> 
> 
> Thanks,
> Gustavo
>   
> > 
> > Cheers,
> > Gustavo
> >   
> >>  
> >>> Cheers,
> >>> Gustavo
> >>>  
> >>>>> https://mail.gnu.org/archive/html/qemu-devel/2025-05/msg05828.html 4/5
> >>>>> https://mail.gnu.org/archive/html/qemu-devel/2025-05/msg05827.html 5/5
> >>>>>
> >>>>>
> >>>>> Cheers,
> >>>>> Gustavo  
> >>>>>>>
> >>>>>>> ---
> >>>>>>>
> >>>>>>> [Eric] also added acpi-pcihp=off to test_acpi_aarch64_virt_tcg_numamem
> >>>>>>> ---
> >>>>>>>     tests/qtest/bios-tables-test.c | 13 +++++++++----
> >>>>>>>     1 file changed, 9 insertions(+), 4 deletions(-)
> >>>>>>>
> >>>>>>> diff --git a/tests/qtest/bios-tables-test.c 
> >>>>>>> b/tests/qtest/bios-tables-test.c
> >>>>>>> index 0a333ec435..6379dba714 100644
> >>>>>>> --- a/tests/qtest/bios-tables-test.c
> >>>>>>> +++ b/tests/qtest/bios-tables-test.c
> >>>>>>> @@ -1626,7 +1626,7 @@ static void 
> >>>>>>> test_acpi_aarch64_virt_tcg_memhp(void)
> >>>>>>>         };
> >>>>>>>         data.variant = ".memhp";
> >>>>>>> -    test_acpi_one(" -machine nvdimm=on"
> >>>>>>> +    test_acpi_one(" -machine nvdimm=on,acpi-pcihp=off"
> >>>>>>>                       " -cpu cortex-a57"
> >>>>>>>                       " -m 256M,slots=3,maxmem=1G"
> >>>>>>>                       " -object memory-backend-ram,id=ram0,size=128M"
> >>>>>>> @@ -1747,7 +1747,8 @@ static void 
> >>>>>>> test_acpi_aarch64_virt_tcg_numamem(void)
> >>>>>>>         };
> >>>>>>>         data.variant = ".numamem";
> >>>>>>> -    test_acpi_one(" -cpu cortex-a57"
> >>>>>>> +    test_acpi_one(" -machine acpi-pcihp=off"
> >>>>>>> +                  " -cpu cortex-a57"
> >>>>>>>                       " -object memory-backend-ram,id=ram0,size=128M"
> >>>>>>>                       " -numa node,memdev=ram0",
> >>>>>>>                       &data);
> >>>>>>> @@ -1775,7 +1776,8 @@ static void test_acpi_aarch64_virt_tcg_pxb(void)
> >>>>>>>          * to solve the conflicts.
> >>>>>>>          */
> >>>>>>>         data.variant = ".pxb";
> >>>>>>> -    test_acpi_one(" -device pcie-root-port,chassis=1,id=pci.1"
> >>>>>>> +    test_acpi_one(" -machine acpi-pcihp=off"
> >>>>>>> +                  " -device pcie-root-port,chassis=1,id=pci.1"
> >>>>>>>                       " -device virtio-scsi-pci,id=scsi0,bus=pci.1"
> >>>>>>>                       " -drive file="
> >>>>>>>                       
> >>>>>>> "tests/data/uefi-boot-images/bios-tables-test.aarch64.iso.qcow2,"
> >>>>>>> @@ -1846,7 +1848,7 @@ static void 
> >>>>>>> test_acpi_aarch64_virt_tcg_acpi_hmat(void)
> >>>>>>>         data.variant = ".acpihmatvirt";
> >>>>>>> -    test_acpi_one(" -machine hmat=on"
> >>>>>>> +    test_acpi_one(" -machine hmat=on,acpi-pcihp=off"
> >>>>>>>                       " -cpu cortex-a57"
> >>>>>>>                       " -smp 4,sockets=2"
> >>>>>>>                       " -m 384M"
> >>>>>>> @@ -2123,6 +2125,7 @@ static void test_acpi_aarch64_virt_tcg(void)
> >>>>>>>         data.smbios_cpu_max_speed = 2900;
> >>>>>>>         data.smbios_cpu_curr_speed = 2700;
> >>>>>>>         test_acpi_one("-cpu cortex-a57 "
> >>>>>>> +                  "-machine acpi-pcihp=off "
> >>>>>>>                       "-smbios 
> >>>>>>> type=4,max-speed=2900,current-speed=2700", &data);
> >>>>>>>         free_test_data(&data);
> >>>>>>>     }
> >>>>>>> @@ -2142,6 +2145,7 @@ static void 
> >>>>>>> test_acpi_aarch64_virt_tcg_topology(void)
> >>>>>>>         };
> >>>>>>>         test_acpi_one("-cpu cortex-a57 "
> >>>>>>> +                  "-machine acpi-pcihp=off "
> >>>>>>>                       "-smp sockets=1,clusters=2,cores=2,threads=2", 
> >>>>>>> &data);
> >>>>>>>         free_test_data(&data);
> >>>>>>>     }
> >>>>>>> @@ -2227,6 +2231,7 @@ static void test_acpi_aarch64_virt_viot(void)
> >>>>>>>         };
> >>>>>>>         test_acpi_one("-cpu cortex-a57 "
> >>>>>>> +                  "-machine acpi-pcihp=off "
> >>>>>>>                       "-device virtio-iommu-pci", &data);
> >>>>>>>         free_test_data(&data);
> >>>>>>>     }  
> >>>  
> >>  
> >   
> 


Reply via email to