From: Eric Auger <eric.auger@redhat.com>
To: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: eric.auger.pro@gmail.com, qemu-devel@nongnu.org,
qemu-arm@nongnu.org, peter.maydell@linaro.org,
imammedo@redhat.com, gustavo.romero@linaro.org,
anisinha@redhat.com, mst@redhat.com, shannon.zhaosl@gmail.com,
pbonzini@redhat.com, philmd@linaro.org, alex.bennee@linaro.org
Subject: Re: [PATCH v4 25/32] hw/acpi/ged: Prepare the device to react to PCI hotplug events
Date: Tue, 1 Jul 2025 11:27:34 +0200 [thread overview]
Message-ID: <cbfc1237-fd08-4c68-a327-fd83a4de00dd@redhat.com> (raw)
In-Reply-To: <20250630134957.00006326@huawei.com>
Hi Jonathan,
On 6/30/25 2:49 PM, Jonathan Cameron wrote:
> On Fri, 27 Jun 2025 11:55:14 +0200
> Eric Auger <eric.auger@redhat.com> wrote:
>
>> QEMU will notify the OS about PCI hotplug/hotunplug events through
>> GED interrupts. Let the GED device handle a new PCI hotplug event.
>> On its occurrence it calls the \\_SB.PCI0.PCNT method with the BLCK
>> mutex held.
>>
>> The GED device uses a dedicated MMIO region that will be mapped
>> by the machine code.
>>
>> At this point the GED still does not support PCI device hotplug in
>> its TYPE_HOTPLUG_HANDLER implementation. This will come in a
>> subsequent patch.
>>
>> Signed-off-by: Eric Auger <eric.auger@redhat.com>
> Maybe call out why you aren't following the advice in the
> docs for device_class_set_legacy_reset() to use the resettable API.
Good point. I think I shall migrate to the new API.
>
> One other question inline about setting of the event bitmap in
> ged_realize rather than create_acpi_ged() in virt.c
>
> There is not obviously right answer to where that should be but
> what you have here seems inconsistent with existing code s
> a comment may makes sense if you leave it as it stands.
>
>> ---
>> v3 -> v4:
>> - add qbus_set_hotplug_handler
>> - root bus is not passed in acpi_pcihp_init arg
>>
>> v2 -> v3:
>> - pcihp_init and reset are put in ged code instead of machine code
>> (Igor)
>> - Add ACPI_GED_PCI_HOTPLUG_EVT event depending on use_acpi_hotplug_bridge
>> (Igor)
>>
>> v1 -> v2:
>> - Introduce ACPI_PCIHP_REGION_NAME
>> diff --git a/hw/acpi/generic_event_device.c b/hw/acpi/generic_event_device.c
>> index 92b931758f..fc84bfb34e 100644
>> --- a/hw/acpi/generic_event_device.c
>> +++ b/hw/acpi/generic_event_device.c
>> @@ -427,9 +437,13 @@ static void acpi_ged_realize(DeviceState *dev, Error **errp)
>> {
>> SysBusDevice *sbd = SYS_BUS_DEVICE(dev);
>> AcpiGedState *s = ACPI_GED(dev);
>> + AcpiPciHpState *pcihp_state = &s->pcihp_state;
>> uint32_t ged_events;
>> int i;
>>
>> + if (pcihp_state->use_acpi_hotplug_bridge) {
>> + s->ged_event_bitmap |= ACPI_GED_PCI_HOTPLUG_EVT;
>> + }
> Maybe a comment on why this belongs insider the GED code rather
> than being provided in the event_bitmap from virt.c or similar
> as is done for all the over elements of ged_event_bitmap.
>
> Particularly as you get the acpi_pcihp property in create_acpi_ged()
> in patch 29.
Actually Igor suggested to put this setting in the realize()
https://lore.kernel.org/all/20250620150648.09dab163@fedora/
instead of in create_acpi_ged(), as it was done in v3 So I followed his
guidance Eric
>
>
>> ged_events = ctpop32(s->ged_event_bitmap);
>>
>
next prev parent reply other threads:[~2025-07-01 9:27 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-27 9:54 [PATCH v4 00/32] ACPI PCI Hotplug support on ARM Eric Auger
2025-06-27 9:54 ` [PATCH v4 01/32] hw/i386/acpi-build: Make aml_pci_device_dsm() static Eric Auger
2025-06-27 9:54 ` [PATCH v4 02/32] hw/acpi: Rename and move build_x86_acpi_pci_hotplug to pcihp Eric Auger
2025-06-27 9:54 ` [PATCH v4 03/32] hw/pci-host/gpex-acpi: Add native_pci_hotplug arg to acpi_dsdt_add_pci_osc Eric Auger
2025-06-27 9:54 ` [PATCH v4 04/32] tests/qtest/bios-tables-test: Prepare for changes in the DSDT table Eric Auger
2025-06-27 9:54 ` [PATCH v4 05/32] hw/pci-host/gpex-acpi: Split host bridge OSC and DSM generation Eric Auger
2025-06-27 9:54 ` [PATCH v4 06/32] hw/acpi/ged: Add a acpi-pci-hotplug-with-bridge-support property Eric Auger
2025-06-27 9:54 ` [PATCH v4 07/32] hw/pci-host/gpex-acpi: Use GED acpi pcihp property Eric Auger
2025-06-30 11:33 ` Jonathan Cameron
2025-06-30 11:33 ` Jonathan Cameron via
2025-06-27 9:54 ` [PATCH v4 08/32] hw/i386/acpi-build: Turn build_q35_osc_method into a generic method Eric Auger
2025-06-27 9:54 ` [PATCH v4 09/32] hw/pci-host/gpex-acpi: Use build_pci_host_bridge_osc_method Eric Auger
2025-06-30 11:35 ` Jonathan Cameron
2025-06-30 11:35 ` Jonathan Cameron via
2025-06-27 9:54 ` [PATCH v4 10/32] tests/qtest/bios-tables-test: Update DSDT blobs after GPEX _OSC change Eric Auger
2025-06-30 11:35 ` Jonathan Cameron
2025-06-30 11:35 ` Jonathan Cameron via
2025-06-27 9:55 ` [PATCH v4 11/32] hw/i386/acpi-build: Introduce build_append_pcihp_resources() helper Eric Auger
2025-06-27 9:55 ` [PATCH v4 12/32] hw/acpi/pcihp: Add an AmlRegionSpace arg to build_acpi_pci_hotplug Eric Auger
2025-06-27 9:55 ` [PATCH v4 13/32] hw/i386/acpi-build: Move build_append_notification_callback to pcihp Eric Auger
2025-06-27 9:55 ` [PATCH v4 14/32] hw/i386/acpi-build: Move build_append_pci_bus_devices/pcihp_slots " Eric Auger
2025-06-27 9:55 ` [PATCH v4 15/32] hw/i386/acpi-build: Use AcpiPciHpState::root in acpi_set_pci_info Eric Auger
2025-06-27 9:55 ` [PATCH v4 16/32] hw/i386/acpi-build: Move aml_pci_edsm to a generic place Eric Auger
2025-06-30 12:25 ` Jonathan Cameron
2025-06-30 12:25 ` Jonathan Cameron via
2025-06-27 9:55 ` [PATCH v4 17/32] tests/qtest/bios-tables-test: Prepare for changes in the arm virt DSDT table Eric Auger
2025-06-30 12:26 ` Jonathan Cameron
2025-06-30 12:26 ` Jonathan Cameron via
2025-06-27 9:55 ` [PATCH v4 18/32] hw/arm/virt-acpi-build: Let non hotplug ports support static acpi-index Eric Auger
2025-06-30 12:28 ` Jonathan Cameron
2025-06-30 12:28 ` Jonathan Cameron via
2025-06-27 9:55 ` [PATCH v4 19/32] tests/qtest/bios-tables-test: Update ARM DSDT reference blobs Eric Auger
2025-06-27 10:00 ` Eric Auger
2025-06-30 12:31 ` Jonathan Cameron
2025-06-30 12:31 ` Jonathan Cameron via
2025-07-01 9:22 ` Eric Auger
2025-07-03 5:12 ` Eric Auger
2025-06-27 9:55 ` [PATCH v4 20/32] hw/arm/virt-acpi-build: Modify the DSDT ACPI table to enable ACPI PCI hotplug Eric Auger
2025-06-30 12:33 ` Jonathan Cameron
2025-06-30 12:33 ` Jonathan Cameron via
2025-06-27 9:55 ` [PATCH v4 21/32] hw/acpi/ged: Add a bus link property Eric Auger
2025-06-27 9:55 ` [PATCH v4 22/32] hw/arm/virt: Pass the bus on the ged creation Eric Auger
2025-06-27 9:55 ` [PATCH v4 23/32] hw/acpi/ged: Call pcihp plug callbacks in hotplug handler implementation Eric Auger
2025-06-27 9:55 ` [PATCH v4 24/32] hw/acpi/pcihp: Remove root arg in acpi_pcihp_init Eric Auger
2025-06-30 12:37 ` Jonathan Cameron
2025-06-30 12:37 ` Jonathan Cameron via
2025-06-27 9:55 ` [PATCH v4 25/32] hw/acpi/ged: Prepare the device to react to PCI hotplug events Eric Auger
2025-06-30 12:49 ` Jonathan Cameron
2025-06-30 12:49 ` Jonathan Cameron via
2025-07-01 9:27 ` Eric Auger [this message]
2025-06-27 9:55 ` [PATCH v4 26/32] hw/acpi/ged: Support migration of AcpiPciHpState Eric Auger
2025-06-30 12:50 ` Jonathan Cameron
2025-06-30 12:50 ` Jonathan Cameron via
2025-06-27 9:55 ` [PATCH v4 27/32] hw/core/sysbus: Introduce sysbus_mmio_map_name() helper Eric Auger
2025-06-27 9:55 ` [PATCH v4 28/32] hw/arm/virt: Minor code reshuffling in create_acpi_ged Eric Auger
2025-06-30 12:51 ` Jonathan Cameron
2025-06-30 12:51 ` Jonathan Cameron via
2025-06-27 9:55 ` [PATCH v4 29/32] hw/arm/virt: Let virt support pci hotplug/unplug GED event Eric Auger
2025-06-30 12:53 ` Jonathan Cameron
2025-06-30 12:53 ` Jonathan Cameron via
2025-07-01 9:28 ` Eric Auger
2025-06-27 9:55 ` [PATCH v4 30/32] tests/qtest/bios-tables-test: Prepare for addition of acpi pci hp tests Eric Auger
2025-06-30 12:53 ` Jonathan Cameron
2025-06-30 12:53 ` Jonathan Cameron via
2025-06-27 9:55 ` [PATCH v4 31/32] tests/qtest/bios-tables-test: Add aarch64 ACPI PCI hotplug test Eric Auger
2025-06-30 12:55 ` Jonathan Cameron
2025-06-30 12:55 ` Jonathan Cameron via
2025-06-27 9:55 ` [PATCH v4 32/32] qtest/bios-tables-test: Create DSDT acpipcihp and hpoffacpiindex variant blobs Eric Auger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cbfc1237-fd08-4c68-a327-fd83a4de00dd@redhat.com \
--to=eric.auger@redhat.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=alex.bennee@linaro.org \
--cc=anisinha@redhat.com \
--cc=eric.auger.pro@gmail.com \
--cc=gustavo.romero@linaro.org \
--cc=imammedo@redhat.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=philmd@linaro.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=shannon.zhaosl@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.