From: Igor Mammedov <imammedo@redhat.com>
To: Salil Mehta <salil.mehta@huawei.com>
Cc: maobibo <maobibo@loongson.cn>,
"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>,
zhukeqian <zhukeqian1@huawei.com>,
Jonathan Cameron <jonathan.cameron@huawei.com>,
Gavin Shan <gshan@redhat.com>,
Vishnu Pajjuri <vishnu@os.amperecomputing.com>,
Xianglai Li <lixianglai@loongson.cn>,
"Miguel Luis" <miguel.luis@oracle.com>,
Shaoqin Huang <shahuang@redhat.com>,
Zhao Liu <zhao1.liu@intel.com>, Ani Sinha <anisinha@redhat.com>
Subject: Re: [PULL v2 40/61] hw/acpi: Update GED _EVT method AML with CPU scan
Date: Tue, 15 Oct 2024 11:31:05 +0200 [thread overview]
Message-ID: <20241015113105.121216e5@imammedo.users.ipa.redhat.com> (raw)
In-Reply-To: <f134c3491a4143269eb24d3023be82e6@huawei.com>
On Mon, 14 Oct 2024 20:05:58 +0000
Salil Mehta <salil.mehta@huawei.com> wrote:
> Hi Igor,
>
> > From: qemu-devel-bounces+salil.mehta=huawei.com@nongnu.org <qemu-
> > devel-bounces+salil.mehta=huawei.com@nongnu.org> On Behalf Of Igor
> > Mammedov
> > Sent: Monday, October 14, 2024 10:38 AM
> >
> > On Mon, 14 Oct 2024 16:52:55 +0800
> > maobibo <maobibo@loongson.cn> wrote:
> >
> > > Hi Salil,
> > >
> > > When I debug cpu hotplug on LoongArch system, It reports error like this:
> > > ACPI BIOS Error (bug): Could not resolve symbol [\_SB.GED.CSCN],
> > > AE_NOT_FOUND
> > > ACPI Error: Aborting method \_SB.GED._EVT due to previous error
> > > (AE_NOT_FOUND)
> > > acpi-ged ACPI0013:00: IRQ method execution failed
> > >
> > >
> > > With this patch, GED CPU call method is "\\_SB.GED.CSCN", however in
> > > function build_cpus_aml(), its method name is "\\_SB.CPUS.CSCN".
> > > method = aml_method(event_handler_method, 0,
> > AML_NOTSERIALIZED);
> > > aml_append(method, aml_call0("\\_SB.CPUS." CPU_SCAN_METHOD));
> > > aml_append(table, method);
> > >
> > > It seems that CPU scanning method name is not consistent between
> > > function build_cpus_aml() and build_ged_aml().
> > >
> > > Regards
> > > Bibo Mao
> > >
> > > On 2024/7/23 下午6:59, Michael S. Tsirkin wrote:
> > > > From: Salil Mehta <salil.mehta@huawei.com>
> > > >
> > > > OSPM evaluates _EVT method to map the event. The CPU hotplug
> > event
> > > > eventually results in start of the CPU scan. Scan figures out the
> > > > CPU and the kind of
> > > > event(plug/unplug) and notifies it back to the guest. Update the GED
> > > > AML _EVT method with the call to method \\_SB.CPUS.CSCN (via
> > > > \\_SB.GED.CSCN)
> > > >
> > > > Architecture specific code [1] might initialize its CPUs AML code by
> > > > calling common function build_cpus_aml() like below for ARM:
> > > >
> > > > build_cpus_aml(scope, ms, opts, xx_madt_cpu_entry,
> > memmap[VIRT_CPUHP_ACPI].base,
> > > > "\\_SB", "\\_SB.GED.CSCN", AML_SYSTEM_MEMORY);
> >
> > it should be \\_SB.CPUS.CSCN
>
>
> I guess we are getting back to where we started then?
>
> https://lore.kernel.org/qemu-devel/20240706162845.3baf5568@imammedo.users.ipa.redhat.com/
>
Indeed, CSCN in name had me confused,
perhaps it would be better to rename that something else.
maybe something like s/_SB.GED.CSCN/_SB.GED.ECPU/
> Excerpt from above discussion and your suggestion:
> [...]
>
> I don't particularly like exposing cpu hotplug internals for outside code
> and then making that code do plumbing hoping that nothing will explode
> in the future.
>
> build_cpus_aml() takes event_handler_method to create a method that
> can be called by platform. What I suggest is to call that method here
> instead of trying to expose CPU hotplug internals and manually building
> call path here.
> aka:
> build_cpus_aml(event_handler_method = PATH_TO_GED_DEVICE.CSCN)
> and then call here
> aml_append(if_ctx, aml_call0(CSCN));
> which will call CSCN in GED scope, that was be populated by
> build_cpus_aml() to do cpu scan properly without need to expose
> cpu hotplug internal names and then trying to fixup conflicts caused by that.
>
> PS:
> we should do the same for memory hotplug, we see in context above
>
> [...]
>
>
> Solution:
> I've avoided above error in different way and keeping exactly what you
> suggested \_SB.PATH_TO_GED_DEVICE.CSCN i.e. \_SB.GED.CSCN
> Please have a look:
>
> https://lore.kernel.org/qemu-devel/20241009031815.250096-16-salil.mehta@huawei.com/
>
> Many thanks!
>
>
> Best regards
> Salil.
>
next prev parent reply other threads:[~2024-10-15 9:31 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-23 10:55 [PULL v2 00/61] virtio,pci,pc: features,fixes Michael S. Tsirkin
2024-07-23 10:55 ` [PULL v2 01/61] hw/virtio/virtio-crypto: Fix op_code assignment in virtio_crypto_create_asym_session Michael S. Tsirkin
2024-07-23 10:55 ` [PULL v2 02/61] MAINTAINERS: add Stefano Garzarella as vhost/vhost-user reviewer Michael S. Tsirkin
2024-07-23 10:55 ` [PULL v2 03/61] hw/cxl/cxl-mailbox-utils: remove unneeded mailbox output payload space zeroing Michael S. Tsirkin
2024-07-23 10:55 ` [PULL v2 04/61] hw/cxl: Check for multiple mappings of memory backends Michael S. Tsirkin
2024-07-23 10:55 ` [PULL v2 05/61] hw/cxl/cxl-host: Fix segmentation fault when getting cxl-fmw property Michael S. Tsirkin
2024-07-23 10:55 ` [PULL v2 06/61] hw/cxl: Add get scan media capabilities cmd support Michael S. Tsirkin
2024-07-23 10:55 ` [PULL v2 07/61] hw/cxl/mbox: replace sanitize_running() with cxl_dev_media_disabled() Michael S. Tsirkin
2024-07-23 10:55 ` [PULL v2 08/61] hw/cxl/events: discard all event records during sanitation Michael S. Tsirkin
2024-07-23 10:55 ` [PULL v2 09/61] hw/cxl: Add get scan media results cmd support Michael S. Tsirkin
2024-07-23 10:56 ` [PULL v2 10/61] cxl/mailbox: move mailbox effect definitions to a header Michael S. Tsirkin
2024-07-23 10:56 ` [PULL v2 11/61] hw/cxl/cxl-mailbox-utils: Add support for feature commands (8.2.9.6) Michael S. Tsirkin
2024-07-23 10:56 ` [PULL v2 12/61] hw/cxl/cxl-mailbox-utils: Add device patrol scrub control feature Michael S. Tsirkin
2024-07-23 10:56 ` [PULL v2 13/61] hw/cxl/cxl-mailbox-utils: Add device DDR5 ECS " Michael S. Tsirkin
2024-07-23 10:56 ` [PULL v2 14/61] hw/cxl: Support firmware updates Michael S. Tsirkin
2024-07-23 10:56 ` [PULL v2 15/61] MAINTAINERS: Add myself as a VT-d reviewer Michael S. Tsirkin
2024-07-23 10:56 ` [PULL v2 16/61] virtio-snd: add max size bounds check in input cb Michael S. Tsirkin
2024-07-23 10:56 ` [PULL v2 17/61] virtio-snd: check for invalid param shift operands Michael S. Tsirkin
2024-07-27 6:55 ` Volker Rümelin
2024-08-01 8:22 ` Michael S. Tsirkin
2024-08-02 5:03 ` Volker Rümelin
2024-08-02 11:13 ` Manos Pitsidianakis
2024-07-23 10:56 ` [PULL v2 18/61] intel_iommu: fix FRCD construction macro Michael S. Tsirkin
2024-07-24 4:41 ` Michael Tokarev
2024-07-23 10:56 ` [PULL v2 19/61] intel_iommu: move VTD_FRCD_PV and VTD_FRCD_PP declarations Michael S. Tsirkin
2024-07-23 10:56 ` [PULL v2 20/61] intel_iommu: fix type of the mask field in VTDIOTLBPageInvInfo Michael S. Tsirkin
2024-07-23 10:57 ` [PULL v2 21/61] intel_iommu: make type match Michael S. Tsirkin
2024-07-23 10:57 ` [PULL v2 22/61] virtio: Add bool to VirtQueueElement Michael S. Tsirkin
2024-07-23 10:57 ` [PULL v2 23/61] virtio: virtqueue_pop - VIRTIO_F_IN_ORDER support Michael S. Tsirkin
2024-07-23 10:57 ` [PULL v2 24/61] virtio: virtqueue_ordered_fill " Michael S. Tsirkin
2024-07-23 10:57 ` [PULL v2 25/61] virtio: virtqueue_ordered_flush " Michael S. Tsirkin
2024-07-23 10:57 ` [PULL v2 26/61] vhost,vhost-user: Add VIRTIO_F_IN_ORDER to vhost feature bits Michael S. Tsirkin
2024-07-23 10:57 ` [PULL v2 27/61] virtio: Add VIRTIO_F_IN_ORDER property definition Michael S. Tsirkin
2024-07-23 10:57 ` [PULL v2 28/61] contrib/vhost-user-blk: fix overflowing expression Michael S. Tsirkin
2024-07-23 10:57 ` [PULL v2 29/61] hw/pci: Fix SR-IOV VF number calculation Michael S. Tsirkin
2024-07-23 10:57 ` [PULL v2 30/61] pcie_sriov: Ensure PF and VF are mutually exclusive Michael S. Tsirkin
2024-07-23 10:57 ` [PULL v2 31/61] pcie_sriov: Check PCI Express for SR-IOV PF Michael S. Tsirkin
2024-07-23 10:58 ` [PULL v2 32/61] pcie_sriov: Allow user to create SR-IOV device Michael S. Tsirkin
2024-07-23 10:58 ` [PULL v2 33/61] virtio-pci: Implement SR-IOV PF Michael S. Tsirkin
2024-07-23 10:58 ` [PULL v2 34/61] virtio-net: Implement SR-IOV VF Michael S. Tsirkin
2024-07-23 11:00 ` Akihiko Odaki
2024-07-23 11:02 ` Michael S. Tsirkin
2024-07-23 10:58 ` [PULL v2 35/61] docs: Document composable SR-IOV device Michael S. Tsirkin
2024-07-23 10:58 ` [PULL v2 36/61] smbios: make memory device size configurable per Machine Michael S. Tsirkin
2024-07-23 10:58 ` [PULL v2 37/61] accel/kvm: Extract common KVM vCPU {creation,parking} code Michael S. Tsirkin
2024-07-25 10:35 ` Peter Maydell
2024-07-25 12:05 ` Salil Mehta via
2024-07-25 12:27 ` Peter Maydell
2024-07-25 14:56 ` Salil Mehta via
2024-07-23 10:58 ` [PULL v2 38/61] hw/acpi: Move CPU ctrl-dev MMIO region len macro to common header file Michael S. Tsirkin
2024-07-23 10:59 ` [PULL v2 39/61] hw/acpi: Update ACPI GED framework to support vCPU Hotplug Michael S. Tsirkin
2024-07-23 10:59 ` [PULL v2 40/61] hw/acpi: Update GED _EVT method AML with CPU scan Michael S. Tsirkin
2024-10-14 8:52 ` maobibo
2024-10-14 9:37 ` Igor Mammedov
2024-10-14 20:05 ` Salil Mehta via
2024-10-15 9:31 ` Igor Mammedov [this message]
2024-10-15 9:41 ` Salil Mehta via
2024-10-15 14:34 ` Igor Mammedov
2024-10-15 14:42 ` Salil Mehta via
2024-10-14 19:59 ` Salil Mehta via
2024-10-15 1:20 ` maobibo
2024-10-15 9:34 ` Salil Mehta via
2024-07-23 10:59 ` [PULL v2 41/61] hw/acpi: Update CPUs AML with cpu-(ctrl)dev change Michael S. Tsirkin
2024-07-23 10:59 ` [PULL v2 42/61] physmem: Add helper function to destroy CPU AddressSpace Michael S. Tsirkin
2024-08-19 15:22 ` Peter Maydell
2025-02-05 12:11 ` Ilya Leoshkevich
2024-07-23 10:59 ` [PULL v2 43/61] gdbstub: Add helper function to unregister GDB register space Michael S. Tsirkin
2024-07-23 10:59 ` [PULL v2 44/61] Revert "virtio-iommu: Clear IOMMUDevice when VFIO device is unplugged" Michael S. Tsirkin
2024-07-23 10:59 ` [PULL v2 45/61] virtio-iommu: Remove probe_done Michael S. Tsirkin
2024-07-23 11:00 ` [PULL v2 46/61] virtio-iommu: Free [host_]resv_ranges on unset_iommu_devices Michael S. Tsirkin
2024-07-23 11:00 ` [PULL v2 47/61] virtio-iommu: Remove the end point on detach Michael S. Tsirkin
2024-07-23 11:00 ` [PULL v2 48/61] hw/vfio/common: Add vfio_listener_region_del_iommu trace event Michael S. Tsirkin
2024-07-23 11:00 ` [PULL v2 49/61] virtio-iommu: Add trace point on virtio_iommu_detach_endpoint_from_domain Michael S. Tsirkin
2024-07-23 11:00 ` [PULL v2 50/61] hw/riscv/virt-acpi-build.c: Add namespace devices for PLIC and APLIC Michael S. Tsirkin
2024-07-23 11:00 ` [PULL v2 51/61] hw/riscv/virt-acpi-build.c: Update the HID of RISC-V UART Michael S. Tsirkin
2024-07-23 11:00 ` [PULL v2 52/61] tests/acpi: Allow DSDT acpi table changes for aarch64 Michael S. Tsirkin
2024-07-23 11:00 ` [PULL v2 53/61] acpi/gpex: Create PCI link devices outside PCI root bridge Michael S. Tsirkin
2024-07-23 11:00 ` [PULL v2 54/61] tests/acpi: update expected DSDT blob for aarch64 and microvm Michael S. Tsirkin
2024-07-23 11:00 ` [PULL v2 55/61] tests/qtest/bios-tables-test.c: Remove the fall back path Michael S. Tsirkin
2024-07-23 11:00 ` [PULL v2 56/61] tests/acpi: Add empty ACPI data files for RISC-V Michael S. Tsirkin
2024-07-23 11:00 ` [PULL v2 57/61] tests/qtest/bios-tables-test.c: Enable basic testing " Michael S. Tsirkin
2024-07-23 11:01 ` [PULL v2 58/61] tests/acpi: Add expected ACPI AML files " Michael S. Tsirkin
2024-07-23 11:01 ` [PULL v2 59/61] hw/pci: Add all Data Object Types defined in PCIe r6.0 Michael S. Tsirkin
2024-07-23 11:01 ` [PULL v2 60/61] backends: Initial support for SPDM socket support Michael S. Tsirkin
2024-07-23 11:01 ` [PULL v2 61/61] hw/nvme: Add SPDM over DOE support Michael S. Tsirkin
2024-07-24 1:24 ` [PULL v2 00/61] virtio,pci,pc: features,fixes Richard Henderson
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=20241015113105.121216e5@imammedo.users.ipa.redhat.com \
--to=imammedo@redhat.com \
--cc=anisinha@redhat.com \
--cc=gshan@redhat.com \
--cc=jonathan.cameron@huawei.com \
--cc=lixianglai@loongson.cn \
--cc=maobibo@loongson.cn \
--cc=miguel.luis@oracle.com \
--cc=mst@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=salil.mehta@huawei.com \
--cc=shahuang@redhat.com \
--cc=vishnu@os.amperecomputing.com \
--cc=zhao1.liu@intel.com \
--cc=zhukeqian1@huawei.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).