Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/2194463/?format=api
{ "id": 2194463, "url": "http://patchwork.ozlabs.org/api/patches/2194463/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260209102736221CBEZxNNsdR5VPEunLHBLz@zte.com.cn/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20260209102736221CBEZxNNsdR5VPEunLHBLz@zte.com.cn>", "list_archive_url": null, "date": "2026-02-09T02:27:36", "name": "[v6,3/4] hw/riscv/virt: add system_powerdown hmp command support", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "86ce569bf88f9c04eb2d6065b6d9701c0584ab2d", "submitter": { "id": 90817, "url": "http://patchwork.ozlabs.org/api/people/90817/?format=api", "name": "", "email": "liu.xuemei1@zte.com.cn" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260209102736221CBEZxNNsdR5VPEunLHBLz@zte.com.cn/mbox/", "series": [ { "id": 491459, "url": "http://patchwork.ozlabs.org/api/series/491459/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=491459", "date": "2026-02-09T02:21:28", "name": "hw/riscv/virt: Add acpi ged and powerdown support", "version": 6, "mbox": "http://patchwork.ozlabs.org/series/491459/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2194463/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2194463/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>", "X-Original-To": "incoming@patchwork.ozlabs.org", "Delivered-To": "patchwork-incoming@legolas.ozlabs.org", "Authentication-Results": "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)", "Received": [ "from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4f8TBb6fpwz1xvc\n\tfor <incoming@patchwork.ozlabs.org>; Mon, 09 Feb 2026 13:28:07 +1100 (AEDT)", "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1vpH09-0005iC-TD; Sun, 08 Feb 2026 21:27:49 -0500", "from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <liu.xuemei1@zte.com.cn>)\n id 1vpH07-0005hy-Qk; Sun, 08 Feb 2026 21:27:47 -0500", "from mxct.zte.com.cn ([183.62.165.209])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <liu.xuemei1@zte.com.cn>)\n id 1vpH05-0007jZ-U9; Sun, 08 Feb 2026 21:27:47 -0500", "from mse-fl1.zte.com.cn (unknown [10.5.228.132])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n (No client certificate requested)\n by mxct.zte.com.cn (FangMail) with ESMTPS id 4f8TB43SSnz4xQXL;\n Mon, 09 Feb 2026 10:27:40 +0800 (CST)", "from xaxapp02.zte.com.cn ([10.88.97.241])\n by mse-fl1.zte.com.cn with SMTP id 6192RZ1N094434;\n Mon, 9 Feb 2026 10:27:35 +0800 (+08)\n (envelope-from liu.xuemei1@zte.com.cn)", "from mapi (xaxapp05[null]) by mapi (Zmail) with MAPI id mid32;\n Mon, 9 Feb 2026 10:27:36 +0800 (CST)" ], "X-Zmail-TransId": "2afc69894618943-92f05", "X-Mailer": "Zmail v1.0", "Message-ID": "<20260209102736221CBEZxNNsdR5VPEunLHBLz@zte.com.cn>", "In-Reply-To": "<20260209102128930gN_7xu7bNIZcEawnIz3c7@zte.com.cn>", "References": "20260209102128930gN_7xu7bNIZcEawnIz3c7@zte.com.cn", "Date": "Mon, 9 Feb 2026 10:27:36 +0800 (CST)", "Mime-Version": "1.0", "From": "<liu.xuemei1@zte.com.cn>", "To": "<imammedo@redhat.com>, <alistair.francis@wdc.com>,\n <dbarboza@ventanamicro.com>, <sunilvl@ventanamicro.com>,\n <anisinha@redhat.com>", "Cc": "<pbonzini@redhat.com>, <palmer@dabbelt.com>, <liwei1518@gmail.com>,\n <zhiwei_liu@linux.alibaba.com>, <mst@redhat.com>,\n <qemu-devel@nongnu.org>, <qemu-riscv@nongnu.org>, <liu.xuemei1@zte.com.cn>", "Subject": "=?utf-8?q?=5BPATCH_v6_3/4=5D_hw/riscv/virt=3A_add_system=5Fpowerdow?=\n\t=?utf-8?q?n_hmp_command?=\n\t=?utf-8?q?_?=\n\t=?utf-8?q?_support?=", "Content-Type": "text/plain;\n\tcharset=\"UTF-8\"", "X-MAIL": "mse-fl1.zte.com.cn 6192RZ1N094434", "X-TLS": "YES", "X-SPF-DOMAIN": "zte.com.cn", "X-ENVELOPE-SENDER": "liu.xuemei1@zte.com.cn", "X-SPF": "None", "X-SOURCE-IP": "10.5.228.132 unknown Mon, 09 Feb 2026 10:27:40 +0800", "X-Fangmail-Anti-Spam-Filtered": "true", "X-Fangmail-MID-QID": "6989461C.000/4f8TB43SSnz4xQXL", "Received-SPF": "pass client-ip=183.62.165.209;\n envelope-from=liu.xuemei1@zte.com.cn; helo=mxct.zte.com.cn", "X-Spam_score_int": "-41", "X-Spam_score": "-4.2", "X-Spam_bar": "----", "X-Spam_report": "(-4.2 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3,\n RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001,\n SPF_HELO_NONE=0.001, SPF_PASS=-0.001,\n UNPARSEABLE_RELAY=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": "qemu development <qemu-devel.nongnu.org>", "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>", "List-Archive": "<https://lists.nongnu.org/archive/html/qemu-devel>", "List-Post": "<mailto:qemu-devel@nongnu.org>", "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>", "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>", "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org", "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org" }, "content": "From: Xuemei Liu <liu.xuemei1@zte.com.cn>\n\nFor riscv virt machine, add powerdown notification callback\nand send ACPI_POWER_DOWN_STATUS event by acpi ged. Also add\nacpi dsdt table for ACPI_POWER_BUTTON_DEVICE device in this\npatch.\n\nSigned-off-by: Xuemei Liu <liu.xuemei1@zte.com.cn>\n---\n hw/riscv/virt-acpi-build.c | 2 ++\n hw/riscv/virt.c | 14 ++++++++++++++\n include/hw/riscv/virt.h | 1 +\n 3 files changed, 17 insertions(+)", "diff": "diff --git a/hw/riscv/virt-acpi-build.c b/hw/riscv/virt-acpi-build.c\nindex 1717b1c24f..77aea55ece 100644\n--- a/hw/riscv/virt-acpi-build.c\n+++ b/hw/riscv/virt-acpi-build.c\n@@ -504,6 +504,8 @@ static void build_dsdt(GArray *table_data,\n ACPI_GED_IRQ, AML_SYSTEM_MEMORY,\n s->memmap[VIRT_ACPI_GED].base);\n\n+ acpi_dsdt_add_power_button(scope);\n+\n aml_append(dsdt, scope);\n\n /* copy AML table into ACPI tables blob and patch header there */\ndiff --git a/hw/riscv/virt.c b/hw/riscv/virt.c\nindex 1d7011b952..01efbf82e5 100644\n--- a/hw/riscv/virt.c\n+++ b/hw/riscv/virt.c\n@@ -51,6 +51,7 @@\n #include \"system/kvm.h\"\n #include \"system/tpm.h\"\n #include \"system/qtest.h\"\n+#include \"system/runstate.h\"\n #include \"hw/pci/pci.h\"\n #include \"hw/pci-host/gpex.h\"\n #include \"hw/display/ramfb.h\"\n@@ -1446,6 +1447,16 @@ static void virt_build_smbios(RISCVVirtState *s)\n }\n }\n\n+static void virt_powerdown_req(Notifier *notifier, void *opaque)\n+{\n+ RISCVVirtState *s;\n+\n+ s = container_of(notifier, RISCVVirtState, powerdown_notifier);\n+ if (s->acpi_ged) {\n+ acpi_send_event(s->acpi_ged, ACPI_POWER_DOWN_STATUS);\n+ }\n+}\n+\n static void virt_machine_done(Notifier *notifier, void *data)\n {\n RISCVVirtState *s = container_of(notifier, RISCVVirtState,\n@@ -1766,6 +1777,9 @@ static void virt_machine_init(MachineState *machine)\n sysbus_realize_and_unref(SYS_BUS_DEVICE(iommu_sys), &error_fatal);\n }\n\n+ s->powerdown_notifier.notify = virt_powerdown_req;\n+ qemu_register_powerdown_notifier(&s->powerdown_notifier);\n+\n s->machine_done.notify = virt_machine_done;\n qemu_add_machine_init_done_notifier(&s->machine_done);\n }\ndiff --git a/include/hw/riscv/virt.h b/include/hw/riscv/virt.h\nindex 9ea0b3b7b6..e631d57268 100644\n--- a/include/hw/riscv/virt.h\n+++ b/include/hw/riscv/virt.h\n@@ -47,6 +47,7 @@ struct RISCVVirtState {\n\n /*< public >*/\n Notifier machine_done;\n+ Notifier powerdown_notifier;\n DeviceState *acpi_ged;\n DeviceState *platform_bus_dev;\n RISCVHartArrayState soc[VIRT_SOCKETS_MAX];\n", "prefixes": [ "v6", "3/4" ] }