From nobody Sat Nov 23 20:37:05 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1730629597; cv=none; d=zohomail.com; s=zohoarc; b=mNvZr0WongbX4ItRkvSQ6Ftp4G3gar4yWHeUUAvfLGQTM+fHgB3X216cgNyM/4tr1pbGrFZ9vC/d4RveWlCLEQ4kB2lIf0y7/xD5mkTb8yWM/aN9JmOvIl0sx6bHPUHpF2APBo532jzxzuGBwospD1B7kNiVxfuKiEYjeM+WRiQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1730629597; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Sender:Subject:Subject:To:To:Message-Id; bh=WAKLr6Xe8L7POCW3jEVCqHDeXsUosEFvkZ5nrAL6PBA=; b=gWTXStVJo+trNIiy/FRbgy1A0RI2PBOuzczdU6HT5kpTpTpek4+lAGPp1535zridIRYRz6+15O74Pu2qtEON84JacMFMl/KD2OoF2zTDvB8eFMM7rxQxGgbaOfplJ9j1CfSoNhDhs3vU+244IfCFc0+HBP0q+7hoZZpDdiMC9lM= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1730629597285180.3396914455334; Sun, 3 Nov 2024 02:26:37 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t7Xnu-0006oo-2H; Sun, 03 Nov 2024 05:25:55 -0500 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 1t7Xnr-0006nx-9Q; Sun, 03 Nov 2024 05:25:51 -0500 Received: from frasgout.his.huawei.com ([185.176.79.56]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t7Xnp-0005gQ-J5; Sun, 03 Nov 2024 05:25:51 -0500 Received: from mail.maildlp.com (unknown [172.18.186.216]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4Xh9fM5ZkGz6K6JX; Sun, 3 Nov 2024 18:23:07 +0800 (CST) Received: from frapeml500007.china.huawei.com (unknown [7.182.85.172]) by mail.maildlp.com (Postfix) with ESMTPS id 1A8D0140C98; Sun, 3 Nov 2024 18:25:45 +0800 (CST) Received: from 00293818-MRGF.huawei.com (10.48.154.43) by frapeml500007.china.huawei.com (7.182.85.172) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Sun, 3 Nov 2024 11:25:26 +0100 To: , , CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH V3 1/5] hw/acpi: Make CPUs ACPI `presence` conditional during vCPU hot-unplug Date: Sun, 3 Nov 2024 10:24:15 +0000 Message-ID: <20241103102419.202225-2-salil.mehta@huawei.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241103102419.202225-1-salil.mehta@huawei.com> References: <20241103102419.202225-1-salil.mehta@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.48.154.43] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To frapeml500007.china.huawei.com (7.182.85.172) Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=185.176.79.56; envelope-from=salil.mehta@huawei.com; helo=frasgout.his.huawei.com 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, RCVD_IN_MSPIKE_H2=-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: Salil Mehta From: Salil Mehta via Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1730629599134116600 On most architectures, during vCPU hot-plug and hot-unplug actions, the firmware or VMM/QEMU can update the OS on vCPU status by toggling the ACPI method `_STA.Present` bit. However, certain CPU architectures prohibit [1] modifications to a CPU=E2=80=99s `presence` status after the k= ernel has booted. This limitation [2][3] exists because many per-CPU components, such as interrupt controllers and various per-CPU features tightly integrated with CPUs, may not support reconfiguration once the kernel is initialized. Often, these components cannot be powered down, as they may belong to an `always-on` power domain. As a result, some architectures require all CPUs to remain `_STA.Present` after system initialization. Therefore, it is essential to mirror the exact QOM vCPU status through ACPI for the Guest kernel. For this, we should determine=E2=80=94via architecture-specific code[4]=E2=80=94whether vCPUs must always remain pres= ent and whether the associated `AcpiCpuStatus::cpu` object should remain valid, even following a vCPU hot-unplug operation. References: [1] Check comment 5 in the bugzilla entry Link: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4481#c5 [2] KVMForum 2023 Presentation: Challenges Revisited in Supporting Virt CPU= Hotplug on architectures that don=E2=80=99t Support CPU Hotplug (like ARM64) a. Kernel Link: https://kvm-forum.qemu.org/2023/KVM-forum-cpu-hotplug_7= OJ1YyJ.pdf b. Qemu Link: https://kvm-forum.qemu.org/2023/Challenges_Revisited_in_= Supporting_Virt_CPU_Hotplug_-__ii0iNb3.pdf [3] KVMForum 2020 Presentation: Challenges in Supporting Virtual CPU Hotplu= g on SoC Based Systems (like ARM64) Link: https://kvmforum2020.sched.com/event/eE4m [4] Example implementation of architecture-specific CPU persistence hook Link: https://github.com/salil-mehta/qemu/commit/c0b416b11e5af6505e5588= 66f0eb6c9f3709173e Signed-off-by: Salil Mehta Tested-by: Miguel Luis --- hw/acpi/cpu.c | 15 ++++++++++++++- include/hw/core/cpu.h | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/hw/acpi/cpu.c b/hw/acpi/cpu.c index 5cb60ca8bc..9b03b4292e 100644 --- a/hw/acpi/cpu.c +++ b/hw/acpi/cpu.c @@ -233,6 +233,17 @@ void cpu_hotplug_hw_init(MemoryRegion *as, Object *own= er, memory_region_add_subregion(as, base_addr, &state->ctrl_reg); } =20 +static bool should_remain_acpi_present(DeviceState *dev) +{ + CPUClass *k =3D CPU_GET_CLASS(dev); + /* + * A system may contain CPUs that are always present on one die, NUMA = node, + * or socket, yet may be non-present on another simultaneously. Check = from + * architecture specific code. + */ + return k->cpu_persistent_status && k->cpu_persistent_status(CPU(dev)); +} + static AcpiCpuStatus *get_cpu_status(CPUHotplugState *cpu_st, DeviceState = *dev) { CPUClass *k =3D CPU_GET_CLASS(dev); @@ -289,7 +300,9 @@ void acpi_cpu_unplug_cb(CPUHotplugState *cpu_st, return; } =20 - cdev->cpu =3D NULL; + if (!should_remain_acpi_present(dev)) { + cdev->cpu =3D NULL; + } } =20 static const VMStateDescription vmstate_cpuhp_sts =3D { diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h index c3ca0babcb..e7de77dc6d 100644 --- a/include/hw/core/cpu.h +++ b/include/hw/core/cpu.h @@ -158,6 +158,7 @@ struct CPUClass { void (*dump_state)(CPUState *cpu, FILE *, int flags); void (*query_cpu_fast)(CPUState *cpu, CpuInfoFast *value); int64_t (*get_arch_id)(CPUState *cpu); + bool (*cpu_persistent_status)(CPUState *cpu); void (*set_pc)(CPUState *cpu, vaddr value); vaddr (*get_pc)(CPUState *cpu); int (*gdb_read_register)(CPUState *cpu, GByteArray *buf, int reg); --=20 2.34.1 From nobody Sat Nov 23 20:37:05 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1730629596; cv=none; d=zohomail.com; s=zohoarc; b=Ssa2VsUZjQYfhBWBIABkz0UsTvBpwFRoTcZtovMP7KAnusCVAFOlUKXkSn0IjR252Ds3OjuMqx2OkoWm1dZ3CsToRgUjTEJttkpuAhhKGwYOnLkyP9ty4FXWjwseoj+wMMWFYOrPciX4BQdrufmLHEQvVlrWd+o5tPr+17IBDk4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1730629596; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Sender:Subject:Subject:To:To:Message-Id; bh=hzsP50dTkGg2PCAvMRdu2Rly35OsPtIkf1sK9CN2ySM=; b=K7zH3cMeuZid4oJsfDkVtYhNQ+W313fGQ+x5S6+bfZcgMKv3LYxbulxVUiYE0+clz7fqtmclCnIZPDbUHyjW8eOpJrNS55yvfQowazzXaSHH6KMet85E0KjHePAjcTv0yyWXAOI2wo/0l/w/EeteH66lhA9VNmJ3Xngvgc004L4= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1730629596419456.82114307460245; Sun, 3 Nov 2024 02:26:36 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t7Xo9-0006pt-KX; Sun, 03 Nov 2024 05:26:09 -0500 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 1t7Xo7-0006ph-R8; Sun, 03 Nov 2024 05:26:07 -0500 Received: from frasgout.his.huawei.com ([185.176.79.56]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t7Xo6-0005hh-8P; Sun, 03 Nov 2024 05:26:07 -0500 Received: from mail.maildlp.com (unknown [172.18.186.216]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4Xh9fl0pRWz6K5qb; Sun, 3 Nov 2024 18:23:27 +0800 (CST) Received: from frapeml500007.china.huawei.com (unknown [7.182.85.172]) by mail.maildlp.com (Postfix) with ESMTPS id 6913F140B67; Sun, 3 Nov 2024 18:26:04 +0800 (CST) Received: from 00293818-MRGF.huawei.com (10.48.154.43) by frapeml500007.china.huawei.com (7.182.85.172) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Sun, 3 Nov 2024 11:25:45 +0100 To: , , CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH V3 2/5] qtest: allow ACPI DSDT Table changes Date: Sun, 3 Nov 2024 10:24:16 +0000 Message-ID: <20241103102419.202225-3-salil.mehta@huawei.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241103102419.202225-1-salil.mehta@huawei.com> References: <20241103102419.202225-1-salil.mehta@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.48.154.43] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To frapeml500007.china.huawei.com (7.182.85.172) Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=185.176.79.56; envelope-from=salil.mehta@huawei.com; helo=frasgout.his.huawei.com 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, RCVD_IN_MSPIKE_H2=-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: Salil Mehta From: Salil Mehta via Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1730629599003116600 Content-Type: text/plain; charset="utf-8" list changed files in tests/qtest/bios-tables-test-allowed-diff.h Reported-by: Zhao Liu Signed-off-by: Salil Mehta Tested-by: Miguel Luis --- tests/qtest/bios-tables-test-allowed-diff.h | 41 +++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index dfb8523c8b..512d40665d 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,42 @@ /* 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-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", --=20 2.34.1 From nobody Sat Nov 23 20:37:05 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1730629637; cv=none; d=zohomail.com; s=zohoarc; b=mG3adGdSdHPtsq8ugLXjmMJfRqeoS+FvUBvA/C4gLtldpSz8TNiY/aEMyzj7ezbug403LSdnO/duy2uqn5icn3QJ1bVzPYB2P4rK4GvoLpCt6erMZ+MmLVqUJjEnus1pp39Q2qwKINEJbjWw+x/1c8fc7kOoDLM1DyWdqj93svI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1730629637; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Sender:Subject:Subject:To:To:Message-Id; bh=8zpqM/68KZ0Fg+/60BTKVnxsfGmTRgyqzwp6RwzYobM=; b=XfZyLNuxUWFi9HGLY0OU2g2B5TmONmnqItj7aAEAKoqvNwYFXR0lqF8qKo3w93kFa70tVcNGHJU0NI2kpMGNkCqp7XAh63gU+D2N0P/vuhwutok0uC7O6hFnB8hg1y9xUbNvKHaiExKFfTWcrhT0eSlUFMQjBsNWb8vR9BVsl8Y= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1730629637465852.7952185613883; Sun, 3 Nov 2024 02:27:17 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t7XoU-00073e-TC; Sun, 03 Nov 2024 05:26:31 -0500 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 1t7XoS-00072v-Vf; Sun, 03 Nov 2024 05:26:28 -0500 Received: from frasgout.his.huawei.com ([185.176.79.56]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t7XoR-0005lz-0V; Sun, 03 Nov 2024 05:26:28 -0500 Received: from mail.maildlp.com (unknown [172.18.186.31]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4Xh9g64K68z6K5p5; Sun, 3 Nov 2024 18:23:46 +0800 (CST) Received: from frapeml500007.china.huawei.com (unknown [7.182.85.172]) by mail.maildlp.com (Postfix) with ESMTPS id E37F1140451; Sun, 3 Nov 2024 18:26:23 +0800 (CST) Received: from 00293818-MRGF.huawei.com (10.48.154.43) by frapeml500007.china.huawei.com (7.182.85.172) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Sun, 3 Nov 2024 11:26:04 +0100 To: , , CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH V3 3/5] hw/acpi: Update ACPI `_STA` method with QOM vCPU ACPI Hotplug states Date: Sun, 3 Nov 2024 10:24:17 +0000 Message-ID: <20241103102419.202225-4-salil.mehta@huawei.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241103102419.202225-1-salil.mehta@huawei.com> References: <20241103102419.202225-1-salil.mehta@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.48.154.43] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To frapeml500007.china.huawei.com (7.182.85.172) Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=185.176.79.56; envelope-from=salil.mehta@huawei.com; helo=frasgout.his.huawei.com 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, RCVD_IN_MSPIKE_H2=-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: Salil Mehta From: Salil Mehta via Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1730629639242116600 Content-Type: text/plain; charset="utf-8" Reflect the QOM vCPUs ACPI CPU hotplug states in the `_STA.Present` and and `_STA.Enabled` bits when the guest kernel evaluates the ACPI `_STA` method during initialization, as well as when vCPUs are hot-plugged or hot-unplugged. If the CPU is present then the its `enabled` status can be fetched using architecture-specific code [1]. Reference: [1] Example implementation of architecture-specific hook to fetch CPU `enabled status Link: https://github.com/salil-mehta/qemu/commit/c0b416b11e5af6505e5588= 66f0eb6c9f3709173e Signed-off-by: Salil Mehta Tested-by: Miguel Luis --- hw/acpi/cpu.c | 38 ++++++++++++++++++++++++++++++++++---- include/hw/core/cpu.h | 1 + 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/hw/acpi/cpu.c b/hw/acpi/cpu.c index 9b03b4292e..23443f09a5 100644 --- a/hw/acpi/cpu.c +++ b/hw/acpi/cpu.c @@ -50,6 +50,18 @@ void acpi_cpu_ospm_status(CPUHotplugState *cpu_st, ACPIO= STInfoList ***list) } } =20 +static bool check_cpu_enabled_status(DeviceState *dev) +{ + CPUClass *k =3D dev ? CPU_GET_CLASS(dev) : NULL; + CPUState *cpu =3D CPU(dev); + + if (cpu && (!k->cpu_enabled_status || k->cpu_enabled_status(cpu))) { + return true; + } + + return false; +} + static uint64_t cpu_hotplug_rd(void *opaque, hwaddr addr, unsigned size) { uint64_t val =3D 0; @@ -63,10 +75,11 @@ static uint64_t cpu_hotplug_rd(void *opaque, hwaddr add= r, unsigned size) cdev =3D &cpu_st->devs[cpu_st->selector]; switch (addr) { case ACPI_CPU_FLAGS_OFFSET_RW: /* pack and return is_* fields */ - val |=3D cdev->cpu ? 1 : 0; + val |=3D check_cpu_enabled_status(DEVICE(cdev->cpu)) ? 1 : 0; val |=3D cdev->is_inserting ? 2 : 0; val |=3D cdev->is_removing ? 4 : 0; val |=3D cdev->fw_remove ? 16 : 0; + val |=3D cdev->cpu ? 32 : 0; trace_cpuhp_acpi_read_flags(cpu_st->selector, val); break; case ACPI_CPU_CMD_DATA_OFFSET_RW: @@ -349,6 +362,7 @@ const VMStateDescription vmstate_cpu_hotplug =3D { #define CPU_REMOVE_EVENT "CRMV" #define CPU_EJECT_EVENT "CEJ0" #define CPU_FW_EJECT_EVENT "CEJF" +#define CPU_PRESENT "CPRS" =20 void build_cpus_aml(Aml *table, MachineState *machine, CPUHotplugFeatures = opts, build_madt_cpu_fn build_madt_cpu, hwaddr base_addr, @@ -409,7 +423,9 @@ void build_cpus_aml(Aml *table, MachineState *machine, = CPUHotplugFeatures opts, aml_append(field, aml_named_field(CPU_EJECT_EVENT, 1)); /* tell firmware to do device eject, write only */ aml_append(field, aml_named_field(CPU_FW_EJECT_EVENT, 1)); - aml_append(field, aml_reserved_field(3)); + /* 1 if present, read only */ + aml_append(field, aml_named_field(CPU_PRESENT, 1)); + aml_append(field, aml_reserved_field(2)); aml_append(field, aml_named_field(CPU_COMMAND, 8)); aml_append(cpu_ctrl_dev, field); =20 @@ -439,6 +455,7 @@ void build_cpus_aml(Aml *table, MachineState *machine, = CPUHotplugFeatures opts, Aml *ctrl_lock =3D aml_name("%s.%s", cphp_res_path, CPU_LOCK); Aml *cpu_selector =3D aml_name("%s.%s", cphp_res_path, CPU_SELECTO= R); Aml *is_enabled =3D aml_name("%s.%s", cphp_res_path, CPU_ENABLED); + Aml *is_present =3D aml_name("%s.%s", cphp_res_path, CPU_PRESENT); Aml *cpu_cmd =3D aml_name("%s.%s", cphp_res_path, CPU_COMMAND); Aml *cpu_data =3D aml_name("%s.%s", cphp_res_path, CPU_DATA); Aml *ins_evt =3D aml_name("%s.%s", cphp_res_path, CPU_INSERT_EVENT= ); @@ -467,13 +484,26 @@ void build_cpus_aml(Aml *table, MachineState *machine= , CPUHotplugFeatures opts, { Aml *idx =3D aml_arg(0); Aml *sta =3D aml_local(0); + Aml *ifctx2; + Aml *else_ctx; =20 aml_append(method, aml_acquire(ctrl_lock, 0xFFFF)); aml_append(method, aml_store(idx, cpu_selector)); aml_append(method, aml_store(zero, sta)); - ifctx =3D aml_if(aml_equal(is_enabled, one)); + ifctx =3D aml_if(aml_equal(is_present, one)); { - aml_append(ifctx, aml_store(aml_int(0xF), sta)); + ifctx2 =3D aml_if(aml_equal(is_enabled, one)); + { + /* cpu is present and enabled */ + aml_append(ifctx2, aml_store(aml_int(0xF), sta)); + } + aml_append(ifctx, ifctx2); + else_ctx =3D aml_else(); + { + /* cpu is present but disabled */ + aml_append(else_ctx, aml_store(aml_int(0xD), sta)); + } + aml_append(ifctx, else_ctx); } aml_append(method, ifctx); aml_append(method, aml_release(ctrl_lock)); diff --git a/include/hw/core/cpu.h b/include/hw/core/cpu.h index e7de77dc6d..db8a6fbc6e 100644 --- a/include/hw/core/cpu.h +++ b/include/hw/core/cpu.h @@ -159,6 +159,7 @@ struct CPUClass { void (*query_cpu_fast)(CPUState *cpu, CpuInfoFast *value); int64_t (*get_arch_id)(CPUState *cpu); bool (*cpu_persistent_status)(CPUState *cpu); + bool (*cpu_enabled_status)(CPUState *cpu); void (*set_pc)(CPUState *cpu, vaddr value); vaddr (*get_pc)(CPUState *cpu); int (*gdb_read_register)(CPUState *cpu, GByteArray *buf, int reg); --=20 2.34.1 From nobody Sat Nov 23 20:37:05 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1730629633; cv=none; d=zohomail.com; s=zohoarc; b=XSg4sFvn1lklHe0J4AO3jF3hWfluSPlHKd9xvIYzPqpaoE6P0x2zN8fSehxubOtKv9+wRWq0cv6qZdYzsCRvcchhwXKn+5dCy5LlrUR3Cxuhjr9CWB2N55UbjCRw9xkaT4XPcL+pMuOvjkssuPQ0Qsc1fDvP4VqdR9qQ2tFJtjs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1730629633; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Sender:Subject:Subject:To:To:Message-Id; bh=vsaxh00+tKOUSkyxBGgIbX+ynIJ8cYYFcDYAr6tUw7s=; b=Ydvx6FZutWG2eGIIPnfPi9CaddO6PfYnLU/lZax09CMWHWHuYbManHUziYelesnhwEOZXhGMORDf7UZCxxqPaMWzPe/HTkW8Avqh5TNfRFDJib4AwqUxc1d0+WclLG041xP37xfiDi/8c2IpF+J7aeJSpir6aF9hDxnLlmSitQk= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1730629633825753.0460135868291; Sun, 3 Nov 2024 02:27:13 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t7Xor-0007T1-1o; Sun, 03 Nov 2024 05:26:53 -0500 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 1t7Xom-0007PD-QD; Sun, 03 Nov 2024 05:26:49 -0500 Received: from frasgout.his.huawei.com ([185.176.79.56]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t7Xoj-0005rt-Ix; Sun, 03 Nov 2024 05:26:48 -0500 Received: from mail.maildlp.com (unknown [172.18.186.216]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4Xh9hp5k3Mz6K8f8; Sun, 3 Nov 2024 18:25:14 +0800 (CST) Received: from frapeml500007.china.huawei.com (unknown [7.182.85.172]) by mail.maildlp.com (Postfix) with ESMTPS id 53A70140C72; Sun, 3 Nov 2024 18:26:43 +0800 (CST) Received: from 00293818-MRGF.huawei.com (10.48.154.43) by frapeml500007.china.huawei.com (7.182.85.172) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Sun, 3 Nov 2024 11:26:24 +0100 To: , , CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH V3 4/5] tests/qtest/bios-tables-test: Update DSDT golden masters for x86/{pc, q35} Date: Sun, 3 Nov 2024 10:24:18 +0000 Message-ID: <20241103102419.202225-5-salil.mehta@huawei.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241103102419.202225-1-salil.mehta@huawei.com> References: <20241103102419.202225-1-salil.mehta@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.48.154.43] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To frapeml500007.china.huawei.com (7.182.85.172) Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=185.176.79.56; envelope-from=salil.mehta@huawei.com; helo=frasgout.his.huawei.com 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, RCVD_IN_MSPIKE_H2=-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: Salil Mehta From: Salil Mehta via Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1730629635170116600 Content-Type: text/plain; charset="utf-8" Update DSDT golden master files for x86/pc and x86/q35 platforms to accommodate changes made in the architecture-agnostic CPU AML. These updates notify the guest OS of vCPU hot-plug and hot-unplug status using the ACPI `_STA.Enabled` bit. The following is a diff of the changes in the .dsl file generated with IASL: * Disassembling to symbolic ASL+ operators * - * Disassembly of tests/data/acpi/x86/pc/DSDT, Sat Nov 2 21:08:37 2024 + * Disassembly of /tmp/aml-FSFNW2, Sat Nov 2 21:08:37 2024 * * Original Table Header: * Signature "DSDT" - * Length 0x0000214F (8527) + * Length 0x00002171 (8561) * Revision 0x01 **** 32-bit table (V1), no 64-bit math support - * Checksum 0x59 + * Checksum 0xAA * OEM ID "BOCHS " * OEM Table ID "BXPC " * OEM Revision 0x00000001 (1) @@ -1480,6 +1480,7 @@ CRMV, 1, CEJ0, 1, CEJF, 1, + CPRS, 1, Offset (0x05), CCMD, 8 } @@ -1514,9 +1515,16 @@ Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) \_SB.PCI0.PRES.CSEL =3D Arg0 Local0 =3D Zero - If ((\_SB.PCI0.PRES.CPEN =3D=3D One)) - { - Local0 =3D 0x0F + If ((\_SB.PCI0.PRES.CPRS =3D=3D One)) + { + If ((\_SB.PCI0.PRES.CPEN =3D=3D One)) + { + Local0 =3D 0x0F + } + Else + { + Local0 =3D 0x0D + } } Release (\_SB.PCI0.PRES.CPLK) Reported-by: Zhao Liu Signed-off-by: Salil Mehta Tested-by: Miguel Luis --- tests/data/acpi/x86/pc/DSDT | Bin 8527 -> 8561 bytes tests/data/acpi/x86/pc/DSDT.acpierst | Bin 8438 -> 8472 bytes tests/data/acpi/x86/pc/DSDT.acpihmat | Bin 9852 -> 9886 bytes tests/data/acpi/x86/pc/DSDT.bridge | Bin 15398 -> 15432 bytes tests/data/acpi/x86/pc/DSDT.cphp | Bin 8991 -> 9025 bytes tests/data/acpi/x86/pc/DSDT.dimmpxm | Bin 10181 -> 10215 bytes tests/data/acpi/x86/pc/DSDT.hpbridge | Bin 8478 -> 8512 bytes tests/data/acpi/x86/pc/DSDT.hpbrroot | Bin 5034 -> 5068 bytes tests/data/acpi/x86/pc/DSDT.ipmikcs | Bin 8599 -> 8633 bytes tests/data/acpi/x86/pc/DSDT.memhp | Bin 9886 -> 9920 bytes tests/data/acpi/x86/pc/DSDT.nohpet | Bin 8385 -> 8419 bytes tests/data/acpi/x86/pc/DSDT.numamem | Bin 8533 -> 8567 bytes tests/data/acpi/x86/pc/DSDT.roothp | Bin 12320 -> 12354 bytes tests/data/acpi/x86/q35/DSDT | Bin 8355 -> 8389 bytes tests/data/acpi/x86/q35/DSDT.acpierst | Bin 8372 -> 8406 bytes tests/data/acpi/x86/q35/DSDT.acpihmat | Bin 9680 -> 9714 bytes .../acpi/x86/q35/DSDT.acpihmat-noinitiator | Bin 8634 -> 8668 bytes tests/data/acpi/x86/q35/DSDT.applesmc | Bin 8401 -> 8435 bytes tests/data/acpi/x86/q35/DSDT.bridge | Bin 11968 -> 12002 bytes tests/data/acpi/x86/q35/DSDT.core-count | Bin 12913 -> 12947 bytes tests/data/acpi/x86/q35/DSDT.core-count2 | Bin 33770 -> 33804 bytes tests/data/acpi/x86/q35/DSDT.cphp | Bin 8819 -> 8853 bytes tests/data/acpi/x86/q35/DSDT.cxl | Bin 13148 -> 13182 bytes tests/data/acpi/x86/q35/DSDT.dimmpxm | Bin 10009 -> 10043 bytes tests/data/acpi/x86/q35/DSDT.ipmibt | Bin 8430 -> 8464 bytes tests/data/acpi/x86/q35/DSDT.ipmismbus | Bin 8443 -> 8477 bytes tests/data/acpi/x86/q35/DSDT.ivrs | Bin 8372 -> 8406 bytes tests/data/acpi/x86/q35/DSDT.memhp | Bin 9714 -> 9748 bytes tests/data/acpi/x86/q35/DSDT.mmio64 | Bin 9485 -> 9519 bytes tests/data/acpi/x86/q35/DSDT.multi-bridge | Bin 13208 -> 13242 bytes tests/data/acpi/x86/q35/DSDT.noacpihp | Bin 8235 -> 8269 bytes tests/data/acpi/x86/q35/DSDT.nohpet | Bin 8213 -> 8247 bytes tests/data/acpi/x86/q35/DSDT.numamem | Bin 8361 -> 8395 bytes tests/data/acpi/x86/q35/DSDT.pvpanic-isa | Bin 8456 -> 8490 bytes tests/data/acpi/x86/q35/DSDT.thread-count | Bin 12913 -> 12947 bytes tests/data/acpi/x86/q35/DSDT.thread-count2 | Bin 33770 -> 33804 bytes tests/data/acpi/x86/q35/DSDT.tis.tpm12 | Bin 8961 -> 8995 bytes tests/data/acpi/x86/q35/DSDT.tis.tpm2 | Bin 8987 -> 9021 bytes tests/data/acpi/x86/q35/DSDT.type4-count | Bin 18589 -> 18623 bytes tests/data/acpi/x86/q35/DSDT.viot | Bin 14615 -> 14649 bytes tests/data/acpi/x86/q35/DSDT.xapic | Bin 35718 -> 35752 bytes tests/qtest/bios-tables-test-allowed-diff.h | 41 ------------------ 42 files changed, 41 deletions(-) diff --git a/tests/data/acpi/x86/pc/DSDT b/tests/data/acpi/x86/pc/DSDT index 92225236e717b2e522a2ee00492fb0ded418dc7b..46c8ffda011e71ce0a0ee707d32= 0f13e9afd74f8 100644 GIT binary patch delta 125 zcmV-@0D}L|Lh(WhL{mgmaUlQz0jjYIx(o?HL0?lsUt5Arlg$iX0WFg(4Il?YP*PI? z00NUv4JZOiHIsM^HUdQmldugnHaC-8F9csxLSIlrNia}SMN>miQd0q-8k1Zv1Yc7^ fUr<9yFi=3DuOQ$tWiP62QV4`87Ma0(5x{tZzR)F2~R delta 75 zcmV-R0JQ({LeD}9L{mgmPayyR0a>vMx(o?VK3`KpUt5Amlg$iX0VtC!4Ilyl1Cvt? hC<0A0lYI>~21o`&Q&d5dKMpPe0AP|18?zw}P!lL!6Pf@3 diff --git a/tests/data/acpi/x86/pc/DSDT.acpierst b/tests/data/acpi/x86/pc/= DSDT.acpierst index 25b39955059409b177870800949eaf937cd39005..8332df33f33ddaa4241752dcc2c= f83ebd1cccd80 100644 GIT binary patch delta 125 zcmV-@0D}MaL6|}cL{mgm7$E=3Dv0rIg5x(o?HL0?lsUt5Arlg$iX0WFg(4Il?YP*PI? z00NUv4JZOiHIsM^HUdQmldugnHaC-8F9csxLSIlrNia}SMN>miQd0q-8k1Zv1Yc7^ fUr<9yFi=3DuOQ$tWiP62QV4`87Ma0(5x{tfsNv>hY5 delta 75 zcmV-R0JQ&@LiRxlL{mgm_8~21o`&Q&d5dKMpPe0AP|18?zw}_Yzj16#M`H diff --git a/tests/data/acpi/x86/pc/DSDT.acpihmat b/tests/data/acpi/x86/pc/= DSDT.acpihmat index 73a9ce59e9426b180fea0ec5820c4841ebdb6700..bf093f6d8290a10a0823299238d= 5196d19b8e77d 100644 GIT binary patch delta 108 zcmV-y0F(dxOrA{&L{mgmo+bbQ0cWuax(o?GM_*GyUt5Arlg$iX0WFg(4Il?YP*PI? z00NUv4JZOhJCk?~K>|exle-Ny7B`bzF9csxLSIlrNia}SMN>miQd0qw?+qIUp#^XX O4PcXS5EZi@4qX_VYaSc` delta 69 zcmV-L0J{I4P5ev>L{mgmd?o+@0T!_ex(o?UL|;=3DvUt5Amlg$iX0VtC!4Ilyl1Cvt? bC<075lYI?A0!RjvzzsE%3=3DSHzEDmxQwg?iz diff --git a/tests/data/acpi/x86/pc/DSDT.bridge b/tests/data/acpi/x86/pc/DS= DT.bridge index 4cef454e379e1009141694e0f4036a2a701c80d7..c0bf671621348f698d2535cfd73= 4dc05a9c7256a 100644 GIT binary patch delta 125 zcmV-@0D}Lfc*uAPL{mgmNIU=3Dl0l2XWx(o?HL0?lsUt5Arlg$iX0WFg(4Il?YP*PI? z00NUv4JZOiHIsM^HUdQmldugnHaC-8F9csxLSIlrNia}SMN>miQd0q-8k1Zv1Yc7^ fUr<9yFi=3DuOQ$tWiP62QV4`87Ma0(5x{tYND-?SrS delta 75 zcmV-R0JQ(ec&2y?L{mgmCOiND0cWuax(o?VK3`KpUt5Amlg$iX0VtC!4Ilyl1Cvt? hC<0A0lYI>~21o`&Q&d5dKMpPe0AP|18?zw}CoV4C6Q%$F diff --git a/tests/data/acpi/x86/pc/DSDT.cphp b/tests/data/acpi/x86/pc/DSDT= .cphp index 1dc928333d7ae7e4df6bb51d850af5e1cb480158..e72a2df567d28b08b17051dd561= 2fb77abaf6e20 100644 GIT binary patch delta 108 zcmV-y0F(cpM!`l3L{mgmK_dVF0S>VWx(o?HUSCr}Ut5Arlg$iX0WFg(4Il?YP*PI? z00NUv4JZOiQj>TMasovNlk5#O7B`bzF9csxLSIlrNia}SMN>miQd0qwAPyS_p#^XX O4PcX@5EZjf4$l-zMIEpJ delta 69 zcmV-L0J{IdMxRCsL{mgmA0q$&0ll#bx(o?VTVGQ`Ut5Amlg$iX0VtC!4Ilyl1Cvt? bC<0ATlYI?x0!Rjv@eMVTJq{YPT@K_Fz)ut- diff --git a/tests/data/acpi/x86/pc/DSDT.dimmpxm b/tests/data/acpi/x86/pc/D= SDT.dimmpxm index 9f71d2e58b1707e733584e38dab7f73f9bda5eb7..17a53d9ef714c973c934fdbd202= 1b2c03fa08a87 100644 GIT binary patch delta 103 zcmV-t0GR*9Pv=3DhxL{mgm=3DO+LF0n4!p&I}1kQeRU-Ut5Arli>_r0WFh24Il?YP*PI? z00NU@4JZObN0W>VSpr1}ljjXJ7B`bzF9csxLSIlrNia}SMN>miQd0qw8x9)_r0VtC|4Ilyl1CwVB zC;~=3DBlaUQs0!Rjv>miQd0q-8k1Zv1Yc7^ fUr<9yFi=3DuOQ$tWiP62QV4`87Ma0(5x{tX}#q@E(k delta 75 zcmV-R0JQ(WLY_hjL{mgm9w7h#0gbT=3Dx(o?VK3`KpUt5Amlg$iX0VtC!4Ilyl1Cvt? hC<0A0lYI>~21o`&Q&d5dKMpPe0AP|18?zw}9}^2{6AAzT diff --git a/tests/data/acpi/x86/pc/DSDT.hpbrroot b/tests/data/acpi/x86/pc/= DSDT.hpbrroot index 31b6adb4eb941e5bf0c02ec8c3819c9213adf022..e0c7c2a56d5d8afb5f78134c9b1= 75d6153dca776 100644 GIT binary patch delta 132 zcmV-~0DJ$cC(I`bL{mgm%o6|r0nV`sZ3_uOL0?lsUt5ArlYk3e0WFi?3m^wWP*PI? z00NT%3@8FhHIpk0HU>oqLsL{ilh6zmiQd0q-8k1Zv1Yc7^ fUr<9yFi=3DuOQ$tWiP62QV4`87Ma0(5x{tcNEhRP!L delta 75 zcmV-R0JQ(PLzhDeL{mgmmmvTE0oAbzx(o?VK3`KpUt5Amlg$iX0VtC!4Ilyl1Cvt? hC<0A0lYI>~21o`&Q&d5dKMpPe0AP|18?zw}m=3DifW6gU6? diff --git a/tests/data/acpi/x86/pc/DSDT.memhp b/tests/data/acpi/x86/pc/DSD= T.memhp index c15a9fae947bb3929a30c60b7c0f2092705868f8..9ca8a6e2f7898ccd304de44a34b= d318a209917e9 100644 GIT binary patch delta 125 zcmV-@0D}LXO~6eGL{mgmz$O3y0gbT=3Dx(o?NL0?lsUt5Arlg$iX0WFg(4Il?YP*PI? z00NUv4JZOYHj{V_HUdQmldugnHaC-8F9csxLSIlrNia}SMN>miQd0q-8k1Zv1Yc7^ fUr<9yFi=3DuOQ$tWiP62QV4`87Ma0(5x{tciQ$vGpG delta 75 zcmV-R0JQ(WO`c5(L{mgmo+bbQ0ZXw8x(o?LKVMTqUt5Amlg$iX0VtC!4Ilyl1Cvt? hC;~$?lYI>~21o`&Q&d5dKMpPe0AP|18?zw}pBN%i6V?C# diff --git a/tests/data/acpi/x86/pc/DSDT.nohpet b/tests/data/acpi/x86/pc/DS= DT.nohpet index dd29f5cb620e5164601e303e37524530ddb12684..6127a2c9ac43e961e7e8ca01673= 117382c20bedb 100644 GIT binary patch delta 132 zcmV-~0DJ$zLE}LRL{mgm;~)S40d%nnEDQ-jL0?lsUt5ArlRpez0WFiB3?K(XP*PI? z00NW13@8FhHIwQLHU>oqLsL{ilaCE9IRIdwHmiQd0q-8k1Zv1Yc7^ fUr<9yFi=3DuOQ$tWiP62QV4`87Ma0(5x{tZ_Xu+1X~ delta 75 zcmV-R0JQ)2Le)YFL{mgmRUrTX0RyoLx(o?LKVMTqUt5Amlg$iX0VtC!4Ilyl1Cvt? hC;~$?lYI>~21o`&Q&d5dKMpPe0AP|18?zw}RudKi6G{L8 diff --git a/tests/data/acpi/x86/pc/DSDT.roothp b/tests/data/acpi/x86/pc/DS= DT.roothp index a16b0d9d4becec47fa3cf57ed0077ff6cff88908..8256503220c11cbb902c6967fcc= ba87e711bcd5a 100644 GIT binary patch delta 125 zcmV-@0D}LZV8UPuL{mgmLNEXT0XDG;x(o?HL0?lsUt5Arlg$iX0WFg(4Il?YP*PI? z00NUv4JZOiHIsM^HUdQmldugnHaC-8F9csxLSIlrNia}SMN>miQd0q-8k1Zv1Yc7^ fUr<9yFi=3DuOQ$tWiP62QV4`87Ma0(5x{tY4`f~21o`&Q&d5dKMpPe0AP|18?zw}AtE;m6T|=3Dj diff --git a/tests/data/acpi/x86/q35/DSDT b/tests/data/acpi/x86/q35/DSDT index fb89ae0ac6d4346e33156e9e4d3718698a0a1a8e..b0bbff7686c9a56129bfa3408e6= 2f142cc482713 100644 GIT binary patch delta 108 zcmV-y0F(ctLB&A|L{mgm#UKCx0f?~*2N?-LL0?lsUt5ArlNuRb0WFhx86XEkP*PI? z00NVn87KluHIu~|HUdQmll>Vr7B`bzF9csxLSIlrNia}SMN>miQd0qwF&Y~Np#^XX O4PcY892K)+8bStU_Z`Xr delta 76 zcmV-S0JHzaL8CzmL{mgmqaXkP0XMM<2N?-ZK3`KpUt5AmlNuRb0VtDs86W}x1CyW` iC<0A0lgb%321o`&Q&d5dj2bQi0AQ0%8XL228dnAt3lug0 diff --git a/tests/data/acpi/x86/q35/DSDT.acpierst b/tests/data/acpi/x86/q3= 5/DSDT.acpierst index 46fd25400b7c00ee9149ddb64cb5d5bd73f6a82b..f91cbe55fcfeea319babf7c9a0c= 6a6ccdc3320d1 100644 GIT binary patch delta 108 zcmV-y0F(c;LDoSEL{mgm)*t`?0VuHw2N?-LL0?lsUt5ArlNuRb0WFhx86XEkP*PI? z00NVn87KluHIu~|HUdQmll>Vr7B`bzF9csxLSIlrNia}SMN>miQd0qwF&Y~Np#^XX O4PcY892K)+8dC;Xq8+XP delta 76 zcmV-S0JHzrL9{^%L{mgmv>*Tg0oSn#2N?-ZK3`KpUt5AmlNuRb0VtDs86W}x1CyW` iC<0A0lgb%321o`&Q&d5dj2bQi0AQ0%8XL228fXSeRuvim diff --git a/tests/data/acpi/x86/q35/DSDT.acpihmat b/tests/data/acpi/x86/q3= 5/DSDT.acpihmat index 61c5bd52a42242e85090934e8e45bf01642609d6..0949fb9d67c70dc882e50501ece= 421114ad8080b 100644 GIT binary patch delta 122 zcmV-=3D0EPe1OY%z!L{mgm@+ANO0Y$M22N?-KM_*GyUt5ArlNuRb0WFhx86XEkP*PI? z00NVn87KltJCns3K?y|&LsL{i30otRAsiEviy9ai0AQdulUy$ZUsFO~P(w*DP*O!x cLr_vv0h2r$8wQ~Ta0(4zlOG%vvuqk<3nf7y_y7O^ delta 96 zcmV-m0H6QzOVCRSL{mgm&?Nu>0ras72N?-YL|;=3DvUt5AmlNuRb0VtDs86W}x1CyW` zC<075lgb%E0!Rjv4H`8X8k1Zv1Yc7^Ur<9yFi=3DuOQ$tWiP62QV4`7o)92K*U8e|Jg C=3DNiBO diff --git a/tests/data/acpi/x86/q35/DSDT.acpihmat-noinitiator b/tests/data= /acpi/x86/q35/DSDT.acpihmat-noinitiator index 3aaa2bbdf54a0d0cade14421e84c6ec5a42f96fa..0fa4daa35cf95f93ba8c15f4784= 60fe4e14e6d9e 100644 GIT binary patch delta 125 zcmV-@0D}LzL)=3D3OL{mgm+#vt}0spZI2N?-SQeRU-Ut5ArlNuRb0WFhx86XEkP*PI? z00NVn87KllN0Y@FSpr1}lOP&3HaC-8F9csxLSIlrNia}SMN>miQd0q-8k1Zv1Yc7^ fUr<9yFi=3DuOQ$tWiP62QV4`87Ma0(5xZW>Gn*IFXn delta 76 zcmV-S0JHzxL%Kr>L{mgmx*-4n0ll#b2N?-QP+wC*Ut5AmlNuRb0VtDs86W}x1CyW` iC;~)9lgb%c21o`&Q&d5duNp1_0AQ1F8XL2b8cPRMBNdqd diff --git a/tests/data/acpi/x86/q35/DSDT.applesmc b/tests/data/acpi/x86/q3= 5/DSDT.applesmc index 944209adeaa5bbb722431161c404cb51b8209993..a5d032b7d96113c9393036b2ba8= 31adb6d584142 100644 GIT binary patch delta 108 zcmV-y0F(dGLGwWhL{mgm^B@2K0eGVr7B`bzF9csxLSIlrNia}SMN>miQd0qwF&Y~Np#^XX O4PcY892K)+8gK@gu^w^& delta 76 zcmV-S0JHz|LD4}9L{mgm(I5Z-0VlBv2N?-ZK3`KpUt5AmlNuRb0VtDs86W}x1CyW` iC<0A0lgb%321o`&Q&d5dj2bQi0AQ0%8XL228ifWpg%sWZ diff --git a/tests/data/acpi/x86/q35/DSDT.bridge b/tests/data/acpi/x86/q35/= DSDT.bridge index d9938dba8fa5d405f7696c0dbdc24f3ae42ec934..3464f552974672bde25eb15f1c9= 3c309c57ef5cb 100644 GIT binary patch delta 108 zcmV-y0F(c~UE*B|L{mgm;w}IH0i>}C2N?-LL0?lsUt5ArlNuRb0WFhx86XEkP*PI? z00NVn87KluHIu~|HUdQmll>Vr7B`bzF9csxLSIlrNia}SMN>miQd0qwF&Y~Np#^XX O4PcY892K)+8ebH#h#sy0 delta 76 zcmV-S0JHz%UBF!mL{mgmz%Bp)0aLLG2N?-ZK3`KpUt5AmlNuRb0VtDs86W}x1CyW` iC<0A0lgb%321o`&Q&d5dj2bQi0AQ0%8XL228gvv$d=3D(l1 diff --git a/tests/data/acpi/x86/q35/DSDT.core-count b/tests/data/acpi/x86/= q35/DSDT.core-count index a24b04cbdbf09383b933a42a2a15182545543a87..08f5d5f54bcb61235b98fc85bb8= 14046dd038c13 100644 GIT binary patch delta 110 zcmV-!0FnRkWRqnIL{mgmlQIAR0r9a42N?>FT>)QHLSI{gO_LiLUI8tWdKn-GLr_vv z0RRG%oEazrhf=3De~8M6WcMF^9795og$&6%NoKK>z>% delta 71 zcmV-N0J#5?W$|PRL{mgmaWVh^0k5$N2N?>DTLE8FLSI{gNRt~GUI8eRdKn-B00Wbu d87KmZP_xS!vjPH029tmsHIvL78nf&irxpI;78U>i diff --git a/tests/data/acpi/x86/q35/DSDT.core-count2 b/tests/data/acpi/x86= /q35/DSDT.core-count2 index 3a0cb8c581c8cc630a2ec21712b7f8b75fcad1c8..d29a7108f82110ce9f9b4e00650= 1215d41c5420a 100644 GIT binary patch delta 126 zcmV-^0D=3DGNhXRa<0t!S^L{tof0003(u?hzn3W#+EUsFO~TY^oK8yQ{!Et7f~AO}NG zQd0o{0+XB>C<1_Lv&I=3D;3<*UDLsL{i30otRK`0ZGswNm20AQdulUy$ZUsFO~P(w*D gP*O!xLr_vv0h3!M8wQ~Ta0(4zlRqdGvx_EQU6UXp_5c6? delta 100 zcmV-q0Gt1ehyv<|0t!S^L{#d700032u?hzn3WjqAUsFO~TY^ZF8yQ{!D3f{_AOZjb zlc567< GCSP5hTO4Nq diff --git a/tests/data/acpi/x86/q35/DSDT.cphp b/tests/data/acpi/x86/q35/DS= DT.cphp index 20955d0aa30120553da35d5a6640055d26255cf9..7fd59bf6702c04a622f05ae356a= 2ea37312ab403 100644 GIT binary patch delta 108 zcmV-y0F(doM3qGfL{mgml_CHD0qn5~2N?-LUSCr}Ut5ArlNuRb0WFhx86XEkP*PI? z00NVn87KluQj^6QasovNlQ|kS7B`bzF9csxLSIlrNia}SMN>miQd0qwZ5kT}p#^XX O4PcW{92K*j8rBDgEFOjc delta 73 zcmV-P0Ji^?Me{@oL{mgmb0Po$0h_T32N?-ZTVGQ`Ut5AmlNuRb0VtDs86W}x1CyW` fC<0ATlgb%#0!RjvJ{mQXiW(Y|5FHh>zZ%vD0Bsc$ diff --git a/tests/data/acpi/x86/q35/DSDT.cxl b/tests/data/acpi/x86/q35/DSD= T.cxl index f561750cab8b061c123c041fe2209d74c7a740f1..92769c630dc362c781c4e9a83d6= f8be306121c5a 100644 GIT binary patch delta 108 zcmV-y0F(dRX8vXhL{mgmelq|70i3Z42N?-LL0?lsUt5ArlNuRb0WFhx86XEkP*PI? z00NVn87KluHIu~|HUdQmll>Vr7B`bzF9csxLSIlrNia}SMN>miQd0qwF&Y~Np#^XX O4PcY892K)+8v7Wj?jJD# delta 76 zcmV-S0JH!8X53~9L{mgmTr&Uw0ZXw82N?-ZK3`KpUt5AmlNuRb0VtDs86W}x1CyW` iC<0A0lgb%321o`&Q&d5dj2bQi0AQ0%8XL228W0&mgA|?s diff --git a/tests/data/acpi/x86/q35/DSDT.dimmpxm b/tests/data/acpi/x86/q35= /DSDT.dimmpxm index 228374b55bd544116e359f659e546fc66cf8a895..1db0bf454a203006f866e6752d0= 6422ae675cbd3 100644 GIT binary patch delta 132 zcmV-~0DJ$LPP9)+IIo delta 91 zcmV-h0HpuBPMJ;$L{mgm87BY$0cNoZ8yN{mP+wC*Ut5AmlP(!v0VtD=3D86W}x1Cz8F xC;~=3DBlinFw0!RjvIT|$?8k1Zv1Yc7^Ur<9yFi=3DuOQ$tWiP62QV53{5imkeVJ7_9&R diff --git a/tests/data/acpi/x86/q35/DSDT.ipmibt b/tests/data/acpi/x86/q35/= DSDT.ipmibt index 45f911ada5645f158f3d6c0c430ec1d52cadc5d8..25f43ae8efb55364a739e6b5e3c= b4e71e61862b0 100644 GIT binary patch delta 108 zcmV-y0F(djL6AZUL{mgm5Fr2n0lTpZ2N?-LL0?lsUt5ArlNuRb0WFhx86XEkP*PI? z00NVn87KluHIu~|HUdQmll>Vr7B`bzF9csxLSIlrNia}SMN>miQd0qwF&Y~Np#^XX O4PcY892K)+8jS`%#T}~v delta 76 zcmV-S0JHy)LheBdL{mgm?jQgF0c)`e2N?-ZK3`KpUt5AmlNuRb0VtDs86W}x1CyW` iC<0A0lgb%321o`&Q&d5dj2bQi0AQ0%8XL228lna~7Zn!( diff --git a/tests/data/acpi/x86/q35/DSDT.ipmismbus b/tests/data/acpi/x86/q= 35/DSDT.ipmismbus index e5d6811bee1233d74236453c49060390d74d4416..32bcd25bda9e9d2775790385f8d= a6a11e9d5cb46 100644 GIT binary patch delta 108 zcmV-y0F(dwL7hShL{mgm9U%Y!0W7f!2N?-LL0?lsUt5ArlNuRb0WFhx86XEkP*PI? z00NVn87KluHIu~|HUdQmll>Vr7B`bzF9csxLSIlrNia}SMN>miQd0qwF&Y~Np#^XX O4PcY892K)+8kz5 delta 76 zcmV-S0JHy{Li<4qL{mgm`yc=3DS0o<_)2N?-ZK3`KpUt5AmlNuRb0VtDs86W}x1CyW` iC<0A0lgb%321o`&Q&d5dj2bQi0AQ0%8XL228m|Uoloh-H diff --git a/tests/data/acpi/x86/q35/DSDT.ivrs b/tests/data/acpi/x86/q35/DS= DT.ivrs index 46fd25400b7c00ee9149ddb64cb5d5bd73f6a82b..f91cbe55fcfeea319babf7c9a0c= 6a6ccdc3320d1 100644 GIT binary patch delta 108 zcmV-y0F(c;LDoSEL{mgm)*t`?0VuHw2N?-LL0?lsUt5ArlNuRb0WFhx86XEkP*PI? z00NVn87KluHIu~|HUdQmll>Vr7B`bzF9csxLSIlrNia}SMN>miQd0qwF&Y~Np#^XX O4PcY892K)+8dC;Xq8+XP delta 76 zcmV-S0JHzrL9{^%L{mgmv>*Tg0oSn#2N?-ZK3`KpUt5AmlNuRb0VtDs86W}x1CyW` iC<0A0lgb%321o`&Q&d5dj2bQi0AQ0%8XL228fXSeRuvim diff --git a/tests/data/acpi/x86/q35/DSDT.memhp b/tests/data/acpi/x86/q35/D= SDT.memhp index 5ce081187a578ba7145a9ba20d30be36c13b7663..be90eb71d8dda8fe54c79ffffe1= 03986ee06ae3a 100644 GIT binary patch delta 108 zcmV-y0F(dnOO#9sL{mgm6ea)w0cx=3Dd2N?-RL0?lsUt5ArlNuRb0WFhx86XEkP*PI? z00NVn87KlkHj~8}HUdQmll>Vr7B`bzF9csxLSIlrNia}SMN>miQd0qwF&Y~Np#^XX O4PcY892K)+8j%YyK^=3Dtv delta 76 zcmV-S0JHy;O!7+#L{mgm@+ANO0V%Nx2N?-PKVMTqUt5AmlNuRb0VtDs86W}x1CyW` iC;~$?lgb%321o`&Q&d5dj2bQi0AQ0%8XL228m0>~pA_)` diff --git a/tests/data/acpi/x86/q35/DSDT.mmio64 b/tests/data/acpi/x86/q35/= DSDT.mmio64 index bdf36c4d575bfc4eb2eac3f00c9b7b4270f88677..01f276a6aff38a1d4f58640a9e6= d120fc9a04b61 100644 GIT binary patch delta 108 zcmV-y0F(cXO0P-^L{mgmFC_o~0V}Zz2N?-RL0?lsUt5ArlNuRb0WFhx86XEkP*PI? z00NVn87KlkHj~8}HUdQmll>Vr7B`bzF9csxLSIlrNia}SMN>miQd0qwF&Y~Np#^XX O4PcY892K)+8mtNexE(D3 delta 76 zcmV-S0JHzEN{vbiL{mgm4J7~o0qL;{2N?-PKVMTqUt5AmlNuRb0VtDs86W}x1CyW` iC;~$?lgb%321o`&Q&d5dj2bQi0AQ0%8XL228o>$>SQME6 diff --git a/tests/data/acpi/x86/q35/DSDT.multi-bridge b/tests/data/acpi/x8= 6/q35/DSDT.multi-bridge index 1db43a69e4c2affd8bd678bbef4d3c228380288e..1bd2ee8d2ebd3c9e0ed89a86478= 691f2e06f2590 100644 GIT binary patch delta 108 zcmV-y0F(ciXS!z!L{mgmx-$R(0iCf52N?-LL0?lsUt5ArlNuRb0WFhx86XEkP*PI? z00NVn87KluHIu~|HUdQmll>Vr7B`bzF9csxLSIlrNia}SMN>miQd0qwF&Y~Np#^XX O4PcY892K)+8aEk-^&TYv delta 76 zcmV-S0JHzPXP9RSL{mgmm@@zX0Zg$92N?-ZK3`KpUt5AmlNuRb0VtDs86W}x1CyW` iC<0A0lgb%321o`&Q&d5dj2bQi0AQ0%8XL228cZ20sT7d_ diff --git a/tests/data/acpi/x86/q35/DSDT.noacpihp b/tests/data/acpi/x86/q3= 5/DSDT.noacpihp index 8bc16887e1c963c61aaecf71712a09c0554f6d67..45cc2bcffa42d73db110afd5075= 556dcfe5d9936 100644 GIT binary patch delta 125 zcmV-@0D}LkK+Ql3L{mgmO&|aO0UNOjx)%vSL0?lsUt5Arlg$@i0WFg(7$65jP*PI? z00NUv7$^ctHIsN4HUdQmldu>yHaC-8F9csxLSIlrNia}SMN>miQd0q-8k1Zv1Yc7^ fUr<9yFi=3DuOQ$tWiP62QV4`87Ma0(5x{unI>b*&0m`uox)%vgK3`KpUt5Amlg$@i0VtC!7$5=3Dw1Cvu2 hC<0A0lYJOA21o`&Q&d5dKN&6p0AP|C8?zx9EC(#i6T$!h diff --git a/tests/data/acpi/x86/q35/DSDT.nohpet b/tests/data/acpi/x86/q35/= DSDT.nohpet index c13e45e3612646cc2e30f00b3b7e53335da816ea..f110504b9c813aa07802fc17d28= 69596a2eeca6f 100644 GIT binary patch delta 125 zcmV-@0D}LOK({~&L{mgmHy{820a39Ec^C;nL0?lsUt5ArlZ+T%0WFj37$65jP*PI? z00NT@87KluHIp|PHUdQmlW!R{HaC-8F9csxLSIlrNia}SMN>miQd0q-8k1Zv1Yc7^ fUr<9yFi=3DuOQ$tWiP62QV4`87Ma0(5xy%|^rNJSyi delta 76 zcmV-S0JHzMK$SoWL{mgm6(9fr0RXWIc^C;#K3`KpUt5AmlZ+T%0VtE}7$5=3Dw1CtUN iC<0A0lROzV21o`&Q&d5d{uwR;0AQ2985^_U8CM1b{}kN- diff --git a/tests/data/acpi/x86/q35/DSDT.numamem b/tests/data/acpi/x86/q35= /DSDT.numamem index ba6669437e65952f24516ded954b33fe54bdedfb..6090958f39875f5806e72e23f32= cb4b3ae840627 100644 GIT binary patch delta 108 zcmV-y0F(czLCZl3L{mgm%OC&%0VA;r2N?-RL0?lsUt5ArlNuRb0WFhx86XEkP*PI? z00NVn87KlkHj~8}HUdQmll>Vr7B`bzF9csxLSIlrNia}SMN>miQd0qwF&Y~Np#^XX O4PcY892K)+8b}67S{-@- delta 76 zcmV-S0JHzgL8(CsL{mgmsUQFV0pYO<2N?-PKVMTqUt5AmlNuRb0VtDs86W}x1CyW` iC;~$?lgb%321o`&Q&d5dj2bQi0AQ0%8XL228eIlJS`_90 diff --git a/tests/data/acpi/x86/q35/DSDT.pvpanic-isa b/tests/data/acpi/x86= /q35/DSDT.pvpanic-isa index 6ad42873e91c80cef5a42224cb4d31936dad59b4..7a8e568315a43f1fa98068d8e78= 995c98064fb91 100644 GIT binary patch delta 108 zcmV-y0F(cSLaIUvL{mgmDj@&>0Xne?2N?-LL0?lsUt5ArlNuRb0WFhx86XEkP*PI? z00NVn87KluHIu~|HUdQmll>Vr7B`bzF9csxLSIlrNia}SMN>miQd0qwF&Y~Np#^XX O4PcY892K)+8m9*N!5tF- delta 76 zcmV-S0JHz9LWn{NL{mgm2q6Ff0qL;{2N?-ZK3`KpUt5AmlNuRb0VtDs86W}x1CyW` iC<0A0lgb%321o`&Q&d5dj2bQi0AQ0%8XL228oUMxWE6h@ diff --git a/tests/data/acpi/x86/q35/DSDT.thread-count b/tests/data/acpi/x8= 6/q35/DSDT.thread-count index a24b04cbdbf09383b933a42a2a15182545543a87..08f5d5f54bcb61235b98fc85bb8= 14046dd038c13 100644 GIT binary patch delta 110 zcmV-!0FnRkWRqnIL{mgmlQIAR0r9a42N?>FT>)QHLSI{gO_LiLUI8tWdKn-GLr_vv z0RRG%oEazrhf=3De~8M6WcMF^9795og$&6%NoKK>z>% delta 71 zcmV-N0J#5?W$|PRL{mgmaWVh^0k5$N2N?>DTLE8FLSI{gNRt~GUI8eRdKn-B00Wbu d87KmZP_xS!vjPH029tmsHIvL78nf&irxpI;78U>i diff --git a/tests/data/acpi/x86/q35/DSDT.thread-count2 b/tests/data/acpi/x= 86/q35/DSDT.thread-count2 index 3a0cb8c581c8cc630a2ec21712b7f8b75fcad1c8..d29a7108f82110ce9f9b4e00650= 1215d41c5420a 100644 GIT binary patch delta 126 zcmV-^0D=3DGNhXRa<0t!S^L{tof0003(u?hzn3W#+EUsFO~TY^oK8yQ{!Et7f~AO}NG zQd0o{0+XB>C<1_Lv&I=3D;3<*UDLsL{i30otRK`0ZGswNm20AQdulUy$ZUsFO~P(w*D gP*O!xLr_vv0h3!M8wQ~Ta0(4zlRqdGvx_EQU6UXp_5c6? delta 100 zcmV-q0Gt1ehyv<|0t!S^L{#d700032u?hzn3WjqAUsFO~TY^ZF8yQ{!D3f{_AOZjb zlc567< GCSP5hTO4Nq diff --git a/tests/data/acpi/x86/q35/DSDT.tis.tpm12 b/tests/data/acpi/x86/q= 35/DSDT.tis.tpm12 index e381ce4cbf2b11f56a2d0537db4d21acc97450c9..29a416f0508655d2bfde01fff4d= 25ad7f89581d9 100644 GIT binary patch delta 108 zcmV-y0F(cLMx#awL{mgmBO?F+0l2XW2N?-LL0?lsUt5ArlNuRb0WFhx86XEkP*PI? z00NVn87KluHIu~|HUdQmll>Vr7B`bzF9csxLSIlrNia}SMN>miQd0qwF&Y~Np#^XX O4PcY892K)+8lVUxjU9mi delta 76 zcmV-S0JHz2MuA2OL{mgm0V4na0cWua2N?-ZK3`KpUt5AmlNuRb0VtDs86W}x1CyW` iC<0A0lgb%321o`&Q&d5dj2bQi0AQ0%8XL228np=3DKvJ>q9 diff --git a/tests/data/acpi/x86/q35/DSDT.tis.tpm2 b/tests/data/acpi/x86/q3= 5/DSDT.tis.tpm2 index a09253042ce4a715922027245de8a2ab7449c5b7..59288f02c43cf2efc1555599131= fde05dbbaa1cd 100644 GIT binary patch delta 108 zcmV-y0F(clM!iM~L{mgmJtF`B0dlbl2N?-LL0?lsUt5ArlNuRb0WFhx86XEkP*PI? z00NVn87KluHIu~|HUdQmll>Vr7B`bzF9csxLSIlrNia}SMN>miQd0qwF&Y~Np#^XX O4PcY892K)+8oCH6*Bzq( delta 76 zcmV-S0JHzSMw>0003Uu?hzn3X8x3UsFO~TY^oK8yQ{!Et7f~AO}NG zQd0o{0+XB>C<24Ev&I?A1qMY3LsL{ik{~WQ0AQdulUy$ZUsFO~P(w*DP*O!xLr_vv p0iYU_TrUJ)Q$k-*LrE}DQbkikP(@Awa0(A#p#^XX4YT1NyeMbeCx8F| delta 106 zcmV-w0G0p0kpZ2N0SZJ@L{yzf0005ou?hzn3W>e~UsFO~TY^ZF8yQ{!D3f{_AOZjb zlc5Vr7B`bzF9csxLSIlrNia}SMN>miQd0qwF&Y~Np#^XX O4PcY892K)+8nzxcZ5_`5 delta 76 zcmV-S0JHzOa+h)nL{mgm7dZd`0okz%2N?-ZK3`KpUt5AmlNuRb0VtDs86W}x1CyW` iC<0A0lgb%321o`&Q&d5dj2bQi0AQ0%8XL228p|FuVHG<7 diff --git a/tests/data/acpi/x86/q35/DSDT.xapic b/tests/data/acpi/x86/q35/D= SDT.xapic index d4acd851c62c956436a436f9fa6d08fc5f370fa7..9059812b5892ba7ac5c9bd312fd= 9f45a4f59f105 100644 GIT binary patch delta 135 zcmV;20C@j~mjbAl0t!S^L{zAY0003mu?hzn3WVC<2V*v&I?A4F*LBLsL{ik|-`Y0AQdulUy$ZUsFO~P(w*DP*O!xLr_vv p0iYU_TrUJ)Q$k-*LrE}DQbkikP(@Awa0(A#p#^XX4YT1VrDL5sC_MlG delta 107 zcmV-x0F?izmjZ^D0t!S^L{x^00005)u?hzn3WDthUsFO~TY^ZF8yQ{!D3f{_AOZjb zlc5U(rDNy6AIJaz diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index 512d40665d..dfb8523c8b 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,42 +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-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", --=20 2.34.1 From nobody Sat Nov 23 20:37:05 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=nongnu.org ARC-Seal: i=1; a=rsa-sha256; t=1730629666; cv=none; d=zohomail.com; s=zohoarc; b=i6ccAul+2SGhUfqbllx87eoINyi5ncaWtNQ8CwYrLH6XyyOLgFlBJLLcdCgJQU2Ag9mqLGmDNANDcArh7nkqt3Y4ciWU9P1Qfkkedz93WjgAVH8E5XimkT1+7YJeMQjjX84BizTjP7wd0GQJGaxzhEIrCYsguZxjOaUSfJ3WQJ4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1730629666; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:References:Sender:Subject:Subject:To:To:Message-Id; bh=YSQjjkVI9ZniQcQkLTdjxggiq++FOl0ayT63s34Pb7U=; b=KwRqO/V+cG9PwsO1ggg83lc4ZqNOLHVOILn9THQeMDA1y39TYYGncQfM3Vd9nlWw6IyZhn9C6phVkEcd2PZSWoLdq+KwwoZc+CruUP6vTYdXOonXvXb9KoXM53rxV1CyU/amFkOZ1j6i7bXnsheBdNR70+YNHQpOR331wgrS9yU= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1730629666004663.4902749019448; Sun, 3 Nov 2024 02:27:46 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1t7Xp9-0007vJ-00; Sun, 03 Nov 2024 05:27:11 -0500 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 1t7Xp4-0007hr-Ba; Sun, 03 Nov 2024 05:27:08 -0500 Received: from frasgout.his.huawei.com ([185.176.79.56]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t7Xp2-0005tE-Kx; Sun, 03 Nov 2024 05:27:06 -0500 Received: from mail.maildlp.com (unknown [172.18.186.216]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4Xh9gs2XXVz6K5vy; Sun, 3 Nov 2024 18:24:25 +0800 (CST) Received: from frapeml500007.china.huawei.com (unknown [7.182.85.172]) by mail.maildlp.com (Postfix) with ESMTPS id A5E32140B67; Sun, 3 Nov 2024 18:27:02 +0800 (CST) Received: from 00293818-MRGF.huawei.com (10.48.154.43) by frapeml500007.china.huawei.com (7.182.85.172) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Sun, 3 Nov 2024 11:26:43 +0100 To: , , CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Subject: [PATCH V3 5/5] hw/acpi: Update GED with vCPU Hotplug VMSD for migration Date: Sun, 3 Nov 2024 10:24:19 +0000 Message-ID: <20241103102419.202225-6-salil.mehta@huawei.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20241103102419.202225-1-salil.mehta@huawei.com> References: <20241103102419.202225-1-salil.mehta@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Originating-IP: [10.48.154.43] X-ClientProxiedBy: dggems702-chm.china.huawei.com (10.3.19.179) To frapeml500007.china.huawei.com (7.182.85.172) Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=185.176.79.56; envelope-from=salil.mehta@huawei.com; helo=frasgout.his.huawei.com 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, RCVD_IN_MSPIKE_H2=-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: Salil Mehta From: Salil Mehta via Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZM-MESSAGEID: 1730629667528116600 Content-Type: text/plain; charset="utf-8" The ACPI CPU hotplug states must be migrated along with other vCPU hotplug states to the destination VM. Update the GED's VM State Description (VMSD) table subsection to conditionally include the CPU Hotplug VM State Description (VMSD). Excerpt of GED VMSD State Dump at Source: "acpi-ged (16)": { "ged_state": { "sel": "0x00000000" }, [...] "acpi-ged/cpuhp": { "cpuhp_state": { "selector": "0x00000005", "command": "0x00", "devs": [ { "is_inserting": false, "is_removing": false, "ost_event": "0x00000000", "ost_status": "0x00000000" }, [...] { "is_inserting": false, "is_removing": false, "ost_event": "0x00000000", "ost_status": "0x00000000" } ] } } }, Signed-off-by: Salil Mehta Tested-by: Miguel Luis --- hw/acpi/generic_event_device.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/hw/acpi/generic_event_device.c b/hw/acpi/generic_event_device.c index d00f5a6c1c..663d9cb093 100644 --- a/hw/acpi/generic_event_device.c +++ b/hw/acpi/generic_event_device.c @@ -331,6 +331,24 @@ static const VMStateDescription vmstate_memhp_state = =3D { } }; =20 +static bool cpuhp_needed(void *opaque) +{ + MachineClass *mc =3D MACHINE_GET_CLASS(qdev_get_machine()); + + return mc->has_hotpluggable_cpus; +} + +static const VMStateDescription vmstate_cpuhp_state =3D { + .name =3D "acpi-ged/cpuhp", + .version_id =3D 1, + .minimum_version_id =3D 1, + .needed =3D cpuhp_needed, + .fields =3D (VMStateField[]) { + VMSTATE_CPU_HOTPLUG(cpuhp_state, AcpiGedState), + VMSTATE_END_OF_LIST() + } +}; + static const VMStateDescription vmstate_ged_state =3D { .name =3D "acpi-ged-state", .version_id =3D 1, @@ -379,6 +397,7 @@ static const VMStateDescription vmstate_acpi_ged =3D { }, .subsections =3D (const VMStateDescription * const []) { &vmstate_memhp_state, + &vmstate_cpuhp_state, &vmstate_ghes_state, NULL } --=20 2.34.1