From: Igor Mammedov <imammedo@redhat.com>
To: Annie Li <annie.li@oracle.com>
Cc: qemu-devel@nongnu.org, dave@treblig.org, mst@redhat.com,
anisinha@redhat.com, eduardo@habkost.net,
marcel.apfelbaum@gmail.com, philmd@linaro.org,
wangyanan55@huawei.com, zhao1.liu@intel.com, pbonzini@redhat.com,
richard.henderson@linaro.org, slp@redhat.com, eblake@redhat.com,
armbru@redhat.com, miguel.luis@oracle.com
Subject: Re: [PATCH 03/13] acpi: Support Control Method sleep button for x86
Date: Tue, 3 Jun 2025 14:52:06 +0200 [thread overview]
Message-ID: <20250603145206.4e54876e@imammedo.users.ipa.redhat.com> (raw)
In-Reply-To: <20250528163917.2167-1-annie.li@oracle.com>
On Wed, 28 May 2025 12:39:17 -0400
Annie Li <annie.li@oracle.com> wrote:
> Add Control Method Sleep button and its GPE event handler for
> x86 platform. The GPE event handler notifies OSPM when the
> Sleep button event is triggered.
>
> Signed-off-by: Annie Li <annie.li@oracle.com>
> ---
> hw/i386/acpi-build.c | 24 +++++++++++++++++++++++-
> 1 file changed, 23 insertions(+), 1 deletion(-)
>
> diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c
> index 3fffa4a332..2ddf669006 100644
> --- a/hw/i386/acpi-build.c
> +++ b/hw/i386/acpi-build.c
> @@ -40,6 +40,7 @@
> #include "hw/acpi/acpi_aml_interface.h"
> #include "hw/input/i8042.h"
> #include "hw/acpi/memory_hotplug.h"
> +#include "hw/acpi/control_method_device.h"
> #include "system/tpm.h"
> #include "hw/acpi/tpm.h"
> #include "hw/acpi/vmgenid.h"
> @@ -1359,7 +1360,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker,
> NULL);
> Object *q35 = object_resolve_type_unambiguous(TYPE_Q35_HOST_DEVICE, NULL);
> CrsRangeEntry *entry;
> - Aml *dsdt, *sb_scope, *scope, *dev, *method, *field, *pkg, *crs;
> + Aml *dsdt, *sb_scope, *scope, *dev, *method, *field, *pkg, *crs, *condition;
> CrsRangeSet crs_range_set;
> PCMachineState *pcms = PC_MACHINE(machine);
> PCMachineClass *pcmc = PC_MACHINE_GET_CLASS(machine);
> @@ -1465,6 +1466,27 @@ build_dsdt(GArray *table_data, BIOSLinker *linker,
> }
> aml_append(dsdt, scope);
>
> + sb_scope = aml_scope("_SB");
> + acpi_dsdt_add_sleep_button(sb_scope);
> + aml_append(dsdt, sb_scope);
> +
> + /*
> + * The event handler for the control method sleep button is generated
> + * for notifying OSPM (ACPI v6.5, Section 4.8.2.2.2.2).
> + */
> + scope = aml_scope("\\_GPE");
> + method = aml_method("_L07", 0, AML_NOTSERIALIZED);
> + condition = aml_if(aml_name("\\_SB."ACPI_SLEEP_BUTTON_DEVICE".SBP"));
s/condition/if_ctx/
also use full form 'if something == something' for condtion
> + aml_append(condition,
> + aml_store(aml_int(1),
> + aml_name("\\_SB."ACPI_SLEEP_BUTTON_DEVICE".SBP")));
so what is handling this write on qemu side?
and why it's here to begin with? (commit says that it sends event to OSMP but nothing about this write)
> + aml_append(condition,
> + aml_notify(aml_name("\\_SB."ACPI_SLEEP_BUTTON_DEVICE),
> + aml_int(0x80)));
> + aml_append(method, condition);
> + aml_append(scope, method);
> + aml_append(dsdt, scope);
> +
> if (pcmc->legacy_cpu_hotplug) {
> build_legacy_cpu_hotplug_aml(dsdt, machine, pm->cpu_hp_io_base);
> } else {
next prev parent reply other threads:[~2025-06-03 12:53 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-28 16:35 [PATCH 00/13] Support ACPI Control Method Sleep button Annie Li
2025-05-28 16:38 ` [PATCH 01/13] acpi: Implement control method sleep button Annie Li
2025-06-03 12:31 ` Igor Mammedov
2025-06-03 19:08 ` Annie Li
2025-08-11 11:58 ` Igor Mammedov
2025-05-28 16:38 ` [PATCH 02/13] test/acpi: allow DSDT table changes for x86 platform Annie Li
2025-05-28 16:39 ` [PATCH 03/13] acpi: Support Control Method sleep button for x86 Annie Li
2025-06-03 12:52 ` Igor Mammedov [this message]
2025-06-03 19:19 ` Annie Li
2025-05-28 16:39 ` [PATCH 04/13] tests/qtest/bios-table-tests: Update ACPI table binaries " Annie Li
2025-05-28 16:39 ` [PATCH 05/13] acpi: Send the GPE event of sleep " Annie Li
2025-06-03 12:34 ` Igor Mammedov
2025-06-03 19:21 ` Annie Li
2025-05-28 16:40 ` [PATCH 06/13] test/acpi: allow DSDT table changes for microvm Annie Li
2025-05-28 16:40 ` [PATCH 07/13] microvm: Add ACPI Control Method Sleep Button Annie Li
2025-05-28 16:40 ` [PATCH 08/13] hw/acpi: Add ACPI GED support for the sleep event Annie Li
2025-05-28 16:41 ` [PATCH 09/13] microvm: enable sleep GED event Annie Li
2025-05-28 16:41 ` [PATCH 10/13] tests/qtest/bios-table-tests: Update ACPI table binaries for microvm Annie Li
2025-05-28 16:41 ` [PATCH 11/13] microvm: suspend the system as requested Annie Li
2025-05-28 16:42 ` [PATCH 12/13] microvm: enable suspend Annie Li
2025-06-03 13:03 ` Igor Mammedov
2025-06-03 19:22 ` Annie Li
2025-08-11 12:06 ` Igor Mammedov
2025-05-28 16:42 ` [PATCH 13/13] acpi: hmp/qmp: Add hmp/qmp support for system_sleep Annie Li
2025-06-02 9:32 ` Markus Armbruster
2025-06-02 14:22 ` Annie Li
2025-06-03 12:18 ` [PATCH 00/13] Support ACPI Control Method Sleep button Igor Mammedov
2025-06-03 19:23 ` Annie Li
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=20250603145206.4e54876e@imammedo.users.ipa.redhat.com \
--to=imammedo@redhat.com \
--cc=anisinha@redhat.com \
--cc=annie.li@oracle.com \
--cc=armbru@redhat.com \
--cc=dave@treblig.org \
--cc=eblake@redhat.com \
--cc=eduardo@habkost.net \
--cc=marcel.apfelbaum@gmail.com \
--cc=miguel.luis@oracle.com \
--cc=mst@redhat.com \
--cc=pbonzini@redhat.com \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=slp@redhat.com \
--cc=wangyanan55@huawei.com \
--cc=zhao1.liu@intel.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).