From: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> To: <qemu-devel@nongnu.org>, <qemu-arm@nongnu.org>, <eric.auger@redhat.com>, <imammedo@redhat.com> Cc: peter.maydell@linaro.org, sameo@linux.intel.com, ard.biesheuvel@linaro.org, mst@redhat.com, linuxarm@huawei.com, xuwei5@hisilicon.com, shannon.zhaosl@gmail.com, sebastien.boeuf@intel.com, lersek@redhat.com Subject: [Qemu-devel] [PATCH-for-4.2 v11 09/11] docs/specs: Add ACPI GED documentation Date: Wed, 18 Sep 2019 14:06:31 +0100 [thread overview] Message-ID: <20190918130633.4872-10-shameerali.kolothum.thodi@huawei.com> (raw) In-Reply-To: <20190918130633.4872-1-shameerali.kolothum.thodi@huawei.com> Documents basic concepts of ACPI Generic Event device(GED) and interface between QEMU and the ACPI BIOS. Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> Reviewed-by: Eric Auger <eric.auger@redhat.com> --- Addressed Peter's comments, -changed to rst format. -typo/grammer corrections. --- docs/specs/acpi_hw_reduced_hotplug.rst | 70 ++++++++++++++++++++++++++ docs/specs/index.rst | 1 + 2 files changed, 71 insertions(+) create mode 100644 docs/specs/acpi_hw_reduced_hotplug.rst diff --git a/docs/specs/acpi_hw_reduced_hotplug.rst b/docs/specs/acpi_hw_reduced_hotplug.rst new file mode 100644 index 0000000000..911a98255b --- /dev/null +++ b/docs/specs/acpi_hw_reduced_hotplug.rst @@ -0,0 +1,70 @@ +================================================== +QEMU and ACPI BIOS Generic Event Device interface +================================================== + +The ACPI *Generic Event Device* (GED) is a HW reduced platform +specific device introduced in ACPI v6.1 that handles all platform +events, including the hotplug ones. GED is modelled as a device +in the namespace with a _HID defined to be ACPI0013. This document +describes the interface between QEMU and the ACPI BIOS. + +GED allows HW reduced platforms to handle interrupts in ACPI ASL +statements. It follows a very similar approach to the _EVT method +from GPIO events. All interrupts are listed in _CRS and the handler +is written in _EVT method. However, the QEMU implementation uses a +single interrupt for the GED device, relying on an IO memory region +to communicate the type of device affected by the interrupt. This way, +we can support up to 32 events with a unique interrupt. + +**Here is an example,** + +:: + + Device (\_SB.GED) + { + Name (_HID, "ACPI0013") + Name (_UID, Zero) + Name (_CRS, ResourceTemplate () + { + Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, ) + { + 0x00000029, + } + }) + OperationRegion (EREG, SystemMemory, 0x09080000, 0x04) + Field (EREG, DWordAcc, NoLock, WriteAsZeros) + { + ESEL, 32 + } + Method (_EVT, 1, Serialized) + { + Local0 = ESEL // ESEL = IO memory region which specifies the + // device type. + If (((Local0 & One) == One)) + { + MethodEvent1() + } + If ((Local0 & 0x2) == 0x2) + { + MethodEvent2() + } + ... + } + } + +GED IO interface (4 byte access) +-------------------------------- +**read access:** + +:: + + [0x0-0x3] Event selector bit field (32 bit) set by QEMU. + + bits: + 0: Memory hotplug event + 1: System power down event + 2-31: Reserved + +**write_access:** + +Nothing is expected to be written into GED IO memory diff --git a/docs/specs/index.rst b/docs/specs/index.rst index 40adb97c5e..984ba44029 100644 --- a/docs/specs/index.rst +++ b/docs/specs/index.rst @@ -12,3 +12,4 @@ Contents: ppc-xive ppc-spapr-xive + acpi_hw_reduced_hotplug -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com> To: qemu-devel@nongnu.org Cc: "Peter Maydell" <peter.maydell@linaro.org>, "Shameer Kolothum" <shameerali.kolothum.thodi@huawei.com>, "Eric Auger" <eric.auger@redhat.com>, "Cédric Le Goater" <clg@kaod.org>, "Aleksandar Markovic" <amarkovic@wavecomp.com>, "David Gibson" <david@gibson.dropbear.id.au> Subject: [PULL 10/19] docs/specs: Add ACPI GED documentation Date: Sat, 5 Oct 2019 17:59:27 -0400 [thread overview] Message-ID: <20190918130633.4872-10-shameerali.kolothum.thodi@huawei.com> (raw) Message-ID: <20191005215927.S9jr83ouhwvuv7Kq-JL7Gm45dk53XvFzhczZ4A1M-20@z> (raw) In-Reply-To: <20191005215508.28754-1-mst@redhat.com> From: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> Documents basic concepts of ACPI Generic Event device(GED) and interface between QEMU and the ACPI BIOS. Signed-off-by: Shameer Kolothum <shameerali.kolothum.thodi@huawei.com> Reviewed-by: Eric Auger <eric.auger@redhat.com> Message-Id: <20190918130633.4872-10-shameerali.kolothum.thodi@huawei.com> Acked-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> --- docs/specs/acpi_hw_reduced_hotplug.rst | 70 ++++++++++++++++++++++++++ docs/specs/index.rst | 1 + 2 files changed, 71 insertions(+) create mode 100644 docs/specs/acpi_hw_reduced_hotplug.rst diff --git a/docs/specs/acpi_hw_reduced_hotplug.rst b/docs/specs/acpi_hw_reduced_hotplug.rst new file mode 100644 index 0000000000..911a98255b --- /dev/null +++ b/docs/specs/acpi_hw_reduced_hotplug.rst @@ -0,0 +1,70 @@ +================================================== +QEMU and ACPI BIOS Generic Event Device interface +================================================== + +The ACPI *Generic Event Device* (GED) is a HW reduced platform +specific device introduced in ACPI v6.1 that handles all platform +events, including the hotplug ones. GED is modelled as a device +in the namespace with a _HID defined to be ACPI0013. This document +describes the interface between QEMU and the ACPI BIOS. + +GED allows HW reduced platforms to handle interrupts in ACPI ASL +statements. It follows a very similar approach to the _EVT method +from GPIO events. All interrupts are listed in _CRS and the handler +is written in _EVT method. However, the QEMU implementation uses a +single interrupt for the GED device, relying on an IO memory region +to communicate the type of device affected by the interrupt. This way, +we can support up to 32 events with a unique interrupt. + +**Here is an example,** + +:: + + Device (\_SB.GED) + { + Name (_HID, "ACPI0013") + Name (_UID, Zero) + Name (_CRS, ResourceTemplate () + { + Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,, ) + { + 0x00000029, + } + }) + OperationRegion (EREG, SystemMemory, 0x09080000, 0x04) + Field (EREG, DWordAcc, NoLock, WriteAsZeros) + { + ESEL, 32 + } + Method (_EVT, 1, Serialized) + { + Local0 = ESEL // ESEL = IO memory region which specifies the + // device type. + If (((Local0 & One) == One)) + { + MethodEvent1() + } + If ((Local0 & 0x2) == 0x2) + { + MethodEvent2() + } + ... + } + } + +GED IO interface (4 byte access) +-------------------------------- +**read access:** + +:: + + [0x0-0x3] Event selector bit field (32 bit) set by QEMU. + + bits: + 0: Memory hotplug event + 1: System power down event + 2-31: Reserved + +**write_access:** + +Nothing is expected to be written into GED IO memory diff --git a/docs/specs/index.rst b/docs/specs/index.rst index 40adb97c5e..984ba44029 100644 --- a/docs/specs/index.rst +++ b/docs/specs/index.rst @@ -12,3 +12,4 @@ Contents: ppc-xive ppc-spapr-xive + acpi_hw_reduced_hotplug -- MST
next prev parent reply other threads:[~2019-09-18 13:12 UTC|newest] Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-09-18 13:06 [Qemu-devel] [PATCH-for-4.2 v11 00/11] ARM virt: ACPI memory hotplug support Shameer Kolothum 2019-09-18 13:06 ` [Qemu-devel] [PATCH-for-4.2 v11 01/11] hw/acpi: Make ACPI IO address space configurable Shameer Kolothum 2019-10-05 21:58 ` [PULL 02/19] " Michael S. Tsirkin 2019-09-18 13:06 ` [Qemu-devel] [PATCH-for-4.2 v11 02/11] hw/acpi: Do not create memory hotplug method when handler is not defined Shameer Kolothum 2019-10-05 21:58 ` [PULL 03/19] " Michael S. Tsirkin 2019-09-18 13:06 ` [Qemu-devel] [PATCH-for-4.2 v11 03/11] hw/acpi: Add ACPI Generic Event Device Support Shameer Kolothum 2019-10-05 21:58 ` [PULL 04/19] " Michael S. Tsirkin 2019-09-25 15:03 ` [Qemu-devel] [PATCH-for-4.2 v11 03/11] " Igor Mammedov 2019-09-18 13:06 ` [Qemu-devel] [PATCH-for-4.2 v11 04/11] hw/arm/virt: Add memory hotplug framework Shameer Kolothum 2019-10-05 21:58 ` [PULL 05/19] " Michael S. Tsirkin 2019-09-18 13:06 ` [Qemu-devel] [PATCH-for-4.2 v11 05/11] hw/arm/virt: Enable device memory cold/hot plug with ACPI boot Shameer Kolothum 2019-10-05 21:59 ` [PULL 06/19] " Michael S. Tsirkin 2019-09-25 15:06 ` [PATCH-for-4.2 v11 05/11] " Igor Mammedov 2019-09-18 13:06 ` [Qemu-devel] [PATCH-for-4.2 v11 06/11] hw/arm/virt-acpi-build: Add PC-DIMM in SRAT Shameer Kolothum 2019-10-05 21:59 ` [PULL 07/19] " Michael S. Tsirkin 2019-09-18 13:06 ` [Qemu-devel] [PATCH-for-4.2 v11 07/11] hw/arm: Factor out powerdown notifier from GPIO Shameer Kolothum 2019-10-05 21:59 ` [PULL 08/19] " Michael S. Tsirkin 2019-09-18 13:06 ` [Qemu-devel] [PATCH-for-4.2 v11 08/11] hw/arm: Use GED for system_powerdown event Shameer Kolothum 2019-10-05 21:59 ` [PULL 09/19] " Michael S. Tsirkin 2019-09-18 13:06 ` Shameer Kolothum [this message] 2019-10-05 21:59 ` [PULL 10/19] docs/specs: Add ACPI GED documentation Michael S. Tsirkin 2019-09-25 15:09 ` [Qemu-devel] [PATCH-for-4.2 v11 09/11] " Igor Mammedov 2019-09-18 13:06 ` [Qemu-devel] [PATCH-for-4.2 v11 10/11] tests: Update ACPI tables list for upcoming arm/virt tests Shameer Kolothum 2019-10-05 21:59 ` [PULL 11/19] " Michael S. Tsirkin 2019-09-25 15:11 ` [PATCH-for-4.2 v11 10/11] " Igor Mammedov 2019-09-18 13:06 ` [Qemu-devel] [PATCH-for-4.2 v11 11/11] tests: Add bios tests to arm/virt Shameer Kolothum 2019-10-05 21:59 ` [PULL 14/19] " Michael S. Tsirkin 2019-09-25 15:26 ` [PATCH-for-4.2 v11 11/11] " Michael S. Tsirkin 2019-09-25 17:36 ` Igor Mammedov 2019-09-19 4:53 ` [Qemu-devel] [PATCH-for-4.2 v11 00/11] ARM virt: ACPI memory hotplug support no-reply 2019-09-19 20:36 ` no-reply 2019-09-20 15:49 ` no-reply 2019-09-25 15:28 ` Michael S. Tsirkin 2019-09-25 15:37 ` Igor Mammedov 2019-09-25 16:20 ` Michael S. Tsirkin 2019-09-27 10:37 ` Peter Maydell 2019-09-25 15:30 ` Michael S. Tsirkin 2019-09-24 16:20 [PATCH v3] vhost-user: save features if the char dev is closed Adrian Moreno 2019-10-05 21:58 ` [PULL 01/19] " Michael S. Tsirkin 2019-09-25 4:14 ` [PATCH v3] " Jason Wang 2019-09-30 10:51 [PATCH v4 0/3] Add virtio-fs Dr. David Alan Gilbert (git) 2019-09-30 10:51 ` [PATCH v4 1/3] virtio: Add virtio_fs linux headers Dr. David Alan Gilbert (git) 2019-10-05 22:00 ` [PULL 17/19] " Michael S. Tsirkin 2019-09-30 10:51 ` [PATCH v4 2/3] virtio: add vhost-user-fs base device Dr. David Alan Gilbert (git) 2019-10-05 22:00 ` [PULL 18/19] " Michael S. Tsirkin 2019-09-30 11:06 ` [PATCH v4 2/3] " Marc-André Lureau 2019-10-01 17:29 ` Dr. David Alan Gilbert 2019-10-02 15:07 ` Marc-André Lureau 2019-10-07 5:57 ` [PULL 18/19] " Igor Mammedov 2019-10-07 7:28 ` Michael S. Tsirkin 2019-09-30 10:51 ` [PATCH v4 3/3] virtio: add vhost-user-fs-pci device Dr. David Alan Gilbert (git) 2019-10-05 22:00 ` [PULL 19/19] " Michael S. Tsirkin 2019-10-05 21:58 [PULL 00/19] virtio, vhost, acpi: features, fixes, tests Michael S. Tsirkin 2019-10-05 21:59 ` [PULL 12/19] tests/acpi: add empty files Michael S. Tsirkin 2019-10-05 21:59 ` [PULL 13/19] tests: allow empty expected files Michael S. Tsirkin 2019-10-05 21:59 ` [PULL 15/19] tests: document how to update acpi tables Michael S. Tsirkin 2019-10-05 21:59 ` [PULL 16/19] tests/acpi: add expected tables for arm/virt Michael S. Tsirkin 2019-10-07 16:31 ` [PULL 00/19] virtio, vhost, acpi: features, fixes, tests Peter Maydell 2019-10-15 21:03 ` Michael S. Tsirkin 2019-10-17 15:48 ` Peter Maydell
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=20190918130633.4872-10-shameerali.kolothum.thodi@huawei.com \ --to=shameerali.kolothum.thodi@huawei.com \ --cc=ard.biesheuvel@linaro.org \ --cc=eric.auger@redhat.com \ --cc=imammedo@redhat.com \ --cc=lersek@redhat.com \ --cc=linuxarm@huawei.com \ --cc=mst@redhat.com \ --cc=peter.maydell@linaro.org \ --cc=qemu-arm@nongnu.org \ --cc=qemu-devel@nongnu.org \ --cc=sameo@linux.intel.com \ --cc=sebastien.boeuf@intel.com \ --cc=shannon.zhaosl@gmail.com \ --cc=xuwei5@hisilicon.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: linkBe 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.