From patchwork Fri Apr 11 20:28:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Annie Li X-Patchwork-Id: 14048732 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8562EC369A2 for ; Fri, 11 Apr 2025 20:30:46 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u3L0h-0008Sl-2X; Fri, 11 Apr 2025 16:29:59 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3L0e-0008Ro-PQ for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:29:56 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3L0c-00082N-PW for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:29:56 -0400 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53BJg16j012761; Fri, 11 Apr 2025 20:29:38 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:reply-to:subject:to; s=corp-2023-11-20; bh=aeYAHJf6KKs2YGAdU9Xnv8gw8a1LLXCET5QSylDWrvA=; b=diE5uzU7a8Tw OXGYKXmkjCHiyKnJGHQkwo8hJakXT0TOCJ1z13jsZAPLDaJmZAABvvJd/8Z52feN Mh/pgMlZJx/kDBQhpXRWxgoT5UZzDL5aL3w3d5GDVNoCUwcG1vFAvR+sFg/noUrg f+w+dTXqgeNRKPVdwtzaWU0HI1SlysRLzWZRYILvNb629yb/gNgYYXqSEB6PrQGb r9HrB1aezXC4YGwP6n0NtElgPvuLPVqtBg25VCOUWgo6/mBgUCgX6jFxUrEc1E5z LhceowGC4kCJZyLvzysV2a+nfv5ZqvwlAV0knpgzvjWnYhJ8xQx1m2dXyFk54l/z i3HgCR6CJg== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45y9fe030y-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:29:38 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 53BIqXr4023915; Fri, 11 Apr 2025 20:29:36 GMT Received: from pps.reinject (localhost [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 45ttymhg79-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:29:36 +0000 Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 53BKTafj000488; Fri, 11 Apr 2025 20:29:36 GMT Received: from localhost.localdomain (dhcp-10-43-12-85.usdhcp.oraclecorp.com [10.43.12.85]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTP id 45ttymhg4b-1; Fri, 11 Apr 2025 20:29:36 +0000 From: Annie Li To: qemu-devel@nongnu.org Cc: mst@redhat.com, paul@xen.org, Jonathan.Cameron@huawei.com, git@dprinz.de, imammedo@redhat.com, annie.li@oracle.com, miguel.luis@oracle.com Subject: [RFC V3 PATCH 01/13] acpi: Implement control method sleep button Date: Fri, 11 Apr 2025 16:28:27 -0400 Message-ID: <20250411202827.2904-1-annie.li@oracle.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20250411201912.2872-1-annie.li@oracle.com> References: <20250411201912.2872-1-annie.li@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-11_08,2025-04-10_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 bulkscore=0 mlxscore=0 mlxlogscore=999 suspectscore=0 adultscore=0 spamscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504110130 X-Proofpoint-GUID: 0tkvaZKwaroUdcDA7DIDHeaEa4GeA9QT X-Proofpoint-ORIG-GUID: 0tkvaZKwaroUdcDA7DIDHeaEa4GeA9QT Received-SPF: pass client-ip=205.220.165.32; envelope-from=annie.li@oracle.com; helo=mx0a-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: annie.li@oracle.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org The fixed hardware sleep button isn't appropriate for hardware reduced platform. This patch implements the control method sleep button in a separate source file so that the button can be added for various platforms. Co-developed-by: Miguel Luis Signed-off-by: Annie Li --- hw/acpi/control_method_device.c | 33 +++++++++++++++++++++++++ hw/acpi/meson.build | 1 + include/hw/acpi/control_method_device.h | 21 ++++++++++++++++ 3 files changed, 55 insertions(+) diff --git a/hw/acpi/control_method_device.c b/hw/acpi/control_method_device.c new file mode 100644 index 0000000000..c3b1d484c4 --- /dev/null +++ b/hw/acpi/control_method_device.c @@ -0,0 +1,33 @@ +/* + * Control Method Device + * + * Copyright (c) 2023 Oracle and/or its affiliates. + * + * + * Authors: + * Annie Li + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "hw/acpi/control_method_device.h" +#include "hw/mem/nvdimm.h" + +/* + * The control method sleep button[ACPI v6.5 Section 4.8.2.2.2.2] + * resides in generic hardware address spaces. The sleep button + * is defined as _HID("PNP0C0E") that associates with device "SLPB". + */ +void acpi_dsdt_add_sleep_button(Aml *scope) +{ + Aml *dev = aml_device(ACPI_SLEEP_BUTTON_DEVICE); + aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0C0E"))); + aml_append(dev, aml_operation_region("\\SLP", AML_SYSTEM_IO, + aml_int(0x201), 0x1)); + Aml *field = aml_field("\\SLP", AML_BYTE_ACC, AML_NOLOCK, + AML_WRITE_AS_ZEROS); + aml_append(field, aml_named_field("SBP", 1)); + aml_append(dev, field); + aml_append(scope, dev); +} diff --git a/hw/acpi/meson.build b/hw/acpi/meson.build index 73f02b9691..a62e625cef 100644 --- a/hw/acpi/meson.build +++ b/hw/acpi/meson.build @@ -17,6 +17,7 @@ acpi_ss.add(when: 'CONFIG_ACPI_CXL', if_true: files('cxl.c'), if_false: files('c acpi_ss.add(when: 'CONFIG_ACPI_VMGENID', if_true: files('vmgenid.c')) acpi_ss.add(when: 'CONFIG_ACPI_VMCLOCK', if_true: files('vmclock.c')) acpi_ss.add(when: 'CONFIG_ACPI_HW_REDUCED', if_true: files('generic_event_device.c')) +acpi_ss.add(when: 'CONFIG_ACPI_HW_REDUCED', if_true: files('control_method_device.c')) acpi_ss.add(when: 'CONFIG_ACPI_HMAT', if_true: files('hmat.c')) acpi_ss.add(when: 'CONFIG_ACPI_APEI', if_true: files('ghes.c'), if_false: files('ghes-stub.c')) acpi_ss.add(when: 'CONFIG_ACPI_PIIX4', if_true: files('piix4.c')) diff --git a/include/hw/acpi/control_method_device.h b/include/hw/acpi/control_method_device.h new file mode 100644 index 0000000000..079f1a74dd --- /dev/null +++ b/include/hw/acpi/control_method_device.h @@ -0,0 +1,21 @@ +/* + * Control Method Device + * + * Copyright (c) 2023 Oracle and/or its affiliates. + * + * + * Authors: + * Annie Li + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + + +#ifndef HW_ACPI_CONTROL_METHOD_DEVICE_H +#define HW_ACPI_CONTROL_NETHOD_DEVICE_H + +#define ACPI_SLEEP_BUTTON_DEVICE "SLPB" + +void acpi_dsdt_add_sleep_button(Aml *scope); + +#endif From patchwork Fri Apr 11 20:31:59 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Annie Li X-Patchwork-Id: 14048733 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 9C7B2C369A2 for ; Fri, 11 Apr 2025 20:32:57 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u3L3P-0001WC-RH; Fri, 11 Apr 2025 16:32:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3L3O-0001Ut-8R for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:32:46 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3L3M-00008J-NG for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:32:45 -0400 Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53BJvBfI018303; Fri, 11 Apr 2025 20:32:42 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:reply-to:subject:to; s=corp-2023-11-20; bh=7q7Yl5e5WtICHyWZi8GbdYy5Bip2fSBD1HvnUmbp8eE=; b=LZlSCL6fkFl8 QbnXfkrcTOefMOpSOa5+XFHi3PisJst+ZWG4QIY5MfIZsb7Zsl4Tidl5zxYvrepl mnZ2/E3IZfvVdc8nHuObfIznBw09w0NeDv67aMow2qi6z5jXT7HANw36BiaXZxTj kPbaWwNKr/azs66POfkUC95RdLkKnSpmSzxYCWmSl7jw4GKQX4x1nNfqOR1Q44tO iwDVStFJzCXqTnRZyaDvuogzEtNAuPB3P8CN2WK4bKW7O1I3bm7WsEW1TNAjnvei saJ0Z+ifgZJ1E1qumBeV0z0QVULRBItqR+FpCG/5RfM2d1B27aNlXuS3rbXIqqiG nnfa7md49w== Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.appoci.oracle.com [130.35.100.223]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45y9pc01qc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:32:41 +0000 (GMT) Received: from pps.filterd (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 53BJVvGg023819; Fri, 11 Apr 2025 20:32:41 GMT Received: from pps.reinject (localhost [127.0.0.1]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 45ttymhkkt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:32:41 +0000 Received: from iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 53BKWePd010930; Fri, 11 Apr 2025 20:32:40 GMT Received: from localhost.localdomain (dhcp-10-43-12-85.usdhcp.oraclecorp.com [10.43.12.85]) by iadpaimrmta01.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTP id 45ttymhkka-1; Fri, 11 Apr 2025 20:32:40 +0000 From: Annie Li To: qemu-devel@nongnu.org Cc: mst@redhat.com, imammedo@redhat.com, alistair.francis@wdc.com, sunilvl@ventanamicro.com, ribalda@chromium.org, annie.li@oracle.com Subject: [RFC V3 PATCH 02/13] test/acpi: allow DSDT table changes for x86 platform Date: Fri, 11 Apr 2025 16:31:59 -0400 Message-ID: <20250411203159.2917-1-annie.li@oracle.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20250411201912.2872-1-annie.li@oracle.com> References: <20250411201912.2872-1-annie.li@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-11_08,2025-04-10_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 malwarescore=0 bulkscore=0 mlxscore=0 mlxlogscore=999 suspectscore=0 adultscore=0 spamscore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504110130 X-Proofpoint-GUID: paz0nRNinmi2D5nYyIhJKZPjgnqED1je X-Proofpoint-ORIG-GUID: paz0nRNinmi2D5nYyIhJKZPjgnqED1je Received-SPF: pass client-ip=205.220.177.32; envelope-from=annie.li@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: annie.li@oracle.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org list changed files in tests/qtest/bios-tables-test-allowed-diff.h Signed-off-by: Annie Li --- tests/qtest/bios-tables-test-allowed-diff.h | 42 +++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index dfb8523c8b..a1047913af 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,43 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/x86/pc/DSDT", +"tests/data/acpi/x86/pc/DSDT.acpierst", +"tests/data/acpi/x86/pc/DSDT.acpihmat", +"tests/data/acpi/x86/pc/DSDT.bridge", +"tests/data/acpi/x86/pc/DSDT.cphp", +"tests/data/acpi/x86/pc/DSDT.dimmpxm", +"tests/data/acpi/x86/pc/DSDT.hpbridge", +"tests/data/acpi/x86/pc/DSDT.hpbrroot", +"tests/data/acpi/x86/pc/DSDT.ipmikcs", +"tests/data/acpi/x86/pc/DSDT.memhp", +"tests/data/acpi/x86/pc/DSDT.nohpet", +"tests/data/acpi/x86/pc/DSDT.numamem", +"tests/data/acpi/x86/pc/DSDT.roothp", +"tests/data/acpi/x86/q35/DSDT", +"tests/data/acpi/x86/q35/DSDT.acpierst", +"tests/data/acpi/x86/q35/DSDT.acpihmat", +"tests/data/acpi/x86/q35/DSDT.acpihmat-generic-x", +"tests/data/acpi/x86/q35/DSDT.acpihmat-noinitiator", +"tests/data/acpi/x86/q35/DSDT.applesmc", +"tests/data/acpi/x86/q35/DSDT.bridge", +"tests/data/acpi/x86/q35/DSDT.core-count", +"tests/data/acpi/x86/q35/DSDT.core-count2", +"tests/data/acpi/x86/q35/DSDT.cphp", +"tests/data/acpi/x86/q35/DSDT.cxl", +"tests/data/acpi/x86/q35/DSDT.dimmpxm", +"tests/data/acpi/x86/q35/DSDT.ipmibt", +"tests/data/acpi/x86/q35/DSDT.ipmismbus", +"tests/data/acpi/x86/q35/DSDT.ivrs", +"tests/data/acpi/x86/q35/DSDT.memhp", +"tests/data/acpi/x86/q35/DSDT.mmio64", +"tests/data/acpi/x86/q35/DSDT.multi-bridge", +"tests/data/acpi/x86/q35/DSDT.noacpihp", +"tests/data/acpi/x86/q35/DSDT.nohpet", +"tests/data/acpi/x86/q35/DSDT.numamem", +"tests/data/acpi/x86/q35/DSDT.pvpanic-isa", +"tests/data/acpi/x86/q35/DSDT.thread-count", +"tests/data/acpi/x86/q35/DSDT.thread-count2", +"tests/data/acpi/x86/q35/DSDT.tis.tpm12", +"tests/data/acpi/x86/q35/DSDT.tis.tpm2", +"tests/data/acpi/x86/q35/DSDT.type4-count", +"tests/data/acpi/x86/q35/DSDT.viot", +"tests/data/acpi/x86/q35/DSDT.xapic", From patchwork Fri Apr 11 20:34:06 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Annie Li X-Patchwork-Id: 14048735 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B1069C369A2 for ; Fri, 11 Apr 2025 20:35:00 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u3L5M-00036i-RV; Fri, 11 Apr 2025 16:34:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3L5K-00035Y-MZ for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:34:46 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3L5J-0000Gx-2o for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:34:46 -0400 Received: from pps.filterd (m0246629.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53BJgCNh013583; Fri, 11 Apr 2025 20:34:36 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:reply-to:subject:to; s=corp-2023-11-20; bh=88ME93WiideXXIUuxtug2b7AsUSEYoXviXqKYS28xus=; b=DrVNy+Cp77qJ rzdcjcQTYCuc1qBqi0LiRreMcxAOXjsMO1mt8U+hNg9tALhydoi7vrz84B3Wm7Iq wuNPi4v/nkd/2h9AOJ6GqmQwV7ALynvjPsiFdSfHKHFS/GE8Ov5FyvEp6r3xIFp5 hkmfm42/6nQczu9DOxgEwerN2O2ap/XQ4gbUheOBaKGdn0o299UaowyfnbW7Z2pN DrJDbWFQPpAKZKPc3LvTef3KBRwVkvSNbKYCzlR/Cyvc5GeaxfDl0zynECjCleiE fjY9rst6hsMaAbztrQ7dYOIFijM7tTSeyZMdLVxHYD0McBLa1cly4OueXuP27Jy4 XRHxzk4vwQ== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45y9fe03cp-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:34:36 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 53BKE5tw001287; Fri, 11 Apr 2025 20:34:35 GMT Received: from pps.reinject (localhost [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 45ttye55a9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:34:35 +0000 Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 53BKYZrg012521; Fri, 11 Apr 2025 20:34:35 GMT Received: from localhost.localdomain (dhcp-10-43-12-85.usdhcp.oraclecorp.com [10.43.12.85]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTP id 45ttye558x-1; Fri, 11 Apr 2025 20:34:34 +0000 From: Annie Li To: qemu-devel@nongnu.org Cc: mst@redhat.com, imammedo@redhat.com, philmd@linaro.org, zhao1.liu@intel.com, Jonathan.Cameron@huawei.com, annie.li@oracle.com Subject: [RFC V3 PATCH 03/13] acpi: Support Control Method sleep button for x86 Date: Fri, 11 Apr 2025 16:34:06 -0400 Message-ID: <20250411203406.2930-1-annie.li@oracle.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20250411201912.2872-1-annie.li@oracle.com> References: <20250411201912.2872-1-annie.li@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-11_08,2025-04-10_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 suspectscore=0 adultscore=0 bulkscore=0 mlxscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504110131 X-Proofpoint-GUID: zenrVy4HWQbyDR_OlBa-M8Ahbud1jEvO X-Proofpoint-ORIG-GUID: zenrVy4HWQbyDR_OlBa-M8Ahbud1jEvO Received-SPF: pass client-ip=205.220.165.32; envelope-from=annie.li@oracle.com; helo=mx0a-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: annie.li@oracle.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org 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 --- hw/i386/acpi-build.c | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 3fffa4a332..4be3595e5a 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,25 @@ 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.]. + */ + scope = aml_scope("\\_GPE"); + method = aml_method("_L07", 0, AML_NOTSERIALIZED); + condition = aml_if(aml_name("\\_SB.SLPB.SBP")); + aml_append(condition, aml_store(aml_int(1), aml_name("\\_SB.SLPB.SBP"))); + 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 { From patchwork Fri Apr 11 20:39:31 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Annie Li X-Patchwork-Id: 14048739 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5B466C369AB for ; Fri, 11 Apr 2025 20:40:58 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u3LAi-0006a7-8b; Fri, 11 Apr 2025 16:40:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3LAg-0006Zp-Hk for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:40:18 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3LAd-000194-7b for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:40:18 -0400 Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53BKJN8s024311; Fri, 11 Apr 2025 20:40:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:reply-to:subject:to; s=corp-2023-11-20; bh=ohdePnIiscyGKsXPu/54oEAWnySSL897MXna/NmjEfk=; b=DBfyL3w2IcQE GNg/2IrGXgb5dF065MP3n+cSpj+Esufc/Et3UvK7rg+GKIBIflemyR/SnvwtwdPk CSjAjpQpGcRKvJErA1KDeIWJ5SV+P60H9XSQ4q1KyM3ncIqpbWBjGOqSqIgBZlrW KmHXJCw/0fQt00DJ8bn8pLcvvPvWQoJOv2MZvc2QQO+HlpKp4tOJdK2qMX6tIHSq Y1G8d7St0ojtysjzs7XF3oMcrOJ4XWFCy9Bd8aIXMKTsin92vGNgXMxKYIR/p6ab FK0iUJvFer/f4MWm8YI+s9OMm290kTrK7nDhv5p5rSoH8seUOU4HxqLjqi5gImTc jAd4zeVmKA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45y9yr011g-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:40:05 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 53BKFJaK001376; Fri, 11 Apr 2025 20:40:04 GMT Received: from pps.reinject (localhost [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 45ttye5amk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:40:04 +0000 Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 53BKe342027748; Fri, 11 Apr 2025 20:40:03 GMT Received: from localhost.localdomain (dhcp-10-43-12-85.usdhcp.oraclecorp.com [10.43.12.85]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTP id 45ttye5ahd-1; Fri, 11 Apr 2025 20:40:03 +0000 From: Annie Li To: qemu-devel@nongnu.org Cc: dave@treblig.org, mst@redhat.com, imammedo@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, annie.li@oracle.com Subject: [RFC V3 PATCH 04/13] tests/qtest/bios-table-tests: Update ACPI table binaries for x86 Date: Fri, 11 Apr 2025 16:39:31 -0400 Message-ID: <20250411203932.2944-1-annie.li@oracle.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20250411201912.2872-1-annie.li@oracle.com> References: <20250411201912.2872-1-annie.li@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-11_08,2025-04-10_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 suspectscore=0 adultscore=0 bulkscore=0 mlxscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504110131 X-Proofpoint-GUID: Usi6seh_zQShV9y-vszJW7Ha6bUJJdHH X-Proofpoint-ORIG-GUID: Usi6seh_zQShV9y-vszJW7Ha6bUJJdHH Received-SPF: pass client-ip=205.220.177.32; envelope-from=annie.li@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: annie.li@oracle.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Following is the diff generated by the step 5 and 6 in tests/qtest/bios-tables-test.c Diff from iasl to show changes in DSDT table: --- /tmp/asl-34PV42.dsl 2025-04-09 19:04:34.846646690 +0000 +++ /tmp/asl-5XBW42.dsl 2025-04-09 19:04:34.839646378 +0000 @@ -1,30 +1,30 @@ /* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20210604 (64-bit version) * Copyright (c) 2000 - 2021 Intel Corporation * * Disassembling to symbolic ASL+ operators * - * Disassembly of tests/data/acpi/x86/q35/DSDT, Wed Apr 9 19:04:34 2025 + * Disassembly of /tmp/aml-EMBW42, Wed Apr 9 19:04:34 2025 * * Original Table Header: * Signature "DSDT" - * Length 0x000020F8 (8440) + * Length 0x00002166 (8550) * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0xBE + * Checksum 0x1E * OEM ID "BOCHS " * OEM Table ID "BXPC " * OEM Revision 0x00000001 (1) * Compiler ID "BXPC" * Compiler Version 0x00000001 (1) */ DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPC ", 0x00000001) { Scope (\) { OperationRegion (DBG, SystemIO, 0x0402, One) Field (DBG, ByteAcc, NoLock, Preserve) { DBGB, 8 } @@ -2852,32 +2852,57 @@ { Memory32Fixed (ReadOnly, 0xFED00000, // Address Base 0x00000400, // Address Length ) }) } } Scope (_GPE) { Name (_HID, "ACPI0006" /* GPE Block Device */) // _HID: Hardware ID } Scope (_SB) { + Device (SLPB) + { + Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */) // _HID: Hardware ID + OperationRegion (\SLP, SystemIO, 0x0201, One) + Field (\SLP, ByteAcc, NoLock, WriteAsZeros) + { + SBP, 1 + } + } + } + + Scope (\_GPE) + { + Method (_L07, 0, NotSerialized) // _Lxx: Level-Triggered GPE, xx=0x00-0xFF + { + If (\_SB.SLPB.SBP) + { + \_SB.SLPB.SBP = One + Notify (\_SB.SLPB, 0x80) // Status Change + } + } + } + + Scope (_SB) + { Device (\_SB.PCI0.PRES) { Name (_HID, EisaId ("PNP0A06") /* Generic Container Device */) // _HID: Hardware ID Name (_UID, "CPU Hotplug resources") // _UID: Unique ID Mutex (CPLK, 0x00) Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { IO (Decode16, 0x0CD8, // Range Minimum 0x0CD8, // Range Maximum 0x01, // Alignment 0x0C, // Length ) }) OperationRegion (PRST, SystemIO, 0x0CD8, 0x0C) Field (PRST, ByteAcc, NoLock, WriteAsZeros) Signed-off-by: Annie Li --- tests/data/acpi/x86/pc/DSDT | Bin 8611 -> 8721 bytes tests/data/acpi/x86/pc/DSDT.acpierst | Bin 8522 -> 8632 bytes tests/data/acpi/x86/pc/DSDT.acpihmat | Bin 9936 -> 10046 bytes tests/data/acpi/x86/pc/DSDT.bridge | Bin 15482 -> 15592 bytes tests/data/acpi/x86/pc/DSDT.cphp | Bin 9075 -> 9185 bytes tests/data/acpi/x86/pc/DSDT.dimmpxm | Bin 10265 -> 10375 bytes tests/data/acpi/x86/pc/DSDT.hpbridge | Bin 8562 -> 8672 bytes tests/data/acpi/x86/pc/DSDT.hpbrroot | Bin 5100 -> 5210 bytes tests/data/acpi/x86/pc/DSDT.ipmikcs | Bin 8683 -> 8793 bytes tests/data/acpi/x86/pc/DSDT.memhp | Bin 9970 -> 10080 bytes tests/data/acpi/x86/pc/DSDT.nohpet | Bin 8469 -> 8579 bytes tests/data/acpi/x86/pc/DSDT.numamem | Bin 8617 -> 8727 bytes tests/data/acpi/x86/pc/DSDT.roothp | Bin 12404 -> 12514 bytes tests/data/acpi/x86/q35/DSDT | Bin 8440 -> 8550 bytes tests/data/acpi/x86/q35/DSDT.acpierst | Bin 8457 -> 8567 bytes tests/data/acpi/x86/q35/DSDT.acpihmat | Bin 9765 -> 9875 bytes .../data/acpi/x86/q35/DSDT.acpihmat-generic-x | Bin 12650 -> 12760 bytes .../acpi/x86/q35/DSDT.acpihmat-noinitiator | Bin 8719 -> 8829 bytes tests/data/acpi/x86/q35/DSDT.applesmc | Bin 8486 -> 8596 bytes tests/data/acpi/x86/q35/DSDT.bridge | Bin 12053 -> 12163 bytes tests/data/acpi/x86/q35/DSDT.core-count | Bin 12998 -> 13108 bytes tests/data/acpi/x86/q35/DSDT.core-count2 | Bin 33855 -> 33965 bytes tests/data/acpi/x86/q35/DSDT.cphp | Bin 8904 -> 9014 bytes tests/data/acpi/x86/q35/DSDT.cxl | Bin 13231 -> 13341 bytes tests/data/acpi/x86/q35/DSDT.dimmpxm | Bin 10094 -> 10204 bytes tests/data/acpi/x86/q35/DSDT.ipmibt | Bin 8515 -> 8625 bytes tests/data/acpi/x86/q35/DSDT.ipmismbus | Bin 8528 -> 8638 bytes tests/data/acpi/x86/q35/DSDT.ivrs | Bin 8457 -> 8567 bytes tests/data/acpi/x86/q35/DSDT.memhp | Bin 9799 -> 9909 bytes tests/data/acpi/x86/q35/DSDT.mmio64 | Bin 9570 -> 9680 bytes tests/data/acpi/x86/q35/DSDT.multi-bridge | Bin 13293 -> 13403 bytes tests/data/acpi/x86/q35/DSDT.noacpihp | Bin 8302 -> 8412 bytes tests/data/acpi/x86/q35/DSDT.nohpet | Bin 8298 -> 8408 bytes tests/data/acpi/x86/q35/DSDT.numamem | Bin 8446 -> 8556 bytes tests/data/acpi/x86/q35/DSDT.pvpanic-isa | Bin 8541 -> 8651 bytes tests/data/acpi/x86/q35/DSDT.thread-count | Bin 12998 -> 13108 bytes tests/data/acpi/x86/q35/DSDT.thread-count2 | Bin 33855 -> 33965 bytes tests/data/acpi/x86/q35/DSDT.tis.tpm12 | Bin 9046 -> 9156 bytes tests/data/acpi/x86/q35/DSDT.tis.tpm2 | Bin 9072 -> 9182 bytes tests/data/acpi/x86/q35/DSDT.type4-count | Bin 18674 -> 18784 bytes tests/data/acpi/x86/q35/DSDT.viot | Bin 14697 -> 14807 bytes tests/data/acpi/x86/q35/DSDT.xapic | Bin 35803 -> 35913 bytes tests/qtest/bios-tables-test-allowed-diff.h | 42 ------------------ 43 files changed, 42 deletions(-) diff --git a/tests/data/acpi/x86/pc/DSDT b/tests/data/acpi/x86/pc/DSDT index 4beb5194b84a711fcb52e3e52cc2096497d18442..62bd8eae9602af4c590c6962689da54e4bff9c70 100644 GIT binary patch delta 152 zcmZ4NJkf>ACDF$oF<>LtX`Xt6_+Y2_=qAlzp8zM0cn?n(9>)tje9;XtK!JEh zZbl}?=tdqe$1&ImC?a4J6Yn12Dq)ga*H Q46)9G3#x4MGoHO70CXWM82|tP delta 24 gcmbQ}ve=o+CDNE`v3p{ delta 24 fcmdnte9DQ-CD)tje9;XtK!JEh zZbl}?=tdqe$1&ImC?a4J6Yn12Dq)ga*L Q39-(D3#x4MGoDwH0Ih*5tpET3 delta 24 gcmdnzcfps-CD(PC@xe~<(M_7cJ^@Y~@gANoJdPK5_@WzPfCBN1 z+>A_&(TzM{j$^PBP(;8cCf+^3Rm3#j$H1InfnJP0Gspyxc947lBbq>4j2=v$t3klY Q8DgCW7gX8iXFOB%0jE+eBLDyZ delta 24 gcmaD+`KyA$AnBGE~v82&v<&p0E=BL^8f$< delta 24 fcmaFp{@IPoCDqO;66_MvuED^-Sh$hvK2N(PC@xe~<(M_7cJ^@Y~@gANoJdPK5_@WzPfCBN1 z+>A_&(TzM{j$^PBP(;8cCf+^3Rm3#j$H1InfnJP0Gspyxc947lBbq>4j2=v$t3klY Q8DgCW7gX8iXFNS30AG15hX4Qo delta 24 fcmaFh{K<*SCD)tje9;XtK!JEh zZbl}?=tdqe$1&ImC?a4J6Yn12Dq)ga*H Q46)9G3#x2$J9jDv0MnK#{Qv*} delta 24 fcmcbm@kX7?CD9PZ6exXU;IX|o6f diff --git a/tests/data/acpi/x86/pc/DSDT.ipmikcs b/tests/data/acpi/x86/pc/DSDT.ipmikcs index 8d465f027772f9c59b0c328c1a099e374a6d2a90..71e2566c59b03670df98d8f3dced9b7f7df1a985 100644 GIT binary patch delta 152 zcmaFueA9)?CD(PC@xe~<(M_7cJ^@Y~@gANoJdPK5_@WzPfCBN1 z+>A_&(TzM{j$^PBP(;8cCf+^3Rm3#j$H1InfnJP0Gspyxc947lBbq>4j2=v$t3klY Q8DgCW7gX8iXFRN;05ZWVwg3PC delta 24 fcmccV^4gipCD$A)tje9;XtK!JEh zZbl}?=tdqe$1&ImC?a4J6Yn12Dq)ga*E Q46)9G3#x4MGaeo(0P|uiP5=M^ delta 24 gcmaFh_sN&bCD zn~{kzx{(LWaSV0>iU`=m#JdN$ikQax7??9G(2LP$2AKfT4w5fmL=$L>(SylzH3&F4 QL#*@Qf-2h_!LwHc05@AI8UO$Q delta 24 fcmZp6p6bNq66_Kps>r~=xN{?yEzjnyJm*9JRQv}a diff --git a/tests/data/acpi/x86/pc/DSDT.numamem b/tests/data/acpi/x86/pc/DSDT.numamem index 9bfbfc28213713c208dfc38a85abb46fb190871d..b2c8220fefd1175ff403a77f77ea2fab7675d096 100644 GIT binary patch delta 152 zcmZ4KJl%!MCD(PC@xe~<(M_7cJ^@Y~@gANoJdPK5_@WzPfCBN1 z+>A_&(TzM{j$^PBP(;8cCf+^3Rm3#j$H1InfnJP0Gspyxc947lBbq>4j2=v$t3klS Q8DgCW7gX8iXFP{R0Lqsu!vFvP delta 24 gcmbR4veKE$CD$AR diff --git a/tests/data/acpi/x86/pc/DSDT.roothp b/tests/data/acpi/x86/pc/DSDT.roothp index efbee6d8aa5c62ff4fcb83e6c5cff59542977850..287ec23844e6887a24276d21b9bdcc415796e656 100644 GIT binary patch delta 152 zcmey8@Fz>% delta 24 fcmaEq_$7hMCDN_5c6? delta 24 fcmezF)ak_K66_MfsmQ><7`u^6QgZV|$!F{US$zim diff --git a/tests/data/acpi/x86/q35/DSDT.acpihmat b/tests/data/acpi/x86/q35/DSDT.acpihmat index 2a4f2fc1d5c5649673353186e67ff5b5e59e8d53..0b911c9425d2f59fc6e0a2aac97fe23ee0b4a18d 100644 GIT binary patch delta 152 zcmZ4LGufBRCDA_&(TzM{j$^PBP(;8cCf+^3Rm3#j$H1InfnJP0Gspyxc947lBbq>4j2=v$t3klg Q6JnhQ7gX716UmP}0KMcZCjbBd delta 24 fcmbR2yVQrvCD)tje9;XtK!JEh zZbl}?=tdqe$1&ImC?a4J6Yn12Dq)ga*S Q2eHnB3#x3hiKLkX03_=xHUIzs delta 24 fcmcbS{3?mdCDXtI$@QgZV|$u}GTS;PkN diff --git a/tests/data/acpi/x86/q35/DSDT.applesmc b/tests/data/acpi/x86/q35/DSDT.applesmc index 5e8220e38d6f88b103f6eb3eb7c78dfa466882dc..7e17c9ebb3b7d28526bd04c9af5ca05a3461ac13 100644 GIT binary patch delta 152 zcmZ4HG{u?ACD)tje9;XtK!JEh zZbl}?=tdqe$1&ImC?a4J6Yn12Dq)ga*H Q46)9G3#x3hiR34C075n@I{*Lx delta 24 fcmbQ@yv&KqCD zn~{kzx{(LWaSV0>iU`=m#JdN$ikQax7??9G(2LP$2AKfT4w5fmL=$L>(SylzH3&F4 QL#*@Qf-2i=BKc4h0A%4RcK`qY delta 24 fcmZpUpBl&I66_Kps?Wf{cyl9{q~zv_lAlBYTLK4u diff --git a/tests/data/acpi/x86/q35/DSDT.core-count b/tests/data/acpi/x86/q35/DSDT.core-count index 7ebfceeb66460d0ad98471924ce224b7153e87ef..22bf4a17db1b8175db939c5159e1686c8bc54066 100644 GIT binary patch delta 152 zcmX?>x+RUvCDMNy&PH_+Y2_=qAlzp8zM0cn?n(9>)tje9;XtK!JEh zZbl}?=tdqe$1&ImC?a4J6Yn12Dq)gaK2 RzzDI=gA1Z=vx(#+NdT{dDyjeg delta 24 gcmdmzb}W_4CDMzOpMWuJYbGvuoF;3z$PZ%J-}7OG~UO+oMC}pj6O5S1dw)+d;uexKwFF+OrEPj TptGC}VxI>WMBQc+N$zX_b$%=I delta 26 hcmZ46$+W+NiOVI}CB(jkfq}7oBbTJ)=82Lr*#K~72iE`q diff --git a/tests/data/acpi/x86/q35/DSDT.cphp b/tests/data/acpi/x86/q35/DSDT.cphp index a055c2e7d3c4f5a00a03be20fd73227e322283a4..0b9e315600b8665a8cb4ddfc57c4cf60968d0b4f 100644 GIT binary patch delta 152 zcmX@%y3LKtCD)tje9;XtK!JEh zZbl}?=tdqe$1&ImC?a4J6Yn12Dq)ga)M Q0I|-43#x3hiR2Vc0D`qDZ2$lO delta 24 gcmdnycEXj*CDWl9HPzO7=(r0BWlU8UO$Q diff --git a/tests/data/acpi/x86/q35/DSDT.dimmpxm b/tests/data/acpi/x86/q35/DSDT.dimmpxm index 664e926e90765550136242f7e3e0bdc7719c1853..1c14b91bb4d341d16527d330e2bb0515e2fafb81 100644 GIT binary patch delta 152 zcmaFocgLU0CD)tje9;XtK!JEh zZbl}?=tdqe$1&ImC?a4J6Yn12Dq)ga&< Q0)tje9;XtK!JEh zZbl}?=tdqe$1&ImC?a4J6Yn12Dq)ga*H Q46)9G3#x3hi6lP<0GEO(^Z)<= delta 24 fcmdn!eAtQ0CDA_&(TzM{j$^PBP(;8cCf+^3Rm3#j$H1InfnJP0Gspyxc947lBbq>4j2=v$t3klY Q8DgCW7gX716G<5k0P7zrnE(I) delta 24 fcmdnze8Gv!CD0q~zv_lDZrKT|fq) diff --git a/tests/data/acpi/x86/q35/DSDT.ivrs b/tests/data/acpi/x86/q35/DSDT.ivrs index 072a3fe2cd17dfe06658dfd82588f69787810114..2d81bcbc781d3fc68a053d5319fbdcfa153a4653 100644 GIT binary patch delta 152 zcmeBl`tHQ#66_LEuE@Z^xNjquq-4E8e6Uk|bdzSVPk<9gyoaX?kK+X%zUYP+pg=q$ zHzN~cbR!R#;~4A&6cMnAiFXfh6)}zXF)(LXpckXh3^DN_5c6? delta 24 fcmezF)ak_K66_MfsmQ><7`u^6QgZV|$!F{US$zim diff --git a/tests/data/acpi/x86/q35/DSDT.memhp b/tests/data/acpi/x86/q35/DSDT.memhp index 4f2f9bcfceff076490cc49b8286380295a340004..056366a2c9fd535fa02d7494181e76b6a76b4cfb 100644 GIT binary patch delta 152 zcmX@^v(=Z&CDWl9KfX@xe~<(M_7cJ^@Y~@gANoJdPK5_@WzPfCBN1 z+>A_&(TzM{j$^PBP(;8cCf+^3Rm3#j$H1InfnJP0Gspyxc947lBbq>4j2=v$t3klS Q8DgCW7gX716G>rS00Y!2$N&HU delta 24 fcmdn$d)$Z1CDA_&(TzM{j$^PBP(;8cCf+^3Rm3#j$H1InfnJP0Gspyxc947lBbq>4j2=v$t3klS Q8DgCW7gX716G=TD01g}~?*IS* delta 24 fcmccM{m6^UCD;M1& delta 24 gcmcbe@iv{yCDN9l9HPzN}iGe0C=|u^8f$< diff --git a/tests/data/acpi/x86/q35/DSDT.noacpihp b/tests/data/acpi/x86/q35/DSDT.noacpihp index 9f7261d1b06bbf5d8a3e5a7a46b247a2a21eb544..1c09aff8b5b8955730d5ca1737e4e7f6e698e401 100644 GIT binary patch delta 152 zcmaFoaL19$CDA_&(TzM{j$^PBP(;8cCf+^3Rm3#j$H1InfnJP0Gspyxc947lBbq>4j2=v$t3klY Q8DgCW7gX8itKu^`01GWE=Kufz delta 24 gcmccP_|AdLCDA_&(TzM{j$^PBP(;8cCf+^3Rm3#j$H1InfnJP0Gspyxc947lBbq>4j2=v$t3klY Q8DgCW7gX8iWfDi&0caR3kN^Mx delta 24 fcmccN_{xFHCD<$*b%DW~~R9 diff --git a/tests/data/acpi/x86/q35/DSDT.numamem b/tests/data/acpi/x86/q35/DSDT.numamem index fd1d8a79d3d9b071c8796e5e99b76698a9a8d29c..454aa65803d8da71c9d5f1a263fa0b59bb76af4f 100644 GIT binary patch delta 152 zcmez8_{NFLCD)tje9;XtK!JEh zZbl}?=tdqe$1&ImC?a4J6Yn12Dq)ga*E Q46)9G3#x3hiR3AE0OrmsI{*Lx delta 24 gcmaFk^v{vYCD0B`3AJOBUy diff --git a/tests/data/acpi/x86/q35/DSDT.pvpanic-isa b/tests/data/acpi/x86/q35/DSDT.pvpanic-isa index 89032fa0290f496be0c06c6382586541aa1118a8..8ef053f6dc2f1c3086756698c5953e857067df9d 100644 GIT binary patch delta 152 zcmccXblREACDA_&(TzM{j$^PBP(;8cCf+^3Rm3#j$H1InfnJP0Gspyxc947lBbq>4j2=v$t3klY Q8DgCW7gX716G=@D010g>+W-In delta 24 fcmX@@eAkJ~CDx+RUvCDMNy&PH_+Y2_=qAlzp8zM0cn?n(9>)tje9;XtK!JEh zZbl}?=tdqe$1&ImC?a4J6Yn12Dq)gaK2 RzzDI=gA1Z=vx(#+NdT{dDyjeg delta 24 gcmdmzb}W_4CDMzOpMWuJYbGvuoF;3z$PZ%J-}7OG~UO+oMC}pj6O5S1dw)+d;uexKwFF+OrEPj TptGC}VxI>WMBQc+N$zX_b$%=I delta 26 hcmZ46$+W+NiOVI}CB(jkfq}7oBbTJ)=82Lr*#K~72iE`q diff --git a/tests/data/acpi/x86/q35/DSDT.tis.tpm12 b/tests/data/acpi/x86/q35/DSDT.tis.tpm12 index f2ed40ca70cb13e733e39f4bad756be8688e01fe..a36710dd89085f8ec5f173b84d4cd2a25473530e 100644 GIT binary patch delta 152 zcmccScEp{_CD)tje9;XtK!JEh zZbl}?=tdqe$1&ImC?a4J6Yn12Dq)ga*H Q46)9G3#x3hiKG%20KDHSNdN!< delta 24 fcmX@&e$9=`CD)tje9;XtK!JEh zZbl}?=tdqe$1&ImC?a4J6Yn12Dq)ga*H Q46)9G3#x3hiKGn|0K|zZYXATM delta 24 fcmccT{=tpQCD8@VJU>kZA_&(TzM{j$^PBP(;8cCf+^3Rm3#j$H1InfnJP0Gspyxc947lBbq>4j2=v$t3klY Q8DgCW7gX716G>AA0Ch<#y8r+H delta 24 fcmca!{IZD4CDkZ(gX#8kCN7s?myp}t3=E9T8@VJUH&2w@Q3L>kAqj5) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index a1047913af..dfb8523c8b 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,43 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/x86/pc/DSDT", -"tests/data/acpi/x86/pc/DSDT.acpierst", -"tests/data/acpi/x86/pc/DSDT.acpihmat", -"tests/data/acpi/x86/pc/DSDT.bridge", -"tests/data/acpi/x86/pc/DSDT.cphp", -"tests/data/acpi/x86/pc/DSDT.dimmpxm", -"tests/data/acpi/x86/pc/DSDT.hpbridge", -"tests/data/acpi/x86/pc/DSDT.hpbrroot", -"tests/data/acpi/x86/pc/DSDT.ipmikcs", -"tests/data/acpi/x86/pc/DSDT.memhp", -"tests/data/acpi/x86/pc/DSDT.nohpet", -"tests/data/acpi/x86/pc/DSDT.numamem", -"tests/data/acpi/x86/pc/DSDT.roothp", -"tests/data/acpi/x86/q35/DSDT", -"tests/data/acpi/x86/q35/DSDT.acpierst", -"tests/data/acpi/x86/q35/DSDT.acpihmat", -"tests/data/acpi/x86/q35/DSDT.acpihmat-generic-x", -"tests/data/acpi/x86/q35/DSDT.acpihmat-noinitiator", -"tests/data/acpi/x86/q35/DSDT.applesmc", -"tests/data/acpi/x86/q35/DSDT.bridge", -"tests/data/acpi/x86/q35/DSDT.core-count", -"tests/data/acpi/x86/q35/DSDT.core-count2", -"tests/data/acpi/x86/q35/DSDT.cphp", -"tests/data/acpi/x86/q35/DSDT.cxl", -"tests/data/acpi/x86/q35/DSDT.dimmpxm", -"tests/data/acpi/x86/q35/DSDT.ipmibt", -"tests/data/acpi/x86/q35/DSDT.ipmismbus", -"tests/data/acpi/x86/q35/DSDT.ivrs", -"tests/data/acpi/x86/q35/DSDT.memhp", -"tests/data/acpi/x86/q35/DSDT.mmio64", -"tests/data/acpi/x86/q35/DSDT.multi-bridge", -"tests/data/acpi/x86/q35/DSDT.noacpihp", -"tests/data/acpi/x86/q35/DSDT.nohpet", -"tests/data/acpi/x86/q35/DSDT.numamem", -"tests/data/acpi/x86/q35/DSDT.pvpanic-isa", -"tests/data/acpi/x86/q35/DSDT.thread-count", -"tests/data/acpi/x86/q35/DSDT.thread-count2", -"tests/data/acpi/x86/q35/DSDT.tis.tpm12", -"tests/data/acpi/x86/q35/DSDT.tis.tpm2", -"tests/data/acpi/x86/q35/DSDT.type4-count", -"tests/data/acpi/x86/q35/DSDT.viot", -"tests/data/acpi/x86/q35/DSDT.xapic", From patchwork Fri Apr 11 20:41:32 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Annie Li X-Patchwork-Id: 14048740 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6D91CC369A2 for ; Fri, 11 Apr 2025 20:42:34 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u3LCX-0007S8-HQ; Fri, 11 Apr 2025 16:42:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3LCV-0007Rz-RT for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:42:11 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3LCU-0001JW-Ad for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:42:11 -0400 Received: from pps.filterd (m0246631.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53BJGZcW006057; Fri, 11 Apr 2025 20:41:58 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:reply-to:subject:to; s=corp-2023-11-20; bh=8KM6E6rOAbrFIu4LFi0eFopihIoPkj2MOxJ2KXmHepM=; b=T8AMuuV+VpMk ONY2mHsiDbXvBy2LvHCRmjg8kXm9Wa7XcQbRsm8O1hOLNUiwHbhjl88mn62KvhT+ SJFVQsRFfdMnJq8cs301GgGujemg3DJJeLqt8Dy5a9uWkOo9UbzI2GytIKR3rVkV Sdgib9ysrlsDd86fM3vEuJpVMsydgqOrSEzs2b5UBDN1kh74v7jDaoCVls4EYnbv TuGHtFsgIP0jGypGYGbVZcL7p2DBsVde2zBjLzU5u2eq+sj74KF5xVuIOa6w+30T EVaXYX5LPOJMFwVct/ZzugPk3AOjBs4KrNu6d92i1ow1lK+0ufU31564pjpWYTML HDZY9IZ0KQ== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45y93m84p7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:41:58 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 53BKBdle002058; Fri, 11 Apr 2025 20:41:57 GMT Received: from pps.reinject (localhost [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 45ttye5cna-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:41:57 +0000 Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 53BKfu4m033040; Fri, 11 Apr 2025 20:41:56 GMT Received: from localhost.localdomain (dhcp-10-43-12-85.usdhcp.oraclecorp.com [10.43.12.85]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTP id 45ttye5cm0-1; Fri, 11 Apr 2025 20:41:56 +0000 From: Annie Li To: qemu-devel@nongnu.org Cc: dave@treblig.org, mst@redhat.com, imammedo@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, annie.li@oracle.com, miguel.luis@oracle.com Subject: [RFC V3 PATCH 05/13] acpi: Send the GPE event of suspend and wakeup for x86 Date: Fri, 11 Apr 2025 16:41:32 -0400 Message-ID: <20250411204133.2955-1-annie.li@oracle.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20250411201912.2872-1-annie.li@oracle.com> References: <20250411201912.2872-1-annie.li@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-11_08,2025-04-10_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 suspectscore=0 adultscore=0 bulkscore=0 mlxscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504110131 X-Proofpoint-GUID: U6k3Y2ImWMLyCDPaNMwbm0VeRPYzEMJ- X-Proofpoint-ORIG-GUID: U6k3Y2ImWMLyCDPaNMwbm0VeRPYzEMJ- Received-SPF: pass client-ip=205.220.177.32; envelope-from=annie.li@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: annie.li@oracle.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org The GPE event is triggered to notify x86 guest to suppend itself. The function acpi_send_sleep_event will also trigger GED events on HW-reduced systems where ACPI GED sleep event is supported. Signed-off-by: Annie Li --- hw/acpi/core.c | 10 ++++++++++ include/hw/acpi/acpi.h | 1 + include/hw/acpi/acpi_dev_interface.h | 1 + 3 files changed, 12 insertions(+) diff --git a/hw/acpi/core.c b/hw/acpi/core.c index 58f8964e13..00a9d226f0 100644 --- a/hw/acpi/core.c +++ b/hw/acpi/core.c @@ -359,6 +359,16 @@ int acpi_get_slic_oem(AcpiSlicOem *oem) return -1; } +void acpi_send_sleep_event(void) +{ + Object *obj = object_resolve_path_type("", TYPE_ACPI_DEVICE_IF, NULL); + + if (obj) { + /* Send sleep event */ + acpi_send_event(DEVICE(obj), ACPI_SLEEP_STATUS); + } +} + static void acpi_notify_wakeup(Notifier *notifier, void *data) { ACPIREGS *ar = container_of(notifier, ACPIREGS, wakeup); diff --git a/include/hw/acpi/acpi.h b/include/hw/acpi/acpi.h index d1a4fa2af8..64d3ff78ed 100644 --- a/include/hw/acpi/acpi.h +++ b/include/hw/acpi/acpi.h @@ -184,6 +184,7 @@ uint32_t acpi_gpe_ioport_readb(ACPIREGS *ar, uint32_t addr); void acpi_send_gpe_event(ACPIREGS *ar, qemu_irq irq, AcpiEventStatusBits status); +void acpi_send_sleep_event(void); void acpi_update_sci(ACPIREGS *acpi_regs, qemu_irq irq); diff --git a/include/hw/acpi/acpi_dev_interface.h b/include/hw/acpi/acpi_dev_interface.h index 68d9d15f50..1cb050cd3a 100644 --- a/include/hw/acpi/acpi_dev_interface.h +++ b/include/hw/acpi/acpi_dev_interface.h @@ -13,6 +13,7 @@ typedef enum { ACPI_NVDIMM_HOTPLUG_STATUS = 16, ACPI_VMGENID_CHANGE_STATUS = 32, ACPI_POWER_DOWN_STATUS = 64, + ACPI_SLEEP_STATUS = 128, } AcpiEventStatusBits; #define TYPE_ACPI_DEVICE_IF "acpi-device-interface" From patchwork Fri Apr 11 20:42:03 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Annie Li X-Patchwork-Id: 14048741 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id AD8E7C369A2 for ; Fri, 11 Apr 2025 20:42:55 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u3LD3-0007tc-1y; Fri, 11 Apr 2025 16:42:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3LD1-0007np-4q for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:42:43 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3LCz-0001Lv-FV for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:42:42 -0400 Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53BKM26X025973; Fri, 11 Apr 2025 20:42:30 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:reply-to:subject:to; s=corp-2023-11-20; bh=EkEybEGDDJSfdv2J9XE9R2ELRCHKFMM8Dm8ZJABulbQ=; b=K0UGrjTjhDdW z9W+gLKPYlAWPTLngpGLZjK/9bQ2g81PIf0P2l9+OkDwb8zvBb22GIL7G0yLyBs9 SRiDrlpzsQD2GXyVVPFB0KjPT8XwjFKpi1YclOujm8k3J6RMp0rf0xYJQYuECcfG vnz8NDb/SAQSKMpbD62RSe8b7+HHoIwAoL/uPZzuW3fzuk/ra91OUzUd9hB7vBvQ pWEE/gLvloW8rZSsankjH5T58cREoN/veDbXvRDSAOioynGHC/xl2HIkfYTbF7qu Iech5a6DMVO9rQ/s8kh7n84JJU1Cv0R9D1CI9wRIbff+4yfzcDuj3AtI+Iik+ETC /9Kzq5ZKLA== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45ya25819c-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:42:30 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 53BJsmR8001589; Fri, 11 Apr 2025 20:42:29 GMT Received: from pps.reinject (localhost [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 45ttye5d8j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:42:29 +0000 Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 53BKgT4J034263; Fri, 11 Apr 2025 20:42:29 GMT Received: from localhost.localdomain (dhcp-10-43-12-85.usdhcp.oraclecorp.com [10.43.12.85]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTP id 45ttye5d6k-1; Fri, 11 Apr 2025 20:42:28 +0000 From: Annie Li To: qemu-devel@nongnu.org Cc: dave@treblig.org, mst@redhat.com, imammedo@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, annie.li@oracle.com, miguel.luis@oracle.com Subject: [RFC V3 PATCH 06/13] test/acpi: allow DSDT table changes for microvm Date: Fri, 11 Apr 2025 16:42:03 -0400 Message-ID: <20250411204204.2966-1-annie.li@oracle.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20250411201912.2872-1-annie.li@oracle.com> References: <20250411201912.2872-1-annie.li@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-11_08,2025-04-10_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 suspectscore=0 adultscore=0 bulkscore=0 mlxscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504110131 X-Proofpoint-ORIG-GUID: Azivrh7MbCm-LmLz7JoMd1EBMNbHmkpe X-Proofpoint-GUID: Azivrh7MbCm-LmLz7JoMd1EBMNbHmkpe Received-SPF: pass client-ip=205.220.165.32; envelope-from=annie.li@oracle.com; helo=mx0a-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: annie.li@oracle.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org list changed files in tests/qtest/bios-tables-test-allowed-diff.h Signed-off-by: Annie Li --- tests/qtest/bios-tables-test-allowed-diff.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index dfb8523c8b..bb028db137 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,6 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/x86/microvm/DSDT", +"tests/data/acpi/x86/microvm/DSDT.ioapic2", +"tests/data/acpi/x86/microvm/DSDT.pcie", +"tests/data/acpi/x86/microvm/DSDT.rtc", +"tests/data/acpi/x86/microvm/DSDT.usb", From patchwork Fri Apr 11 20:42:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Annie Li X-Patchwork-Id: 14048742 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6FB12C369A2 for ; Fri, 11 Apr 2025 20:43:10 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u3LDJ-0008Rj-Cq; Fri, 11 Apr 2025 16:43:01 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3LDI-0008PP-1A for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:43:00 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3LDG-0001Mq-B7 for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:42:59 -0400 Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53BKbBdp026274; Fri, 11 Apr 2025 20:42:52 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:reply-to:subject:to; s=corp-2023-11-20; bh=W1P1bs7VQBT8ohlWDXoBmUG081fUqYeB7+rytmTTyUI=; b=dYAg3Ua+SyVN SXNUc0kAMOJCbIfU/xUuJV7lI20LypXyQyw2uN+DHKQ7Ha5hoVjCvGmcECrs1BhZ a+S9VUSgEBBcQjAH0aaiYaVlcLvZ9oqsNSBxbgY/et3VYG0Ows1bkMLFQhDyNG2P YF7DUjNt0S2jxUYSbO7nhu7VpJJ9dXnqel3QR0MxTw9/Nc8vPOnLVrtnEfXYkLkD vl0bvbfNh3GY7wQeJnF9RYw9SSLEDKHrdUl2nWloJSMw9K232r4zde5++fi8ge3o ZzD25wlK0rc6WLtq63XH6HgTB5GoojXnZXP26kINtYqtgczPh6TxjFOQ50nAQQ7J C6s8niEdYQ== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45ya96808e-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:42:51 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 53BKJ7fX001648; Fri, 11 Apr 2025 20:42:51 GMT Received: from pps.reinject (localhost [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 45ttye5dht-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:42:51 +0000 Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 53BKgodo035382; Fri, 11 Apr 2025 20:42:50 GMT Received: from localhost.localdomain (dhcp-10-43-12-85.usdhcp.oraclecorp.com [10.43.12.85]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTP id 45ttye5dgr-1; Fri, 11 Apr 2025 20:42:50 +0000 From: Annie Li To: qemu-devel@nongnu.org Cc: dave@treblig.org, mst@redhat.com, imammedo@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, annie.li@oracle.com, miguel.luis@oracle.com Subject: [RFC V3 PATCH 07/13] microvm: support control method sleep button Date: Fri, 11 Apr 2025 16:42:35 -0400 Message-ID: <20250411204236.2977-1-annie.li@oracle.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20250411201912.2872-1-annie.li@oracle.com> References: <20250411201912.2872-1-annie.li@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-11_08,2025-04-10_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 spamscore=0 mlxlogscore=999 suspectscore=0 adultscore=0 bulkscore=0 mlxscore=0 phishscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504110131 X-Proofpoint-ORIG-GUID: DBHbSFo17MImDQFgprVYfyjps34PCAwX X-Proofpoint-GUID: DBHbSFo17MImDQFgprVYfyjps34PCAwX Received-SPF: pass client-ip=205.220.165.32; envelope-from=annie.li@oracle.com; helo=mx0a-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: annie.li@oracle.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Add the support of control method sleep button and System S3 Sleeping State for microvm. Signed-off-by: Annie Li --- hw/i386/acpi-microvm.c | 11 +++++++++++ include/hw/acpi/generic_event_device.h | 1 + 2 files changed, 12 insertions(+) diff --git a/hw/i386/acpi-microvm.c b/hw/i386/acpi-microvm.c index 279da6b4aa..57c45ea327 100644 --- a/hw/i386/acpi-microvm.c +++ b/hw/i386/acpi-microvm.c @@ -32,6 +32,7 @@ #include "hw/acpi/generic_event_device.h" #include "hw/acpi/utils.h" #include "hw/acpi/erst.h" +#include "hw/acpi/control_method_device.h" #include "hw/i386/fw_cfg.h" #include "hw/i386/microvm.h" #include "hw/pci/pci.h" @@ -123,12 +124,22 @@ build_dsdt_microvm(GArray *table_data, BIOSLinker *linker, build_ged_aml(sb_scope, GED_DEVICE, x86ms->acpi_dev, GED_MMIO_IRQ, AML_SYSTEM_MEMORY, GED_MMIO_BASE); acpi_dsdt_add_power_button(sb_scope); + acpi_dsdt_add_sleep_button(sb_scope); acpi_dsdt_add_virtio(sb_scope, mms); acpi_dsdt_add_xhci(sb_scope, mms); acpi_dsdt_add_pci(sb_scope, mms); aml_append(dsdt, sb_scope); /* ACPI 5.0: Table 7-209 System State Package */ + scope = aml_scope("\\"); + pkg = aml_package(4); + aml_append(pkg, aml_int(ACPI_GED_SLP_TYP_S3)); + aml_append(pkg, aml_int(0)); /* ignored */ + aml_append(pkg, aml_int(0)); /* reserved */ + aml_append(pkg, aml_int(0)); /* reserved */ + aml_append(scope, aml_name_decl("_S3", pkg)); + aml_append(dsdt, scope); + scope = aml_scope("\\"); pkg = aml_package(4); aml_append(pkg, aml_int(ACPI_GED_SLP_TYP_S5)); diff --git a/include/hw/acpi/generic_event_device.h b/include/hw/acpi/generic_event_device.h index d2dac87b4a..28c5785863 100644 --- a/include/hw/acpi/generic_event_device.h +++ b/include/hw/acpi/generic_event_device.h @@ -85,6 +85,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(AcpiGedState, ACPI_GED) #define ACPI_GED_SLP_TYP_POS 0x2 /* SLP_TYPx Bit Offset */ #define ACPI_GED_SLP_TYP_MASK 0x07 /* SLP_TYPx 3-bit mask */ #define ACPI_GED_SLP_TYP_S5 0x05 /* System _S5 State (Soft Off) */ +#define ACPI_GED_SLP_TYP_S3 0x03 /* System _S3 State (Sleeping State) */ #define ACPI_GED_SLP_EN 0x20 /* SLP_EN write-only bit */ #define GED_DEVICE "GED" From patchwork Fri Apr 11 20:42:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Annie Li X-Patchwork-Id: 14048743 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 80399C369A2 for ; Fri, 11 Apr 2025 20:43:57 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u3LDw-0000i7-JB; Fri, 11 Apr 2025 16:43:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3LDv-0000hr-09 for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:43:39 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3LDt-0001PJ-78 for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:43:38 -0400 Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53BKVuD7027699; Fri, 11 Apr 2025 20:43:30 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:reply-to:subject:to; s=corp-2023-11-20; bh=C2OKf7LxVmRA2bOllnVhZdW+mMACA47U5zJUhNIozZk=; b=amKkbdWnAw0M VULFa2FIlOKZoo0M1ybRWTFzJVkAcqgRMPq/LPdOK7bcHz0W3RYFjSwww3Oes4fC K8TsbU7zUbu49wKI/LuXndxF3YgCwDFRJnkebKWQj1yfOMFHR1lCPwgYKvZJyhEY cxkkm7PXujFK/ebG5Tr6GpvvotR5oDHuyDUV9vcIpPjyYjJ2dhLhdZxmjy/YjC46 zfX+KzD5XqH+cmtSx2MnLCmFPliwfbCbNyKma46dWYRgncWy5As/lyURWq/XWWce Y8kOxH5BcU8WOVYzuTCDGgJulOQVVGmwNMbrAaNYg6uf1jttTC8ZOW7Xj0BCCRS6 Xd79mQ9mzg== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45ya6ug0fh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:43:30 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 53BKMr7G020992; Fri, 11 Apr 2025 20:43:28 GMT Received: from pps.reinject (localhost [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 45ttymjbxd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:43:28 +0000 Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 53BKhRO1016781; Fri, 11 Apr 2025 20:43:27 GMT Received: from localhost.localdomain (dhcp-10-43-12-85.usdhcp.oraclecorp.com [10.43.12.85]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTP id 45ttymjbtj-1; Fri, 11 Apr 2025 20:43:27 +0000 From: Annie Li To: qemu-devel@nongnu.org Cc: dave@treblig.org, mst@redhat.com, imammedo@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, annie.li@oracle.com, miguel.luis@oracle.com Subject: [RFC V3 PATCH 08/13] hw/acpi: Add ACPI GED support for the sleep event Date: Fri, 11 Apr 2025 16:42:57 -0400 Message-ID: <20250411204257.2988-1-annie.li@oracle.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20250411201912.2872-1-annie.li@oracle.com> References: <20250411201912.2872-1-annie.li@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-11_08,2025-04-10_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 mlxlogscore=999 phishscore=0 bulkscore=0 adultscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504110132 X-Proofpoint-GUID: u_8u23RD7touKugkHvWoUrxndniq4COr X-Proofpoint-ORIG-GUID: u_8u23RD7touKugkHvWoUrxndniq4COr Received-SPF: pass client-ip=205.220.165.32; envelope-from=annie.li@oracle.com; helo=mx0a-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: annie.li@oracle.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org From: Miguel Luis Add support for ACPI GED sleep event on the ACPI device interface so that HW-reduced systems can enable guests to sleep. Signed-off-by: Miguel Luis Signed-off-by: Annie Li --- hw/acpi/generic_event_device.c | 9 +++++++++ include/hw/acpi/generic_event_device.h | 1 + 2 files changed, 10 insertions(+) diff --git a/hw/acpi/generic_event_device.c b/hw/acpi/generic_event_device.c index c85d97ca37..5a1ac8e362 100644 --- a/hw/acpi/generic_event_device.c +++ b/hw/acpi/generic_event_device.c @@ -13,6 +13,7 @@ #include "qapi/error.h" #include "hw/acpi/acpi.h" #include "hw/acpi/generic_event_device.h" +#include "hw/acpi/control_method_device.h" #include "hw/irq.h" #include "hw/mem/pc-dimm.h" #include "hw/mem/nvdimm.h" @@ -26,6 +27,7 @@ static const uint32_t ged_supported_events[] = { ACPI_GED_PWR_DOWN_EVT, ACPI_GED_NVDIMM_HOTPLUG_EVT, ACPI_GED_CPU_HOTPLUG_EVT, + ACPI_GED_SLEEP_EVT, }; /* @@ -121,6 +123,11 @@ void build_ged_aml(Aml *table, const char *name, HotplugHandler *hotplug_dev, aml_notify(aml_name("\\_SB.NVDR"), aml_int(0x80))); break; + case ACPI_GED_SLEEP_EVT: + aml_append(if_ctx, + aml_notify(aml_name(ACPI_SLEEP_BUTTON_DEVICE), + aml_int(0x80))); + break; default: /* * Please make sure all the events in ged_supported_events[] @@ -295,6 +302,8 @@ static void acpi_ged_send_event(AcpiDeviceIf *adev, AcpiEventStatusBits ev) sel = ACPI_GED_MEM_HOTPLUG_EVT; } else if (ev & ACPI_POWER_DOWN_STATUS) { sel = ACPI_GED_PWR_DOWN_EVT; + } else if (ev & ACPI_SLEEP_STATUS) { + sel = ACPI_GED_SLEEP_EVT; } else if (ev & ACPI_NVDIMM_HOTPLUG_STATUS) { sel = ACPI_GED_NVDIMM_HOTPLUG_EVT; } else if (ev & ACPI_CPU_HOTPLUG_STATUS) { diff --git a/include/hw/acpi/generic_event_device.h b/include/hw/acpi/generic_event_device.h index 28c5785863..71503e0100 100644 --- a/include/hw/acpi/generic_event_device.h +++ b/include/hw/acpi/generic_event_device.h @@ -102,6 +102,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(AcpiGedState, ACPI_GED) #define ACPI_GED_PWR_DOWN_EVT 0x2 #define ACPI_GED_NVDIMM_HOTPLUG_EVT 0x4 #define ACPI_GED_CPU_HOTPLUG_EVT 0x8 +#define ACPI_GED_SLEEP_EVT 0x10 typedef struct GEDState { MemoryRegion evt; From patchwork Fri Apr 11 20:43:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Annie Li X-Patchwork-Id: 14048744 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 284E9C369A2 for ; Fri, 11 Apr 2025 20:44:26 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u3LEb-000139-MB; Fri, 11 Apr 2025 16:44:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3LER-00011X-6B for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:44:12 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3LEH-0001QB-6o for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:44:02 -0400 Received: from pps.filterd (m0246627.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53BKbDam026553; Fri, 11 Apr 2025 20:43:55 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:reply-to:subject:to; s=corp-2023-11-20; bh=5Y8gtLBRlGsUqNhPR42N/L5EXs7ijAYflMrDqZ6Ou2I=; b=REt+oEdgoGZJ DQ8NuwV3oKA968dRAkh7H4sKKDyR5rauzj8Co0iv/zJjB3Jc6k+LDKqDXfSCAtnA LjUG72xzg+ADSAVrV2ckafUDHpivOIkq/RhBVSW2yn1OUaOmdrDyHjMaeOppOVou eAZLKBtSfz4GYsdegyhJniepVeMZw+Wh6mAfeGTB6trmoLUtNIE05mTiWftfdjmb H7x6DJgyI1q1533VezW+uYdOIpKm4ISrVFIEUGGAPTJoBim1cC8fSr5fwxIkq0I9 9dDIbfNGVDSHm5va5mUbqzo0yeI3DyNKUo49QWGhTLNgcECbTmg6FmdOFvnaTT6D OM/Pos1Haw== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45ya9680a7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:43:54 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 53BKg3gR021090; Fri, 11 Apr 2025 20:43:53 GMT Received: from pps.reinject (localhost [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 45ttymjccg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:43:53 +0000 Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 53BKhq8g018599; Fri, 11 Apr 2025 20:43:52 GMT Received: from localhost.localdomain (dhcp-10-43-12-85.usdhcp.oraclecorp.com [10.43.12.85]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTP id 45ttymjcb2-1; Fri, 11 Apr 2025 20:43:52 +0000 From: Annie Li To: qemu-devel@nongnu.org Cc: dave@treblig.org, mst@redhat.com, imammedo@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, annie.li@oracle.com, miguel.luis@oracle.com Subject: [RFC V3 PATCH 09/13] microvm: enable sleep GED event Date: Fri, 11 Apr 2025 16:43:35 -0400 Message-ID: <20250411204335.2999-1-annie.li@oracle.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20250411201912.2872-1-annie.li@oracle.com> References: <20250411201912.2872-1-annie.li@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-11_08,2025-04-10_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 mlxlogscore=999 phishscore=0 bulkscore=0 adultscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504110132 X-Proofpoint-ORIG-GUID: eG-IwC1wb6b5t1I6928eD1TetiKzNBcB X-Proofpoint-GUID: eG-IwC1wb6b5t1I6928eD1TetiKzNBcB Received-SPF: pass client-ip=205.220.165.32; envelope-from=annie.li@oracle.com; helo=mx0a-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: annie.li@oracle.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org The sleep GED event is enabled for MicroVM. Also, the system suspend is enabled when the GED register is set for sleep. Signed-off-by: Annie Li --- hw/i386/microvm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c index d0a236c74f..eba33c4365 100644 --- a/hw/i386/microvm.c +++ b/hw/i386/microvm.c @@ -205,7 +205,8 @@ static void microvm_devices_init(MicrovmMachineState *mms) /* Optional and legacy devices */ if (x86_machine_is_acpi_enabled(x86ms)) { DeviceState *dev = qdev_new(TYPE_ACPI_GED); - qdev_prop_set_uint32(dev, "ged-event", ACPI_GED_PWR_DOWN_EVT); + qdev_prop_set_uint32(dev, "ged-event", + ACPI_GED_PWR_DOWN_EVT | ACPI_GED_SLEEP_EVT); sysbus_realize(SYS_BUS_DEVICE(dev), &error_fatal); sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, GED_MMIO_BASE); /* sysbus_mmio_map(SYS_BUS_DEVICE(dev), 1, GED_MMIO_BASE_MEMHP); */ From patchwork Fri Apr 11 20:44:01 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Annie Li X-Patchwork-Id: 14048748 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A8B68C369A2 for ; Fri, 11 Apr 2025 20:44:50 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u3LF0-0001QO-No; Fri, 11 Apr 2025 16:44:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3LEk-0001KN-0z for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:44:35 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3LEi-0001RT-4E for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:44:29 -0400 Received: from pps.filterd (m0246617.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53BKM4nq025993; Fri, 11 Apr 2025 20:44:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:reply-to:subject:to; s=corp-2023-11-20; bh=1MojNHsCjfIhsecBSF2BENCN9HLL6XWRSfsuOObVT6Q=; b=JCXxWPeWKfXr zpGAGjtdHTHrVWTWhZTWSm6HAdS40F4ikZ860yb9hpPjhaO8gxzB+PWgqJKsl0/W iYicNTWh95bjVdSNCWwNO3rw9e6uWA5NMLlt5Sv8tmaPTR5GI+j+RL/sZ+ksEE17 Vk4FE4ll1/I9LjUGhiHh4mzYeHJ7Ps4CPsvE6andi1Oy4wy7MxBdyhPXe7zUJmKZ LoM3eW8LXKe3FEFfGe53cu5TtTR5p04InlqKu+KFmzb6Cxs3TeRiKNG6Cbbd4hpe Htqcle936o2vPshtebRTWBwP1O6qNBl5AVREo1bqhlSlwv9aqez3NFuxdclN71LA KHo7wNuChA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45ya2581ce-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:44:19 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 53BJ5M0I020931; Fri, 11 Apr 2025 20:44:18 GMT Received: from pps.reinject (localhost [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 45ttymjcxu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:44:18 +0000 Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 53BKiHjc020084; Fri, 11 Apr 2025 20:44:17 GMT Received: from localhost.localdomain (dhcp-10-43-12-85.usdhcp.oraclecorp.com [10.43.12.85]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTP id 45ttymjcx5-1; Fri, 11 Apr 2025 20:44:17 +0000 From: Annie Li To: qemu-devel@nongnu.org Cc: dave@treblig.org, mst@redhat.com, imammedo@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, annie.li@oracle.com, miguel.luis@oracle.com Subject: [RFC V3 PATCH 10/13] tests/qtest/bios-table-tests: Update ACPI table binaries for microvm Date: Fri, 11 Apr 2025 16:44:01 -0400 Message-ID: <20250411204402.3010-1-annie.li@oracle.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20250411201912.2872-1-annie.li@oracle.com> References: <20250411201912.2872-1-annie.li@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-11_08,2025-04-10_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 mlxlogscore=999 phishscore=0 bulkscore=0 adultscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504110132 X-Proofpoint-ORIG-GUID: BarEhRLEZTSMZqCy2U3IBo6NnTRSdbr0 X-Proofpoint-GUID: BarEhRLEZTSMZqCy2U3IBo6NnTRSdbr0 Received-SPF: pass client-ip=205.220.165.32; envelope-from=annie.li@oracle.com; helo=mx0a-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: annie.li@oracle.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Following is the diff generated by the step 5 and 6 in tests/qtest/bios-tables-test.c Diff from iasl to show changes in DSDT table: --- /tmp/asl-2F0N42.dsl 2025-04-11 12:50:02.892883467 +0000 +++ /tmp/asl-C81N42.dsl 2025-04-11 12:50:02.890883378 +0000 @@ -1,30 +1,30 @@ /* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20210604 (64-bit version) * Copyright (c) 2000 - 2021 Intel Corporation * * Disassembling to symbolic ASL+ operators * - * Disassembly of tests/data/acpi/x86/microvm/DSDT, Fri Apr 11 12:50:02 2025 + * Disassembly of /tmp/aml-481N42, Fri Apr 11 12:50:02 2025 * * Original Table Header: * Signature "DSDT" - * Length 0x0000016D (365) + * Length 0x000001BA (442) * Revision 0x02 - * Checksum 0x11 + * Checksum 0xD5 * OEM ID "BOCHS " * OEM Table ID "BXPC " * OEM Revision 0x00000001 (1) * Compiler ID "BXPC" * Compiler Version 0x00000001 (1) */ DefinitionBlock ("", "DSDT", 2, "BOCHS ", "BXPC ", 0x00000001) { Scope (_SB) { Device (FWCF) { Name (_HID, "QEMU0002") // _HID: Hardware ID Name (_STA, 0x0B) // _STA: Status Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { @@ -66,56 +66,82 @@ 0x00000009, } }) OperationRegion (EREG, SystemMemory, 0xFEA00000, 0x04) Field (EREG, DWordAcc, NoLock, WriteAsZeros) { ESEL, 32 } Method (_EVT, 1, Serialized) // _EVT: Event { Local0 = ESEL /* \_SB_.GED_.ESEL */ If (((Local0 & 0x02) == 0x02)) { Notify (PWRB, 0x80) // Status Change } + + If (((Local0 & 0x10) == 0x10)) + { + Notify (SLPB, 0x80) // Status Change + } } } Device (PWRB) { Name (_HID, "PNP0C0C" /* Power Button Device */) // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID } + Device (SLPB) + { + Name (_HID, EisaId ("PNP0C0E") /* Sleep Button Device */) // _HID: Hardware ID + OperationRegion (\SLP, SystemIO, 0x0201, One) + Field (\SLP, ByteAcc, NoLock, WriteAsZeros) + { + SBP, 1 + } + } + Device (VR07) { Name (_HID, "LNRO0005") // _HID: Hardware ID Name (_UID, 0x07) // _UID: Unique ID Name (_CCA, One) // _CCA: Cache Coherency Attribute Name (_CRS, ResourceTemplate () // _CRS: Current Resource Settings { Memory32Fixed (ReadWrite, 0xFEB00E00, // Address Base 0x00000200, // Address Length ) Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, ,, ) { 0x00000017, } }) } } Scope (\) { + Name (_S3, Package (0x04) // _S3_: S3 System State + { + 0x03, + Zero, + Zero, + Zero + }) + } + + Scope (\) + { Name (_S5, Package (0x04) // _S5_: S5 System State { 0x05, Zero, Zero, Zero }) } } Signed-off-by: Annie Li --- tests/data/acpi/x86/microvm/DSDT | Bin 365 -> 442 bytes tests/data/acpi/x86/microvm/DSDT.ioapic2 | Bin 365 -> 442 bytes tests/data/acpi/x86/microvm/DSDT.pcie | Bin 3023 -> 3100 bytes tests/data/acpi/x86/microvm/DSDT.rtc | Bin 404 -> 481 bytes tests/data/acpi/x86/microvm/DSDT.usb | Bin 414 -> 491 bytes tests/qtest/bios-tables-test-allowed-diff.h | 5 ----- 6 files changed, 5 deletions(-) diff --git a/tests/data/acpi/x86/microvm/DSDT b/tests/data/acpi/x86/microvm/DSDT index f477668f2ee80241e47b340ad4a30f5480df2049..ee199a4fb65ab1a2d811f37d9b5bc67bccd34939 100644 GIT binary patch delta 127 zcmaFMw2PU`CDX_GQ$Y_)vy#fxzVI1TFyvE`hdS zpMZ(K6f`w~v=c|Xho=jV;{_hR=!O`eKs+NiBNJnEBM+G480-WTnJmHREo~ex#LmLS V%)r1PAP~dA5g%*{7GMPm005{09v1)r delta 54 zcmdnR{FaH!CDUG?TmVMD;8tAGV2;eHmpZK9rfv$0$2FjM0@WKwxrp0+#>-mq1&v zPr$@q3YwZg+KD6H!_$Sw@d6KDbVCeKAfAz%k%=+7kq69i40ZyFOqO8umNt$TVrSuE UW?*0t5Qt&mhz~Xe3$OwO0ErwO(EtDd delta 54 zcmdnR{FaH!CDGVV{X(o5!iRxKQK5P>w`!dQ-d?+)Sk5P7V7^5ebX}l0S K3l}Q`0|Nky8w`Q~ diff --git a/tests/data/acpi/x86/microvm/DSDT.pcie b/tests/data/acpi/x86/microvm/DSDT.pcie index 8eacd21d6ecdf9a3cd3e4f03cf1b40748dcbf53e..5e3f80cbf82cab52fe310160c88d0a11ff069bf5 100644 GIT binary patch delta 128 zcmX>vK1YJfCD@WKwxrp0+#>-mq1&v zPr$@q3YwZg+KD6H!_$Sw@d6KDbVCeKAfAz%k%=+7kq69i40ZyFY?feL%O!0bFT~Em W#mvCKARrLKz!4v83Kn1m3IG6dDjnGX delta 55 zcmbOuabBFuCD?~ZY3=9kauQ3gZ diff --git a/tests/data/acpi/x86/microvm/DSDT.rtc b/tests/data/acpi/x86/microvm/DSDT.rtc index e375473b5f033d374dd2a64a9f814fd16c3e262f..11258908703b64a835bd14307490c62c5ef7301f 100644 GIT binary patch delta 129 zcmbQj{E(T;CDI5zU1}=fN zV4r}=ii`@Hnm~pVN4$rp3yX_GQ$Y_)vy#fxzVI1TFyvE`hdS zpMZ(K6f`w~v=c|Xho=jV;{_hR=!O`eKs+NiBNJnEBM+G480-WTnJmFrBW)Zn#LmLS V%)r1PAP~dA5g%*{7GMPm006!m9&i8v delta 54 zcmaFOJdc^nCDw`!dQ-d?+)Sk5P7V7-JQeX}l0S K3l}Q`0|NkddJG`| diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios-tables-test-allowed-diff.h index bb028db137..dfb8523c8b 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,6 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/x86/microvm/DSDT", -"tests/data/acpi/x86/microvm/DSDT.ioapic2", -"tests/data/acpi/x86/microvm/DSDT.pcie", -"tests/data/acpi/x86/microvm/DSDT.rtc", -"tests/data/acpi/x86/microvm/DSDT.usb", From patchwork Fri Apr 11 20:44:24 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Annie Li X-Patchwork-Id: 14048749 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5A4F0C369A2 for ; Fri, 11 Apr 2025 20:45:05 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u3LF4-0001j7-Na; Fri, 11 Apr 2025 16:44:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3LF2-0001Zf-IY for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:44:48 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3LF1-0001Tz-3P for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:44:48 -0400 Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53BJvBgX018303; Fri, 11 Apr 2025 20:44:39 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:reply-to:subject:to; s=corp-2023-11-20; bh=jrols50ttmQYOJ46x4EgitOBjw2wF8AJ7w27GxNoKlQ=; b=fiUVYrNr+z0c m+FVY9yR7eNwohNogurrMoMFOf7kU6U3GyM1WZQE6IZJBe8o0vQoahVBtckIx+P+ 9iaJwNibsMPr5ewF5ghzBIcSNCChkIX2jK270PMF5sjtAJTfW0OJBeH3g0uHD9xQ g1QMpsgzoXaAYxriQ52dtDS5DCSNwbgSh3cbPzXUWqGVuuxq35GtM/89iT/WifwR CEI3xh0Q6Ii6T73XcKUFVMVCkNNs2FWdknqWgWWV8vfnDskn7jwr+kv1oNvmcqBG 5iDOXiKKrCci9SkqsZHfHIfDC2fxaAhCFtxrtWgVvPX2NzgMU49xYuwN78omBvYd OQ+8ZJ3Pcg== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45y9pc02da-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:44:39 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 53BJqJh1020904; Fri, 11 Apr 2025 20:44:39 GMT Received: from pps.reinject (localhost [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 45ttymjd9a-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:44:38 +0000 Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 53BKhq8i018599; Fri, 11 Apr 2025 20:44:38 GMT Received: from localhost.localdomain (dhcp-10-43-12-85.usdhcp.oraclecorp.com [10.43.12.85]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTP id 45ttymjd8q-1; Fri, 11 Apr 2025 20:44:38 +0000 From: Annie Li To: qemu-devel@nongnu.org Cc: dave@treblig.org, mst@redhat.com, imammedo@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, annie.li@oracle.com, miguel.luis@oracle.com Subject: [RFC V3 PATCH 11/13] microvm: suspend the system as requested Date: Fri, 11 Apr 2025 16:44:24 -0400 Message-ID: <20250411204424.3021-1-annie.li@oracle.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20250411201912.2872-1-annie.li@oracle.com> References: <20250411201912.2872-1-annie.li@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-11_08,2025-04-10_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 mlxlogscore=999 phishscore=0 bulkscore=0 adultscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504110132 X-Proofpoint-GUID: d8xBMeIUJULH3_8svAsmwWuyWpDOH7aR X-Proofpoint-ORIG-GUID: d8xBMeIUJULH3_8svAsmwWuyWpDOH7aR Received-SPF: pass client-ip=205.220.177.32; envelope-from=annie.li@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: annie.li@oracle.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Once the microvm guest requests to go to sleep state and sets the GED register with S3 type, QEMU needs to continue suspending the system. Signed-off-by: Annie Li --- hw/acpi/generic_event_device.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/acpi/generic_event_device.c b/hw/acpi/generic_event_device.c index 5a1ac8e362..bc53551a45 100644 --- a/hw/acpi/generic_event_device.c +++ b/hw/acpi/generic_event_device.c @@ -213,6 +213,9 @@ static void ged_regs_write(void *opaque, hwaddr addr, uint64_t data, if (slp_en && slp_typ == ACPI_GED_SLP_TYP_S5) { qemu_system_shutdown_request(SHUTDOWN_CAUSE_GUEST_SHUTDOWN); } + if (slp_en && slp_typ == ACPI_GED_SLP_TYP_S3) { + qemu_system_suspend_request(); + } return; case ACPI_GED_REG_SLEEP_STS: return; From patchwork Fri Apr 11 20:44:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Annie Li X-Patchwork-Id: 14048750 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2F5B2C369A2 for ; Fri, 11 Apr 2025 20:45:39 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u3LFZ-00030u-Oc; Fri, 11 Apr 2025 16:45:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3LFZ-00030k-1H for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:45:21 -0400 Received: from mx0b-00069f02.pphosted.com ([205.220.177.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3LFX-0001gr-Ig for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:45:20 -0400 Received: from pps.filterd (m0333520.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53BJuwnv017290; Fri, 11 Apr 2025 20:45:11 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:reply-to:subject:to; s=corp-2023-11-20; bh=+86Cu2iNauSJs7gn8B5x/L6ys9lFgpu3Hl+AJoM9CBo=; b=c8nQiObEO06n y3WVk7tzd4+RTTySehtBSj5LiN7X126x/HwxUR7w7yQS5gkjtilJWHb9VSMGzCyf Y3WGsvsSG1o/MTSIZW4Nu0ff6Hf9hcxDu2lQOxXG5A7AuGJtQBFihw2MTEZsq1x9 c1dJvsfMqjCbl2KCKEQtTAaKHq0J1+q9O2y6gKTrSkJ13eaKzCHugv4BgUunkQwh WyONoTvjUYfnN0m2mqxWj2rcPZ9WuWr3T0kPaP94nwOQT75MaZTR97iF0PmW7fpM 9NL2sJYdS192kGqs26XMM8k70UN0JjjbMYOn3EVO54D7P/ukmCF/jyY8LHeSRUWF TVyek9cjSg== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45y9pc02et-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:45:11 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 53BIxoqR023888; Fri, 11 Apr 2025 20:45:10 GMT Received: from pps.reinject (localhost [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 45ttymjdwc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:45:10 +0000 Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 53BKjAA4022849; Fri, 11 Apr 2025 20:45:10 GMT Received: from localhost.localdomain (dhcp-10-43-12-85.usdhcp.oraclecorp.com [10.43.12.85]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTP id 45ttymjdug-1; Fri, 11 Apr 2025 20:45:09 +0000 From: Annie Li To: qemu-devel@nongnu.org Cc: dave@treblig.org, mst@redhat.com, imammedo@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, annie.li@oracle.com, miguel.luis@oracle.com Subject: [RFC V3 PATCH 12/13] microvm: enable suspend Date: Fri, 11 Apr 2025 16:44:46 -0400 Message-ID: <20250411204446.3032-1-annie.li@oracle.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20250411201912.2872-1-annie.li@oracle.com> References: <20250411201912.2872-1-annie.li@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-11_08,2025-04-10_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 mlxlogscore=999 phishscore=0 bulkscore=0 adultscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504110132 X-Proofpoint-GUID: -_EfKwu-qSxMXBYwNh4HkLKEuMamBzvx X-Proofpoint-ORIG-GUID: -_EfKwu-qSxMXBYwNh4HkLKEuMamBzvx Received-SPF: pass client-ip=205.220.177.32; envelope-from=annie.li@oracle.com; helo=mx0b-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: annie.li@oracle.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org The function qemu_wakeup_suspend_enabled combines the suspend and wakeup together. However, the microvm doesn't support wakeup yet. Suspend is enabled here, but wakeup doesn't actually work for microvm now. Signed-off-by: Annie Li --- hw/i386/microvm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/i386/microvm.c b/hw/i386/microvm.c index eba33c4365..da5d4126e5 100644 --- a/hw/i386/microvm.c +++ b/hw/i386/microvm.c @@ -489,6 +489,7 @@ static void microvm_machine_state_init(MachineState *machine) qemu_add_machine_init_done_notifier(&mms->machine_done); mms->powerdown_req.notify = microvm_powerdown_req; qemu_register_powerdown_notifier(&mms->powerdown_req); + qemu_register_wakeup_support(); microvm_memory_init(mms); From patchwork Fri Apr 11 20:45:17 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Annie Li X-Patchwork-Id: 14048751 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CE636C369A2 for ; Fri, 11 Apr 2025 20:45:54 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u3LG0-0003Xq-H1; Fri, 11 Apr 2025 16:45:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3LFv-0003Ps-6y for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:45:43 -0400 Received: from mx0a-00069f02.pphosted.com ([205.220.165.32]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u3LFt-0001i2-Cm for qemu-devel@nongnu.org; Fri, 11 Apr 2025 16:45:42 -0400 Received: from pps.filterd (m0333521.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53BKVraI027684; Fri, 11 Apr 2025 20:45:34 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:reply-to:subject:to; s=corp-2023-11-20; bh=aWFtCAjweO/q1XA4Ay0UrYR/FCjjyv143gsoiGvXJx0=; b=M5Bi0Mysnq3g S8TbDNYcZ3yAM5Go1hsPUFs1eWLWJeBLrVTzgvQOVq9szXWS5DQ9NrrMcbeB+KWJ ++Tb0fH1My25PUMWUAtlxxa1Hj96fjhglLA1tUMibK+GuZojoW8lhASnP/YzaM+m zUzmQmzW8xhIC2dfdxJXlrP4UwZYx7cqrTE7DC/AXxmvVU4eQrxulq0yoUQt9pvc SNe1gmLTBEd8krDVWtJT4OMm4VxLTzX3QWX4DhnuqhhH+v31pKdQvzxCVSS7sO1F jzqXHnsj/i/nvM+qM4ffErLxbcZFob+zDYtb4djRZoLrKgPKkm0+gmdWr9tJjJRp +rVh2GTIYA== Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.appoci.oracle.com [147.154.18.20]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 45ya6ug0jw-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:45:34 +0000 (GMT) Received: from pps.filterd (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 53BIrYCK020920; Fri, 11 Apr 2025 20:45:33 GMT Received: from pps.reinject (localhost [127.0.0.1]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTPS id 45ttymjeeq-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 11 Apr 2025 20:45:32 +0000 Received: from iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 53BKem6r010165; Fri, 11 Apr 2025 20:45:32 GMT Received: from localhost.localdomain (dhcp-10-43-12-85.usdhcp.oraclecorp.com [10.43.12.85]) by iadpaimrmta02.imrmtpd1.prodappiadaev1.oraclevcn.com (PPS) with ESMTP id 45ttymjee1-1; Fri, 11 Apr 2025 20:45:32 +0000 From: Annie Li To: qemu-devel@nongnu.org Cc: dave@treblig.org, mst@redhat.com, imammedo@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, annie.li@oracle.com, miguel.luis@oracle.com Subject: [RFC V3 PATCH 13/13] acpi: hmp/qmp: Add hmp/qmp support for system_sleep Date: Fri, 11 Apr 2025 16:45:17 -0400 Message-ID: <20250411204517.3043-1-annie.li@oracle.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20250411201912.2872-1-annie.li@oracle.com> References: <20250411201912.2872-1-annie.li@oracle.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-11_08,2025-04-10_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 spamscore=0 mlxlogscore=999 phishscore=0 bulkscore=0 adultscore=0 malwarescore=0 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2502280000 definitions=main-2504110132 X-Proofpoint-GUID: 5saJcicPQEN9UWc00DY3ACBj22nMJ14q X-Proofpoint-ORIG-GUID: 5saJcicPQEN9UWc00DY3ACBj22nMJ14q Received-SPF: pass client-ip=205.220.165.32; envelope-from=annie.li@oracle.com; helo=mx0a-00069f02.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: annie.li@oracle.com Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Followng hmp/qmp commands are implemented for pressing virtual sleep button, hmp: system_sleep qmp: { "execute": "system_sleep" } These commands put the guest into suspend or other power states depending on the power settings inside the guest. These hmp/qmp command are in '*_*' format, it is intended to do so to align to existing 'system_*' commands. Signed-off-by: Annie Li Acked-by: Markus Armbruster --- hmp-commands.hx | 14 ++++++++++++++ hw/core/machine-hmp-cmds.c | 5 +++++ hw/core/machine-qmp-cmds.c | 11 +++++++++++ include/monitor/hmp.h | 1 + qapi/machine.json | 20 ++++++++++++++++++++ qapi/pragma.json | 1 + 6 files changed, 52 insertions(+) diff --git a/hmp-commands.hx b/hmp-commands.hx index 06746f0afc..12f08f3444 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -639,6 +639,20 @@ SRST whether profiling is on or off. ERST + { + .name = "system_sleep", + .args_type = "", + .params = "", + .help = "send system sleep event", + .cmd = hmp_system_sleep, + }, + +SRST +``system_sleep`` + Push the virtual sleep button; if supported, the system will enter + an ACPI sleep state. +ERST + { .name = "system_reset", .args_type = "", diff --git a/hw/core/machine-hmp-cmds.c b/hw/core/machine-hmp-cmds.c index c6325cdcaa..f8a7c1de88 100644 --- a/hw/core/machine-hmp-cmds.c +++ b/hw/core/machine-hmp-cmds.c @@ -189,6 +189,11 @@ void hmp_system_reset(Monitor *mon, const QDict *qdict) qmp_system_reset(NULL); } +void hmp_system_sleep(Monitor *mon, const QDict *qdict) +{ + qmp_system_sleep(NULL); +} + void hmp_system_powerdown(Monitor *mon, const QDict *qdict) { qmp_system_powerdown(NULL); diff --git a/hw/core/machine-qmp-cmds.c b/hw/core/machine-qmp-cmds.c index 3130c5cd45..823a8751b2 100644 --- a/hw/core/machine-qmp-cmds.c +++ b/hw/core/machine-qmp-cmds.c @@ -12,6 +12,7 @@ #include "hw/boards.h" #include "hw/intc/intc.h" #include "hw/mem/memory-device.h" +#include "hw/acpi/acpi.h" #include "qapi/error.h" #include "qapi/qapi-builtin-visit.h" #include "qapi/qapi-commands-machine.h" @@ -276,6 +277,16 @@ void qmp_system_reset(Error **errp) qemu_system_reset_request(SHUTDOWN_CAUSE_HOST_QMP_SYSTEM_RESET); } +void qmp_system_sleep(Error **errp) +{ + if (!qemu_wakeup_suspend_enabled()) { + error_setg(errp, + "suspend from running is not supported by this machine"); + return; + } + acpi_send_sleep_event(); +} + void qmp_system_powerdown(Error **errp) { qemu_system_powerdown_request(); diff --git a/include/monitor/hmp.h b/include/monitor/hmp.h index ae116d9804..e543eec109 100644 --- a/include/monitor/hmp.h +++ b/include/monitor/hmp.h @@ -43,6 +43,7 @@ void hmp_quit(Monitor *mon, const QDict *qdict); void hmp_stop(Monitor *mon, const QDict *qdict); void hmp_sync_profile(Monitor *mon, const QDict *qdict); void hmp_system_reset(Monitor *mon, const QDict *qdict); +void hmp_system_sleep(Monitor *mon, const QDict *qdict); void hmp_system_powerdown(Monitor *mon, const QDict *qdict); void hmp_exit_preconfig(Monitor *mon, const QDict *qdict); void hmp_announce_self(Monitor *mon, const QDict *qdict); diff --git a/qapi/machine.json b/qapi/machine.json index a6b8795b09..0965e78f4e 100644 --- a/qapi/machine.json +++ b/qapi/machine.json @@ -361,6 +361,26 @@ ## { 'command': 'system_reset' } +## +# @system_sleep: +# +# Requests that the guest perform a ACPI sleep transition by pushing +# the virtual sleep button. +# +# Since:10.0 +# +# .. note:: A guest may or may not respond to this command. This +# command returning does not indicate that a guest has +# accepted the request or that it has gone to sleep. +# +# .. qmp-example:: +# +# -> { "execute": "system_sleep" } +# <- { "return": {} } +# +## +{ 'command': 'system_sleep' } + ## # @system_powerdown: # diff --git a/qapi/pragma.json b/qapi/pragma.json index 023a2ef7bc..285ce82e9b 100644 --- a/qapi/pragma.json +++ b/qapi/pragma.json @@ -23,6 +23,7 @@ 'set_password', 'system_powerdown', 'system_reset', + 'system_sleep', 'system_wakeup' ], # Commands allowed to return a non-dictionary 'command-returns-exceptions': [