[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH-for-4.2 v11 09/11] docs/specs: Add ACPI GED docu
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [PATCH-for-4.2 v11 09/11] docs/specs: Add ACPI GED documentation |
Date: |
Wed, 25 Sep 2019 17:09:59 +0200 |
On Wed, 18 Sep 2019 14:06:31 +0100
Shameer Kolothum <address@hidden> wrote:
> Documents basic concepts of ACPI Generic Event device(GED)
> and interface between QEMU and the ACPI BIOS.
>
> Signed-off-by: Shameer Kolothum <address@hidden>
> Reviewed-by: Eric Auger <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
> ---
> 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
- [Qemu-devel] [PATCH-for-4.2 v11 01/11] hw/acpi: Make ACPI IO address space configurable, (continued)
- [Qemu-devel] [PATCH-for-4.2 v11 01/11] hw/acpi: Make ACPI IO address space configurable, Shameer Kolothum, 2019/09/18
- [Qemu-devel] [PATCH-for-4.2 v11 03/11] hw/acpi: Add ACPI Generic Event Device Support, Shameer Kolothum, 2019/09/18
- [Qemu-devel] [PATCH-for-4.2 v11 04/11] hw/arm/virt: Add memory hotplug framework, Shameer Kolothum, 2019/09/18
- [Qemu-devel] [PATCH-for-4.2 v11 05/11] hw/arm/virt: Enable device memory cold/hot plug with ACPI boot, Shameer Kolothum, 2019/09/18
- [Qemu-devel] [PATCH-for-4.2 v11 06/11] hw/arm/virt-acpi-build: Add PC-DIMM in SRAT, Shameer Kolothum, 2019/09/18
- [Qemu-devel] [PATCH-for-4.2 v11 07/11] hw/arm: Factor out powerdown notifier from GPIO, Shameer Kolothum, 2019/09/18
- [Qemu-devel] [PATCH-for-4.2 v11 08/11] hw/arm: Use GED for system_powerdown event, Shameer Kolothum, 2019/09/18
- [Qemu-devel] [PATCH-for-4.2 v11 09/11] docs/specs: Add ACPI GED documentation, Shameer Kolothum, 2019/09/18
- Re: [Qemu-devel] [PATCH-for-4.2 v11 09/11] docs/specs: Add ACPI GED documentation,
Igor Mammedov <=
- [Qemu-devel] [PATCH-for-4.2 v11 11/11] tests: Add bios tests to arm/virt, Shameer Kolothum, 2019/09/18
- [Qemu-devel] [PATCH-for-4.2 v11 10/11] tests: Update ACPI tables list for upcoming arm/virt tests, Shameer Kolothum, 2019/09/18
- Re: [Qemu-devel] [PATCH-for-4.2 v11 00/11] ARM virt: ACPI memory hotplug support, no-reply, 2019/09/19
- Re: [Qemu-devel] [PATCH-for-4.2 v11 00/11] ARM virt: ACPI memory hotplug support, no-reply, 2019/09/19
- Re: [Qemu-devel] [PATCH-for-4.2 v11 00/11] ARM virt: ACPI memory hotplug support, no-reply, 2019/09/20
- Re: [PATCH-for-4.2 v11 00/11] ARM virt: ACPI memory hotplug support, Michael S. Tsirkin, 2019/09/25