From nobody Sat Nov 15 12:45:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1595254656; cv=none; d=zohomail.com; s=zohoarc; b=HBK1c5d887uL+rL6fvfCIXw0/u7M274QQ1M5B5k58xOBrW/FSwuhpcPEHkwu4DUGPliEUA1T/dUYp4QCvAxMw+t7V7FVDhqIeoF2NppFhv0yFdFf94CGGkLtTqoWMk87L65jI67T2VhMpzcGjLevmeBaKmQOUk6ydUhv8kQIpxw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1595254656; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Z8ZPg0nYO+Sj177xvfTvuz/fKvcIMrndnYLifbp4Xqk=; b=Pg8W0NJgTddrhKAcdHcptP5qU+I4IBsp3DUpj63ZCmIxD+MBhZCkiHHBSwuKmQfdQ7BlSurSUYDMsc7krDsK7zLUY4Cdx0enNkkeBWD6Aqv/lzgNCCQjGFanPTf2DtpvnqXJJwyQBwdb88zs+/b8bRCR/wgWFUoO2CT+JO+l+t0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1595254656327407.1532365151211; Mon, 20 Jul 2020 07:17:36 -0700 (PDT) Received: from localhost ([::1]:43198 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jxWbn-0002ig-01 for importer@patchew.org; Mon, 20 Jul 2020 10:17:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57122) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jxWah-00015G-Uy for qemu-devel@nongnu.org; Mon, 20 Jul 2020 10:16:28 -0400 Received: from us-smtp-2.mimecast.com ([205.139.110.61]:59991 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jxWaf-0002lx-Fl for qemu-devel@nongnu.org; Mon, 20 Jul 2020 10:16:27 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-154-JzTrSkiLOKq8JBVURoN6qw-1; Mon, 20 Jul 2020 10:16:20 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 3E4D3107BF1A; Mon, 20 Jul 2020 14:16:14 +0000 (UTC) Received: from dell-r430-03.lab.eng.brq.redhat.com (dell-r430-03.lab.eng.brq.redhat.com [10.37.153.18]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5D13C19C71; Mon, 20 Jul 2020 14:16:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1595254584; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Z8ZPg0nYO+Sj177xvfTvuz/fKvcIMrndnYLifbp4Xqk=; b=Auw/Lhj1m/niALYNpFqlQtfTwu+LjdjUM1nhObCrNZi8qpy7WR06E6T2a9OunOTE/PcG2m rx4jQ737YIiHNIFzIq0MlMFBpvQrrWo8IT9+ZHLiMf1U3B5cRqGT1C/l//JYYWc7SyeZKR 0AiK60cuzLg3mhyBbahQQdePJ5MLeVI= X-MC-Unique: JzTrSkiLOKq8JBVURoN6qw-1 From: Igor Mammedov To: qemu-devel@nongnu.org Subject: [PATCH 1/6] x86: lpc9: let firmware negotiate 'CPU hotplug with SMI' features Date: Mon, 20 Jul 2020 10:16:05 -0400 Message-Id: <20200720141610.574308-2-imammedo@redhat.com> In-Reply-To: <20200720141610.574308-1-imammedo@redhat.com> References: <20200720141610.574308-1-imammedo@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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=205.139.110.61; envelope-from=imammedo@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/07/20 02:16:39 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -40 X-Spam_score: -4.1 X-Spam_bar: ---- X-Spam_report: (-4.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-1, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: boris.ostrovsky@oracle.com, lersek@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" It will allow firmware to notify QEMU that firmware requires SMI being triggered on CPU hot[un]plug, so that it would be able to account for hotplugged CPU and relocate it to new SMM base and/or safely remove CPU on unplug. Using negotiated features, follow up patches will insert SMI upcall into AML code, to make sure that firmware processes hotplug before guest OS would attempt to use new CPU. Signed-off-by: Igor Mammedov Reviewed-by: Laszlo Ersek --- include/hw/i386/ich9.h | 2 ++ hw/i386/pc.c | 5 ++++- hw/isa/lpc_ich9.c | 12 ++++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/include/hw/i386/ich9.h b/include/hw/i386/ich9.h index a98d10b252..d1bb3f7bf0 100644 --- a/include/hw/i386/ich9.h +++ b/include/hw/i386/ich9.h @@ -247,5 +247,7 @@ typedef struct ICH9LPCState { =20 /* bit positions used in fw_cfg SMI feature negotiation */ #define ICH9_LPC_SMI_F_BROADCAST_BIT 0 +#define ICH9_LPC_SMI_F_CPU_HOTPLUG_BIT 1 +#define ICH9_LPC_SMI_F_CPU_HOT_UNPLUG_BIT 2 =20 #endif /* HW_ICH9_H */ diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 3d419d5991..57d50fad6b 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -97,7 +97,10 @@ #include "fw_cfg.h" #include "trace.h" =20 -GlobalProperty pc_compat_5_0[] =3D {}; +GlobalProperty pc_compat_5_0[] =3D { + { "ICH9-LPC", "x-smi-cpu-hotplug", "off" }, + { "ICH9-LPC", "x-smi-cpu-hotunplug", "off" }, +}; const size_t pc_compat_5_0_len =3D G_N_ELEMENTS(pc_compat_5_0); =20 GlobalProperty pc_compat_4_2[] =3D { diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c index cd6e169d47..c9305080b5 100644 --- a/hw/isa/lpc_ich9.c +++ b/hw/isa/lpc_ich9.c @@ -373,6 +373,14 @@ static void smi_features_ok_callback(void *opaque) /* guest requests invalid features, leave @features_ok at zero */ return; } + if (!(guest_features & BIT_ULL(ICH9_LPC_SMI_F_BROADCAST_BIT)) && + guest_features & (BIT_ULL(ICH9_LPC_SMI_F_CPU_HOTPLUG_BIT) | + BIT_ULL(ICH9_LPC_SMI_F_CPU_HOT_UNPLUG_BIT))) { + /* cpu hot-[un]plug with SMI requires SMI broadcast, + * leave @features_ok at zero + */ + return; + } =20 /* valid feature subset requested, lock it down, report success */ lpc->smi_negotiated_features =3D guest_features; @@ -747,6 +755,10 @@ static Property ich9_lpc_properties[] =3D { DEFINE_PROP_BOOL("noreboot", ICH9LPCState, pin_strap.spkr_hi, true), DEFINE_PROP_BIT64("x-smi-broadcast", ICH9LPCState, smi_host_features, ICH9_LPC_SMI_F_BROADCAST_BIT, true), + DEFINE_PROP_BIT64("x-smi-cpu-hotplug", ICH9LPCState, smi_host_features, + ICH9_LPC_SMI_F_CPU_HOTPLUG_BIT, true), + DEFINE_PROP_BIT64("x-smi-cpu-hotunplug", ICH9LPCState, smi_host_featur= es, + ICH9_LPC_SMI_F_CPU_HOT_UNPLUG_BIT, true), DEFINE_PROP_END_OF_LIST(), }; =20 --=20 2.26.2 From nobody Sat Nov 15 12:45:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1595254964; cv=none; d=zohomail.com; s=zohoarc; b=QIOQeQubV//5E5ktq/OgZPp4QOq9VoMkggE3FvmUPcndZ+H3l8IOwJCloAhs+yufDA1B6Ms38sbM//pwgWRr5XaDVZ50YW9oPbJxwTN0NcZEkAV8GeYhMORYqlmHJQORZeCvx2HZ5uMzw6+6jywjumdNe9tpbuJMfSdNy3j8njo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1595254964; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=isjC1vjnx8emGYZomHQZQWVaCiTzkslR29w+3//0k1M=; b=Zd2H/wMyTMAr0EzjaDZLy+ybozeehQ2DOXCokYFKEXu8lL40H25KgwyaLD8S5xb/IsSPKX0gcwClqZnMQVSNTb5AihFloyCQkeko4xYoAn8bl9UHi503gqnouL8Zf9U1VxeFfwwBxzVKS3DLoZwY3JQoEr1wkUoPy6MMcxzSf8c= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1595254964916726.3991614963754; Mon, 20 Jul 2020 07:22:44 -0700 (PDT) Received: from localhost ([::1]:34048 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jxWgl-0002Gs-9B for importer@patchew.org; Mon, 20 Jul 2020 10:22:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57164) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jxWal-00019H-Ks for qemu-devel@nongnu.org; Mon, 20 Jul 2020 10:16:31 -0400 Received: from us-smtp-1.mimecast.com ([207.211.31.81]:34648 helo=us-smtp-delivery-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jxWai-0002mh-MM for qemu-devel@nongnu.org; Mon, 20 Jul 2020 10:16:31 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-125-ap4y5G4fNPOHrfjoHlCdkg-1; Mon, 20 Jul 2020 10:16:23 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5A43B72D60; Mon, 20 Jul 2020 14:16:15 +0000 (UTC) Received: from dell-r430-03.lab.eng.brq.redhat.com (dell-r430-03.lab.eng.brq.redhat.com [10.37.153.18]) by smtp.corp.redhat.com (Postfix) with ESMTP id 8327B2B6E2; Mon, 20 Jul 2020 14:16:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1595254588; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=isjC1vjnx8emGYZomHQZQWVaCiTzkslR29w+3//0k1M=; b=SCjJ0qTyuEt67tnBtNewmecxQE7Yh73t23To9aXpEtyxssmqtsAmzOP426s/q5x+B7gOWb VehPwwrYF6GyKPxXQztCz18lBgaKK/PVuKqOwwsHDZsErTFO7dzL2yHobFo3WxtvaXpLeL 5l6Qeq0B4MNjW3vX6+NYDUnEiS9hOZU= X-MC-Unique: ap4y5G4fNPOHrfjoHlCdkg-1 From: Igor Mammedov To: qemu-devel@nongnu.org Subject: [PATCH 2/6] x86: cphp: prevent guest crash on CPU hotplug when broadcast SMI is in use Date: Mon, 20 Jul 2020 10:16:06 -0400 Message-Id: <20200720141610.574308-3-imammedo@redhat.com> In-Reply-To: <20200720141610.574308-1-imammedo@redhat.com> References: <20200720141610.574308-1-imammedo@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=imammedo@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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=207.211.31.81; envelope-from=imammedo@redhat.com; helo=us-smtp-delivery-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/07/19 21:45:06 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: boris.ostrovsky@oracle.com, lersek@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" There were reports of guest crash on CPU hotplug, when using q35 machine type and OVMF with SMM, due to hotplugged CPU trying to process SMI at default SMI handler location without it being relocated by firmware first. Fix it by refusing hotplug if firmware hasn't negotiated CPU hotplug with SMI support while SMI broadcast is in use. Signed-off-by: Igor Mammedov Reviewed-by: Laszlo Ersek Tested-by: Laszlo Ersek --- v1: fix typos an use suggested wording in commit and error msg s/secure boot/smm/; s/hotplug SMI/hotplug with SMI/ (Laszlo Ersek ) --- hw/acpi/ich9.c | 12 +++++++++++- hw/i386/pc.c | 11 +++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c index 6a19070cec..0acc9a3107 100644 --- a/hw/acpi/ich9.c +++ b/hw/acpi/ich9.c @@ -408,10 +408,20 @@ void ich9_pm_device_pre_plug_cb(HotplugHandler *hotpl= ug_dev, DeviceState *dev, ICH9LPCState *lpc =3D ICH9_LPC_DEVICE(hotplug_dev); =20 if (object_dynamic_cast(OBJECT(dev), TYPE_PC_DIMM) && - !lpc->pm.acpi_memory_hotplug.is_enabled) + !lpc->pm.acpi_memory_hotplug.is_enabled) { error_setg(errp, "memory hotplug is not enabled: %s.memory-hotplug-suppo= rt " "is not set", object_get_typename(OBJECT(lpc))); + } else if (object_dynamic_cast(OBJECT(dev), TYPE_CPU)) { + uint64_t negotiated =3D lpc->smi_negotiated_features; + + if (negotiated & BIT_ULL(ICH9_LPC_SMI_F_BROADCAST_BIT) && + !(negotiated & BIT_ULL(ICH9_LPC_SMI_F_CPU_HOTPLUG_BIT))) { + error_setg(errp, "cpu hotplug with SMI wasn't enabled by firmw= are"); + error_append_hint(errp, "update machine type to newer than 5.1= " + "and firmware that suppors CPU hotplug with SMM"); + } + } } =20 void ich9_pm_device_plug_cb(HotplugHandler *hotplug_dev, DeviceState *dev, diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 57d50fad6b..3f4b7e3d9a 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1497,6 +1497,17 @@ static void pc_cpu_pre_plug(HotplugHandler *hotplug_= dev, return; } =20 + if (pcms->acpi_dev) { + Error *local_err =3D NULL; + + hotplug_handler_pre_plug(HOTPLUG_HANDLER(pcms->acpi_dev), dev, + &local_err); + if (local_err) { + error_propagate(errp, local_err); + return; + } + } + init_topo_info(&topo_info, x86ms); =20 env->nr_dies =3D x86ms->smp_dies; --=20 2.26.2 From nobody Sat Nov 15 12:45:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1595254726; cv=none; d=zohomail.com; s=zohoarc; b=HxZZdMphf0Ll0oyftapSmSqGrDSUFXR8pfRgGqtTj9tGmiAn1zizOXXfEc4T9wx7+CIFX9/BZeSHrk5J8Q3YbD6BWeBOfu1ixeOsYWYgtdDwpNOCMXeKvmg/xWAlbFoftf5G7XbQXupqJHb4ZV1diB705VASA5wiqkOriC8QUWI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1595254726; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=7bNJFBT29B95LO3FLXiU5YcyXTspzQqwbp25IxUclUs=; b=JOeHVg9fjEY2Qlg5flGNoIcZg1LP1JMrYQuaz/F5JiG0NJ8Y5fxwwY0SAazJ1iOvD7B+nXG1XX51vgn2P++y7kRg71pY3P/xBTFD4vwmMmdIa84U0VPH0UXUjgcKwIEPuHvFcLk9AVqSJ3c+BCyjtjZ4BZ752YvpN7JSyvJpKaM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1595254726923485.867122310127; Mon, 20 Jul 2020 07:18:46 -0700 (PDT) Received: from localhost ([::1]:48696 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jxWcv-0004xt-Ir for importer@patchew.org; Mon, 20 Jul 2020 10:18:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57108) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jxWag-00014Y-Nw for qemu-devel@nongnu.org; Mon, 20 Jul 2020 10:16:27 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:38728 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jxWaf-0002lk-34 for qemu-devel@nongnu.org; Mon, 20 Jul 2020 10:16:26 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-184-1z-WW270NfaMqCvRKCdmcA-1; Mon, 20 Jul 2020 10:16:21 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 799621902EBB; Mon, 20 Jul 2020 14:16:16 +0000 (UTC) Received: from dell-r430-03.lab.eng.brq.redhat.com (dell-r430-03.lab.eng.brq.redhat.com [10.37.153.18]) by smtp.corp.redhat.com (Postfix) with ESMTP id A505F2B6E2; Mon, 20 Jul 2020 14:16:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1595254584; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=7bNJFBT29B95LO3FLXiU5YcyXTspzQqwbp25IxUclUs=; b=HZjKvZOEv6iHnMfG6Rlo5hoxu1jMoCsIISsDZnnsBd9fF+pCrOx6C+Ud92wVUtKhm0DKH9 E1c8nGd2xpZWqIgqXjgyDCNLPyfdszKLm0E+VoEmH2GecNBT1Y7lBKBhoXFjlP68pnDV5R QIQSQdIRSnClyDcyroWmPi8nKmW1a7I= X-MC-Unique: 1z-WW270NfaMqCvRKCdmcA-1 From: Igor Mammedov To: qemu-devel@nongnu.org Subject: [PATCH 3/6] x86: cpuhp: refuse cpu hot-unplug request earlier if not supported Date: Mon, 20 Jul 2020 10:16:07 -0400 Message-Id: <20200720141610.574308-4-imammedo@redhat.com> In-Reply-To: <20200720141610.574308-1-imammedo@redhat.com> References: <20200720141610.574308-1-imammedo@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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=205.139.110.120; envelope-from=imammedo@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/07/20 02:11:17 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -40 X-Spam_score: -4.1 X-Spam_bar: ---- X-Spam_report: (-4.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-1, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: boris.ostrovsky@oracle.com, lersek@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" CPU hot-unplug with SMM requires firmware participation to prevent guest crash (i.e. CPU can be removed only after OS _and_ firmware were prepared for th action). Previous patches introduced ICH9_LPC_SMI_F_CPU_HOT_UNPLUG_BIT feature bit, which is advertised by firmware when it has support for CPU hot-unplug. Use it to check if guest is able to handle unplug and make device_del fail gracefully if hot-unplug feature hasn't been negotiated. Signed-off-by: Igor Mammedov Reviewed-by: Laszlo Ersek Tested-by: Laszlo Ersek --- hw/acpi/ich9.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c index 0acc9a3107..98fc363186 100644 --- a/hw/acpi/ich9.c +++ b/hw/acpi/ich9.c @@ -460,6 +460,17 @@ void ich9_pm_device_unplug_request_cb(HotplugHandler *= hotplug_dev, errp); } else if (object_dynamic_cast(OBJECT(dev), TYPE_CPU) && !lpc->pm.cpu_hotplug_legacy) { + uint64_t negotiated =3D lpc->smi_negotiated_features; + + if (negotiated & BIT_ULL(ICH9_LPC_SMI_F_BROADCAST_BIT) && + !(negotiated & BIT_ULL(ICH9_LPC_SMI_F_CPU_HOT_UNPLUG_BIT))) { + error_setg(errp, "cpu hot-unplug with SMI wasn't enabled " + "by firmware"); + error_append_hint(errp, "update machine type to newer than 5.1= " + "and firmware that suppors CPU hot-unplug with SMM"); + return; + } + acpi_cpu_unplug_request_cb(hotplug_dev, &lpc->pm.cpuhp_state, dev, errp); } else { --=20 2.26.2 From nobody Sat Nov 15 12:45:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1595254661; cv=none; d=zohomail.com; s=zohoarc; b=S3gOfB1RMu4JtD18zilYItz+Xd5Fo8pxn8OhvdH9+YiSW5346EIPKgtfejmeAF84UldS4Qy6Q2h5l12H9gKep4hjg8FExYyBvz9OpYUtHXy/AMwfKbkPJv7/8FXlAQQaJsidF4yPuqb/CTSDl+22tptd8Lk+Y+l9EWKblh9/jP8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1595254661; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=CNrqDuxvUYwoxUreKhOkKO2k2Wkz5pO3b0+eW3WCsSk=; b=kTA9amV84Ci43F84Z4jfAc4BdKcat8hhmafMEsNA7M1gzeg7sUzZCRalNYmGH49KTW0odOSZJBgZASmv1ygmrC3yj0bvUejqopo+1Ky71rKDeVUNl3Ob6eurz6nCZVNfCvdkKU7qI/TWJfGwLwDp4kgD2a6F4ywZXY0p9j1CEbc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1595254661651997.4763733856305; Mon, 20 Jul 2020 07:17:41 -0700 (PDT) Received: from localhost ([::1]:43668 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jxWbs-0002tr-9E for importer@patchew.org; Mon, 20 Jul 2020 10:17:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57144) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jxWaj-00015d-4S for qemu-devel@nongnu.org; Mon, 20 Jul 2020 10:16:29 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:46306 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jxWah-0002mN-KC for qemu-devel@nongnu.org; Mon, 20 Jul 2020 10:16:28 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-166-uzmr7LcHM8mdncK3F8VpxA-1; Mon, 20 Jul 2020 10:16:21 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 9998F1902ED1; Mon, 20 Jul 2020 14:16:17 +0000 (UTC) Received: from dell-r430-03.lab.eng.brq.redhat.com (dell-r430-03.lab.eng.brq.redhat.com [10.37.153.18]) by smtp.corp.redhat.com (Postfix) with ESMTP id C43A219C71; Mon, 20 Jul 2020 14:16:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1595254586; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=CNrqDuxvUYwoxUreKhOkKO2k2Wkz5pO3b0+eW3WCsSk=; b=RiX18t1IwYSfrUyObNlrMYvziJARi+tVeITcs28FWffKuAuofIafvQf2KGDTYej/lRFQJO nsrZuv7AVyz0HgpVLw8wpoawBsP8AKS7TXc0XrONJsqQPLPgvvjORFHlOqBZxjCup7doDP y3Az2zPokjXwRf7ZdAnxcMlaAV/c8qQ= X-MC-Unique: uzmr7LcHM8mdncK3F8VpxA-1 From: Igor Mammedov To: qemu-devel@nongnu.org Subject: [PATCH 4/6] tests: acpi: mark to be changed tables in bios-tables-test-allowed-diff Date: Mon, 20 Jul 2020 10:16:08 -0400 Message-Id: <20200720141610.574308-5-imammedo@redhat.com> In-Reply-To: <20200720141610.574308-1-imammedo@redhat.com> References: <20200720141610.574308-1-imammedo@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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=205.139.110.120; envelope-from=imammedo@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/07/20 02:11:17 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -40 X-Spam_score: -4.1 X-Spam_bar: ---- X-Spam_report: (-4.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-1, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: boris.ostrovsky@oracle.com, lersek@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" ... to let tests pass until binary blobs are updated with new AML Signed-off-by: Igor Mammedov --- tests/qtest/bios-tables-test-allowed-diff.h | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index dfb8523c8b..dba32d5613 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,20 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/pc/DSDT", +"tests/data/acpi/q35/DSDT", +"tests/data/acpi/q35/DSDT.tis", +"tests/data/acpi/q35/DSDT.bridge", +"tests/data/acpi/q35/DSDT.mmio64", +"tests/data/acpi/q35/DSDT.ipmibt", +"tests/data/acpi/q35/DSDT.cphp", +"tests/data/acpi/q35/DSDT.memhp", +"tests/data/acpi/q35/DSDT.numamem", +"tests/data/acpi/q35/DSDT.dimmpxm", +"tests/data/acpi/q35/DSDT.acpihmat", +"tests/data/acpi/pc/DSDT.bridge", +"tests/data/acpi/pc/DSDT.ipmikcs", +"tests/data/acpi/pc/DSDT.cphp", +"tests/data/acpi/pc/DSDT.memhp", +"tests/data/acpi/pc/DSDT.numamem", +"tests/data/acpi/pc/DSDT.dimmpxm", +"tests/data/acpi/pc/DSDT.acpihmat", +"tests/data/acpi/pc/DSDT.acpihmat", --=20 2.26.2 From nobody Sat Nov 15 12:45:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1595254843; cv=none; d=zohomail.com; s=zohoarc; b=nyHqoUobttPu2EMD/pWviQTzZ9K76gGwN3shZVv8AB3gWiT0WoKG7YQorgvL8Th7xKmAVb+vD4J0jwnDAee4cSJm63HYpOvJCZs8vf9LiCqA09ayT7cz+TpKgVw3KeXHVnj1pgRvtE7x8PQLkht7ytMx28MgP2swE0ENMQ1y1g0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1595254843; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=d5sHPy4iVj/0TvPc4LstIXIm2D6VzLPdxv0+GAi/xfs=; b=NQMOARejaTv67GpKWZvmKeP2C7EkXxdOwS1WD6UpgsoCy7J9q9pGnkog2GJVX9lri+M+As0GMyFuIPLoSlj/mMkNCYCYaMuFXjhlUFqCAIPwdKGB85bWli0omrTfAZ7QPP+cRvD2u3j8FmrL1eyG4YysmnoWZSfX2rD1vMe3xHc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1595254843887959.677364275625; Mon, 20 Jul 2020 07:20:43 -0700 (PDT) Received: from localhost ([::1]:55690 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jxWeo-0007sD-6B for importer@patchew.org; Mon, 20 Jul 2020 10:20:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57138) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jxWai-00015c-Sp for qemu-devel@nongnu.org; Mon, 20 Jul 2020 10:16:29 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:20161 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jxWaf-0002lv-Fn for qemu-devel@nongnu.org; Mon, 20 Jul 2020 10:16:28 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-301-2VVBpToaP_iP_OyPsOGpAw-1; Mon, 20 Jul 2020 10:16:22 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B875972D8B; Mon, 20 Jul 2020 14:16:18 +0000 (UTC) Received: from dell-r430-03.lab.eng.brq.redhat.com (dell-r430-03.lab.eng.brq.redhat.com [10.37.153.18]) by smtp.corp.redhat.com (Postfix) with ESMTP id E40B619C71; Mon, 20 Jul 2020 14:16:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1595254584; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=d5sHPy4iVj/0TvPc4LstIXIm2D6VzLPdxv0+GAi/xfs=; b=PT6dAR8vU491mm2iaojsJBBnpGFJ/csYBBZywKYMYWtl2j7Oeu55o6COpdhQNmrRhelxpW LqOr/vefJYJgj5lA4E/8e8+fiA+tYACVl50peFga5QAZmlPO3eKMdq3YBQkilizo7tmdJv QXNDlnkBdpdI9gYC6ymDgntFjlTfMTg= X-MC-Unique: 2VVBpToaP_iP_OyPsOGpAw-1 From: Igor Mammedov To: qemu-devel@nongnu.org Subject: [PATCH 5/6] x68: acpi: trigger SMI before scanning for hotplugged CPUs Date: Mon, 20 Jul 2020 10:16:09 -0400 Message-Id: <20200720141610.574308-6-imammedo@redhat.com> In-Reply-To: <20200720141610.574308-1-imammedo@redhat.com> References: <20200720141610.574308-1-imammedo@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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=207.211.31.120; envelope-from=imammedo@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/07/20 03:17:01 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: boris.ostrovsky@oracle.com, lersek@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" In case firmware has negotiated CPU hotplug SMI feature, generate AML to describe SMI IO port region and send SMI to firmware on each CPU hotplug SCI in case new CPUs were htplugged. Since new CPUs can be hotplugged while CPU_SCAN_METHOD is running we can't send SMI before new CPUs are fetched from QEMU as it could cause sending Notify to a CPU that firmware hasn't seen yet. So fetch new CPUs into local cache first and then send SMI and after that sends Notify events to cached CPUs. This should ensure that Notify is sent only to CPUs which were processed by firmware first. Any CPUs that were hotplugged after caching will be process by the next CPU_SCAN_METHOD, when pending SCI is handled. Signed-off-by: Igor Mammedov --- v1: - make sure that Notify is sent only to CPUs seen by FW - (Laszlo Ersek ) - use macro instead of x-smi-negotiated-features - style fixes - reserve whole SMI block (0xB2, 0xB3) v0: - s/aml_string/aml_eisaid/ /fixes Windows BSOD, on nonsense value/ (Laszlo Ersek ) - put SMI device under PCI0 like the rest of hotplug IO port - do not generate SMI AML if CPU hotplug SMI feature hasn't been negotiated Signed-off-by: Igor Mammedov --- include/hw/acpi/cpu.h | 1 + include/hw/i386/ich9.h | 2 ++ hw/acpi/cpu.c | 50 ++++++++++++++++++++++++++++++++++++++++-- hw/i386/acpi-build.c | 35 ++++++++++++++++++++++++++++- hw/isa/lpc_ich9.c | 3 +++ 5 files changed, 88 insertions(+), 3 deletions(-) diff --git a/include/hw/acpi/cpu.h b/include/hw/acpi/cpu.h index 62f0278ba2..0eeedaa491 100644 --- a/include/hw/acpi/cpu.h +++ b/include/hw/acpi/cpu.h @@ -50,6 +50,7 @@ void cpu_hotplug_hw_init(MemoryRegion *as, Object *owner, typedef struct CPUHotplugFeatures { bool acpi_1_compatible; bool has_legacy_cphp; + const char *smi_path; } CPUHotplugFeatures; =20 void build_cpus_aml(Aml *table, MachineState *machine, CPUHotplugFeatures = opts, diff --git a/include/hw/i386/ich9.h b/include/hw/i386/ich9.h index d1bb3f7bf0..0f43ef2481 100644 --- a/include/hw/i386/ich9.h +++ b/include/hw/i386/ich9.h @@ -245,6 +245,8 @@ typedef struct ICH9LPCState { #define ICH9_SMB_HST_D1 0x06 #define ICH9_SMB_HOST_BLOCK_DB 0x07 =20 +#define ICH9_LPC_SMI_NEGOTIATED_FEAT_PROP "x-smi-negotiated-features" + /* bit positions used in fw_cfg SMI feature negotiation */ #define ICH9_LPC_SMI_F_BROADCAST_BIT 0 #define ICH9_LPC_SMI_F_CPU_HOTPLUG_BIT 1 diff --git a/hw/acpi/cpu.c b/hw/acpi/cpu.c index 3d6a500fb7..a6dd6e252a 100644 --- a/hw/acpi/cpu.c +++ b/hw/acpi/cpu.c @@ -14,6 +14,8 @@ #define ACPI_CPU_CMD_DATA_OFFSET_RW 8 #define ACPI_CPU_CMD_DATA2_OFFSET_R 0 =20 +#define OVMF_CPUHP_SMI_CMD 4 + enum { CPHP_GET_NEXT_CPU_WITH_EVENT_CMD =3D 0, CPHP_OST_EVENT_CMD =3D 1, @@ -321,6 +323,7 @@ const VMStateDescription vmstate_cpu_hotplug =3D { #define CPU_NOTIFY_METHOD "CTFY" #define CPU_EJECT_METHOD "CEJ0" #define CPU_OST_METHOD "COST" +#define CPU_ADDED_LIST "CNEW" =20 #define CPU_ENABLED "CPEN" #define CPU_SELECTOR "CSEL" @@ -471,8 +474,27 @@ void build_cpus_aml(Aml *table, MachineState *machine,= CPUHotplugFeatures opts, Aml *dev_chk =3D aml_int(1); Aml *eject_req =3D aml_int(3); Aml *next_cpu_cmd =3D aml_int(CPHP_GET_NEXT_CPU_WITH_EVENT_CMD= ); + Aml *num_added_cpus =3D aml_local(1); + Aml *cpu_idx =3D aml_local(2); + Aml *new_cpus =3D aml_name(CPU_ADDED_LIST); =20 aml_append(method, aml_acquire(ctrl_lock, 0xFFFF)); + + /* use named package as old Windows don't support it in local = var */ + if (arch_ids->len <=3D 256) { + /* For compatibility with Windows Server 2008 (max 256 cpu= s), + * use ACPI1.0 PackageOp which can cache max 255 elements. + * Which is fine for 256 CPUs VM. Max 255 can be hotplugge= d, + * sice at least one CPU must be already present. + */ + aml_append(method, aml_name_decl(CPU_ADDED_LIST, + aml_package(arch_ids->len))); + } else { + aml_append(method, aml_name_decl(CPU_ADDED_LIST, + aml_varpackage(arch_ids->len))); + } + + aml_append(method, aml_store(zero, num_added_cpus)); aml_append(method, aml_store(one, has_event)); while_ctx =3D aml_while(aml_equal(has_event, one)); { @@ -483,8 +505,10 @@ void build_cpus_aml(Aml *table, MachineState *machine,= CPUHotplugFeatures opts, aml_append(while_ctx, aml_store(next_cpu_cmd, cpu_cmd)); ifctx =3D aml_if(aml_equal(ins_evt, one)); { - aml_append(ifctx, - aml_call2(CPU_NOTIFY_METHOD, cpu_data, dev_chk)); + /* cache added CPUs to Notify/Wakeup later */ + aml_append(ifctx, aml_store(cpu_data, + aml_index(new_cpus, num_added_cpus))); + aml_append(ifctx, aml_increment(num_added_cpus)); aml_append(ifctx, aml_store(one, ins_evt)); aml_append(ifctx, aml_store(one, has_event)); } @@ -501,6 +525,28 @@ void build_cpus_aml(Aml *table, MachineState *machine,= CPUHotplugFeatures opts, aml_append(while_ctx, else_ctx); } aml_append(method, while_ctx); + + /* in case FW negotiated ICH9_LPC_SMI_F_CPU_HOTPLUG_BIT, + * make upcall to FW, so it can pull in new CPUs before + * OS is notified and wakes them up */ + if (opts.smi_path) { + ifctx =3D aml_if(aml_lnot(aml_equal(num_added_cpus, zero))= ); + { + aml_append(ifctx, aml_store(aml_int(OVMF_CPUHP_SMI_CMD= ), + aml_name("%s", opts.smi_path))); + } + aml_append(method, ifctx); + } + + aml_append(method, aml_store(zero, cpu_idx)); + while_ctx =3D aml_while(aml_lless(cpu_idx, num_added_cpus)); + { + aml_append(while_ctx, aml_call2(CPU_NOTIFY_METHOD, + aml_derefof(aml_index(new_cpus, cpu_idx)), dev_chk)); + aml_append(while_ctx, aml_increment(cpu_idx)); + } + aml_append(method, while_ctx); + aml_append(method, aml_release(ctrl_lock)); } aml_append(cpus_dev, method); diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index b7bcbbbb2a..2291c050ba 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -95,6 +95,7 @@ typedef struct AcpiPmInfo { bool s3_disabled; bool s4_disabled; bool pcihp_bridge_en; + bool smi_on_cpuhp; uint8_t s4_val; AcpiFadtData fadt; uint16_t cpu_hp_io_base; @@ -194,6 +195,7 @@ static void acpi_get_pm_info(MachineState *machine, Acp= iPmInfo *pm) pm->cpu_hp_io_base =3D 0; pm->pcihp_io_base =3D 0; pm->pcihp_io_len =3D 0; + pm->smi_on_cpuhp =3D false; =20 assert(obj); init_common_fadt_data(machine, obj, &pm->fadt); @@ -207,12 +209,16 @@ static void acpi_get_pm_info(MachineState *machine, A= cpiPmInfo *pm) object_property_get_uint(obj, ACPI_PCIHP_IO_LEN_PROP, NULL); } if (lpc) { + uint64_t smi_features =3D object_property_get_uint(lpc, + ICH9_LPC_SMI_NEGOTIATED_FEAT_PROP, NULL); struct AcpiGenericAddress r =3D { .space_id =3D AML_AS_SYSTEM_IO, .bit_width =3D 8, .address =3D ICH9_RST_CNT_IOPORT }; pm->fadt.reset_reg =3D r; pm->fadt.reset_val =3D 0xf; pm->fadt.flags |=3D 1 << ACPI_FADT_F_RESET_REG_SUP; pm->cpu_hp_io_base =3D ICH9_CPU_HOTPLUG_IO_BASE; + pm->smi_on_cpuhp =3D + !!(smi_features & BIT_ULL(ICH9_LPC_SMI_F_CPU_HOTPLUG_BIT)); } =20 /* The above need not be conditional on machine type because the reset= port @@ -1515,6 +1521,32 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, aml_append(dev, aml_name_decl("_UID", aml_int(1))); aml_append(dev, build_q35_osc_method()); aml_append(sb_scope, dev); + + if (pm->smi_on_cpuhp) { + /* reserve SMI block resources, IO ports 0xB2, 0xB3 */ + dev =3D aml_device("PCI0.SMI0"); + aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0A06"))); + aml_append(dev, aml_name_decl("_UID", aml_string("SMI resource= s"))); + crs =3D aml_resource_template(); + aml_append(crs, + aml_io( + AML_DECODE16, + ACPI_PORT_SMI_CMD, + ACPI_PORT_SMI_CMD, + 1, + 2) + ); + aml_append(dev, aml_name_decl("_CRS", crs)); + aml_append(dev, aml_operation_region("SMIR", AML_SYSTEM_IO, + aml_int(ACPI_PORT_SMI_CMD), 2)); + field =3D aml_field("SMIR", AML_BYTE_ACC, AML_NOLOCK, + AML_WRITE_AS_ZEROS); + aml_append(field, aml_named_field("SMIC", 8)); + aml_append(field, aml_reserved_field(8)); + aml_append(dev, field); + aml_append(sb_scope, dev); + } + aml_append(dsdt, sb_scope); =20 build_hpet_aml(dsdt); @@ -1530,7 +1562,8 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, build_legacy_cpu_hotplug_aml(dsdt, machine, pm->cpu_hp_io_base); } else { CPUHotplugFeatures opts =3D { - .acpi_1_compatible =3D true, .has_legacy_cphp =3D true + .acpi_1_compatible =3D true, .has_legacy_cphp =3D true, + .smi_path =3D pm->smi_on_cpuhp ? "\\_SB.PCI0.SMI0.SMIC" : NULL, }; build_cpus_aml(dsdt, machine, opts, pm->cpu_hp_io_base, "\\_SB.PCI0", "\\_GPE._E02"); diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c index c9305080b5..70afc2c5f2 100644 --- a/hw/isa/lpc_ich9.c +++ b/hw/isa/lpc_ich9.c @@ -646,6 +646,9 @@ static void ich9_lpc_initfn(Object *obj) &acpi_enable_cmd, OBJ_PROP_FLAG_READ); object_property_add_uint8_ptr(OBJECT(lpc), ACPI_PM_PROP_ACPI_DISABLE_C= MD, &acpi_disable_cmd, OBJ_PROP_FLAG_READ); + object_property_add_uint64_ptr(obj, ICH9_LPC_SMI_NEGOTIATED_FEAT_PROP, + &lpc->smi_negotiated_features, + OBJ_PROP_FLAG_READ); =20 ich9_pm_add_properties(obj, &lpc->pm); } --=20 2.26.2 From nobody Sat Nov 15 12:45:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; 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=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1595254895; cv=none; d=zohomail.com; s=zohoarc; b=QRW89Lb/xPSfxUWpvkQpv0CCzVQ6zLvsnQwa6bOpAfiAZTq6hrNJiSDRbif56schQDH/nmtmMFZhfz2Z2VV4Qe4rpUBWVkGdAg4ZeTjsyTS/zDQcbCDgQhhHI31r33uqGgONMxAQO+PgetBuwrqt4UiIrCaUKURxj/lx0fXs2A0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1595254895; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=icDIqx42j8IEYUfMqJMiQ3IsVGTwwWcE02balHDuFRA=; b=hvrzFbn0Mr+K37IRaHOr997dvyU1ZS+fmnD5DOau2QlwalMWRUugBktbAUiYjsANahR3cz9+4uv9BQ9/W+UJR9C2cDRdcpQfD4zJ8KDxI6tc/P31FMQ1vqyUXEeEMmWXb2aooKD/QigB28KTxt/kvX7LmdorHj/I2ppKI6m+k4I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; 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=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1595254895339328.83584011907556; Mon, 20 Jul 2020 07:21:35 -0700 (PDT) Received: from localhost ([::1]:57824 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jxWfd-0000PM-0W for importer@patchew.org; Mon, 20 Jul 2020 10:21:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:57156) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jxWak-00016A-98 for qemu-devel@nongnu.org; Mon, 20 Jul 2020 10:16:30 -0400 Received: from us-smtp-delivery-1.mimecast.com ([205.139.110.120]:33751 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jxWah-0002mI-KK for qemu-devel@nongnu.org; Mon, 20 Jul 2020 10:16:29 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-32-PF_e2C1qOgaTv_P2HR7cAw-1; Mon, 20 Jul 2020 10:16:23 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id DA4A3800478; Mon, 20 Jul 2020 14:16:19 +0000 (UTC) Received: from dell-r430-03.lab.eng.brq.redhat.com (dell-r430-03.lab.eng.brq.redhat.com [10.37.153.18]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0F64F19C71; Mon, 20 Jul 2020 14:16:18 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1595254585; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=icDIqx42j8IEYUfMqJMiQ3IsVGTwwWcE02balHDuFRA=; b=FpPf4LQDbRr0MgA+Lh6B4rqPjPDDU1R4Byq6DJ75WbS613iN/nUlOoizySz7VtzpilIvW6 1VeeRJStvthKGHZePM4Sqs+Lu25cMld64xfMkQh7ShOH64iFVwZsjq4ctvmV++bqXvjKgy FaCJEE+oyJ1e0uhuSK9l3n2Mm7lRskQ= X-MC-Unique: PF_e2C1qOgaTv_P2HR7cAw-1 From: Igor Mammedov To: qemu-devel@nongnu.org Subject: [PATCH 6/6] tests: acpi: update acpi blobs with new AML Date: Mon, 20 Jul 2020 10:16:10 -0400 Message-Id: <20200720141610.574308-7-imammedo@redhat.com> In-Reply-To: <20200720141610.574308-1-imammedo@redhat.com> References: <20200720141610.574308-1-imammedo@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=imammedo@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable 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=205.139.110.120; envelope-from=imammedo@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/07/20 02:11:17 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -40 X-Spam_score: -4.1 X-Spam_bar: ---- X-Spam_report: (-4.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-1, 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.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: boris.ostrovsky@oracle.com, lersek@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Update CPU hotplug AML with following changes @@ -2917,6 +2917,8 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT",= 0x00000001) Method (CSCN, 0, Serialized) { Acquire (\_SB.PCI0.PRES.CPLK, 0xFFFF) + Name (CNEW, Package (0x01){}) + Local1 =3D Zero Local0 =3D One While ((Local0 =3D=3D One)) { @@ -2924,7 +2926,8 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT",= 0x00000001) \_SB.PCI0.PRES.CCMD =3D Zero If ((\_SB.PCI0.PRES.CINS =3D=3D One)) { - CTFY (\_SB.PCI0.PRES.CDAT, One) + CNEW [Local1] =3D \_SB.PCI0.PRES.CDAT + Local1++ \_SB.PCI0.PRES.CINS =3D One Local0 =3D One } @@ -2936,6 +2939,13 @@ DefinitionBlock ("", "DSDT", 1, "BOCHS ", "BXPCDSDT"= , 0x00000001) } } + Local2 =3D Zero + While ((Local2 < Local1)) + { + CTFY (DerefOf (CNEW [Local2]), One) + Local2++ + } + Release (\_SB.PCI0.PRES.CPLK) } Signed-off-by: Igor Mammedov --- tests/qtest/bios-tables-test-allowed-diff.h | 19 ------------------- tests/data/acpi/pc/DSDT | Bin 4934 -> 4973 bytes tests/data/acpi/pc/DSDT.acpihmat | Bin 6258 -> 6297 bytes tests/data/acpi/pc/DSDT.bridge | Bin 6793 -> 6832 bytes tests/data/acpi/pc/DSDT.cphp | Bin 5397 -> 5436 bytes tests/data/acpi/pc/DSDT.dimmpxm | Bin 6587 -> 6626 bytes tests/data/acpi/pc/DSDT.ipmikcs | Bin 5006 -> 5045 bytes tests/data/acpi/pc/DSDT.memhp | Bin 6293 -> 6332 bytes tests/data/acpi/pc/DSDT.numamem | Bin 4940 -> 4979 bytes tests/data/acpi/q35/DSDT | Bin 7678 -> 7717 bytes tests/data/acpi/q35/DSDT.acpihmat | Bin 9002 -> 9041 bytes tests/data/acpi/q35/DSDT.bridge | Bin 7695 -> 7734 bytes tests/data/acpi/q35/DSDT.cphp | Bin 8141 -> 8180 bytes tests/data/acpi/q35/DSDT.dimmpxm | Bin 9331 -> 9370 bytes tests/data/acpi/q35/DSDT.ipmibt | Bin 7753 -> 7792 bytes tests/data/acpi/q35/DSDT.memhp | Bin 9037 -> 9076 bytes tests/data/acpi/q35/DSDT.mmio64 | Bin 8808 -> 8847 bytes tests/data/acpi/q35/DSDT.numamem | Bin 7684 -> 7723 bytes tests/data/acpi/q35/DSDT.tis | Bin 8283 -> 8322 bytes 19 files changed, 19 deletions(-) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index dba32d5613..dfb8523c8b 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,20 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/pc/DSDT", -"tests/data/acpi/q35/DSDT", -"tests/data/acpi/q35/DSDT.tis", -"tests/data/acpi/q35/DSDT.bridge", -"tests/data/acpi/q35/DSDT.mmio64", -"tests/data/acpi/q35/DSDT.ipmibt", -"tests/data/acpi/q35/DSDT.cphp", -"tests/data/acpi/q35/DSDT.memhp", -"tests/data/acpi/q35/DSDT.numamem", -"tests/data/acpi/q35/DSDT.dimmpxm", -"tests/data/acpi/q35/DSDT.acpihmat", -"tests/data/acpi/pc/DSDT.bridge", -"tests/data/acpi/pc/DSDT.ipmikcs", -"tests/data/acpi/pc/DSDT.cphp", -"tests/data/acpi/pc/DSDT.memhp", -"tests/data/acpi/pc/DSDT.numamem", -"tests/data/acpi/pc/DSDT.dimmpxm", -"tests/data/acpi/pc/DSDT.acpihmat", -"tests/data/acpi/pc/DSDT.acpihmat", diff --git a/tests/data/acpi/pc/DSDT b/tests/data/acpi/pc/DSDT index 6d0aaf729ac7d64cf966621adf276534de5cc555..2ce71cb385e06394d399b1540c8= e2d775aa4a9b4 100644 GIT binary patch delta 147 zcmX@6_EwF{CDR6vL-$(lVkK*;)9*y1Drh#0)kwFojv`684J(_T^vI?K>8CIN)spF hc1(@SCD1Pf!r zBFD)yIArzRStiHmv&08G#RoWh8UzHn20MHD1v5H_xJ9CiyEuk0PJYRevN?s5lM4VS C4j>@_ diff --git a/tests/data/acpi/pc/DSDT.acpihmat b/tests/data/acpi/pc/DSDT.acp= ihmat index 2e5e02400b1bd2842989d395c573fc593f45503b..90ef187d087b436641d9c77806b= eaf8bc2bf8b63 100644 GIT binary patch delta 161 zcmexlFw>CBCD=3DYm1>}e1XZZv3Dca7B(g?o5=3D^*Rx|k;Zq8-rVC3}Ra}IX)tEb+lk@d3`B1_42?!Oot3!Hmu!ZjtEXE{-9LlV5VAY);|y5d;9) C1RtUR diff --git a/tests/data/acpi/pc/DSDT.cphp b/tests/data/acpi/pc/DSDT.cphp index e0a43ccdadae150c0f39599c85e4e21ed8fff2a4..74d132918a096b7548eaa0e1388= 4a04fad73df21 100644 GIT binary patch delta 143 zcmbQLwMUD~CDkXXQ&u*hxlNe)>FAC}26`YiFmPVoWGo(2IyuEEZpe!+|dlNmXMIXgf) r5*bPpCyR2Xh!-#KrRx|l|Y|dr3WMuc?a}IX)?z{un;Fu9*YMu5ZF&ox|# ziKT!cv4AmQk=3Dx`A9I}i)lh1L8$ri-uv&08G#RoWh8UzHn20ObrhID|GCo+^KPX5D@ fB3{6dv`BbrQlfK+TVyj>Dv5!yG--1JXS4tSxGE;e delta 89 zcmV-f0H*)qGrKbiL{mgmyBPog0U)sov<3o1NRz+@s{%(ovuy_;0Rl)4laB}-1#kgi vqCu0p2ptwj1e07Z1Yc7^Ur<9yFi=3DuOQ$tBkQS~#66_MPRhWT+F>WK*A2udu%gG$4tDnAh*pl#XNeDX ziVtx1GzbWC4R#Lj@&5n6fH7f_w z#sY@K0>*?zZj*aCWKDcnCdcTr#0NXY2RM5g1O&MTJA3*CGZvr=3Dx;Tb(fb=3DIalqOET h$&n&nz>u^^cxqCjbBJ4HGgvB#fw44cvn^)?KLA|eD{TM( delta 111 zcmdmEIMtBLCDB C?;u?O diff --git a/tests/data/acpi/pc/DSDT.numamem b/tests/data/acpi/pc/DSDT.numa= mem index 6eec385c2ec00544c6eaa7e19d32b2ccd5a51915..57b03c88d75cbfcffc81e17d529= 70e52fb767dc8 100644 GIT binary patch delta 147 zcmX@3_F0X~CDE8(7B(hN%gG1WRx|nNP0nTi%j7RGIfp|=3DfWz6(HC%{^ zv4A15fH7f_+vHvjSrZ?Y$uasY@xe~<0nVNV0YR?8&Yph3j0Na|E{-7`ApMC9rHPYo ha-@hCFeEJ!o|=3D^C9O4$)43@o=3D7B(g)^T`L;Rx`QkOwMKh%kIJF9PI4JF}aabf`u_* zk>lhU9J2cEER$pOS>l78;scyL4FZB(gPlG7f*GAd+#=3DD%T^vIgC%@!K*_^`3&jkPo C=3DO57k diff --git a/tests/data/acpi/q35/DSDT b/tests/data/acpi/q35/DSDT index e63676d7a63afec714debeb465ee478ea4714337..26a26e68d166c7e02971d62a48b= 0e79c38744338 100644 GIT binary patch delta 142 zcmexoz0`)wCDgCD~t5&?_} ziyXNpComQ;Bor{j=3D(EHJJH-b$dm01;xduBs`?@S}XPJyH?CBTG=3Dp5n}i7xKq7{WOD Ms8q^k2kECw004a`%>V!Z diff --git a/tests/data/acpi/q35/DSDT.acpihmat b/tests/data/acpi/q35/DSDT.a= cpihmat index cd97b819824e4140d087e465d179b71775d6a494..bf363910b99c8501669041cb6a7= 96e2a5fb82c40 100644 GIT binary patch delta 177 zcmZ4GcF~Q?CD>&v1udM1PLZb`^j@8Rx`PnZ1$AoU}X0fa1M6%59yA+dllVUZj6u^^cxqCjbBJ4HGgvB#fw44cvx+nu2LS#(GAsZ9 delta 112 zcmccUw#tpmCDWaMtC`&NCVNW$W%n0w4tDnAnEYN+T!6#b z&ox|#iLrnov4AmQk=3Dx`tEb+lk@d3`B1_42?!Oot3!Hfly7fK0pc7Svw qGL$Ax-YS(MUcivFNO)>eqH~B_WHVSQiGi^+X|jQo*k*m{2TTAqS1E@8 delta 135 zcmdmH({ID&66_MfFUP>Z=3D(Uk+f&`O~+2lDAtC{?@Cwof%W%uB74tDnAnEYN+B7iYr zkt6ry1jYh}gaU>beU|uOr}zM8PlJFU*I;L7UzY{$ER)fNJ^g|iokQFr(ZyXHLl`F? Ml}g#{ApMOA04-uCG5`Po diff --git a/tests/data/acpi/q35/DSDT.cphp b/tests/data/acpi/q35/DSDT.cphp index d9bb414e9bf15d9b9149f38c9bb5d8b993f88650..ee2bd28aac83fc9543cafd13d65= 4be6c0b7d47f1 100644 GIT binary patch delta 195 zcmX?W|HYomCD=3DYm1>}e1X=3DYm1>}e1XnNd1rbB%Nb F3jo7{B2NGS diff --git a/tests/data/acpi/q35/DSDT.dimmpxm b/tests/data/acpi/q35/DSDT.di= mmpxm index 29f19b22a38f9d8e7dc9870f0c1aa3d4470643ff..f58daacaf329c70c0f3007e1b4d= 162a20e5e7408 100644 GIT binary patch delta 148 zcmezDG0T(7CDl78;scyL4FZB(gPlG7f*A|Y1zj9NIzajp8A=3Dl; i-;hcXFJMSoBs?`K(K*B|vKcIu#K2gZwAn`5oD%?QkteqH~B_WHVSMiGi^+X>*G7QzigB(=3D{9b delta 111 zcmexhbJB*(CD_Qj3MCDl78;scyL4FZB(gPlG7f*A`YFO(AI>;UOV qWGGFXyj3biynrETk?_=3D{MCTB<$Y!uq5(8st(qscEvCaC@avT80Z7JRW delta 135 zcmez3cGiu{CDG5)3}Kvn MR4Qe&gR}_;0Jjb&i2wiq diff --git a/tests/data/acpi/q35/DSDT.mmio64 b/tests/data/acpi/q35/DSDT.mmi= o64 index 6d8facd9e179140682ad5d4302f3dad14dbec342..1d34813a26b46e229c5dee7d7b1= 9680aa941b006 100644 GIT binary patch delta 142 zcmaFi((lUU66_Mvuf)K>=3D(>?>f&`PN<>WaMtC@WCCVNW$W%n0w4tDnAnEYN+T!6#b z&ox|#iLrnov4AmQk=3Dx`tEb+lk@d3`B1_42?!Oot3!Hfly7fK0pc7Svw qGL$Ax-YS(MUcivFNO)>eqH~B_WHVSQiGi^+X|jQo*k*lcOLhQ=3DJ}H3! delta 135 zcmeBoec{6866_L^p~S$z7_pISf&`P3`Q$kgtC?JNCVNW$W%uB74tDnAnEYN+B7iYr zkt6ry1jYh}gaU>beU|uOr}zM8PlJFU*I;L7UzY{$ER)fNJ^g|iokQFr(ZyXHLl`F? Ml}g#{Annf%0DB@QEC2ui diff --git a/tests/data/acpi/q35/DSDT.numamem b/tests/data/acpi/q35/DSDT.nu= mamem index 737325dc3082fdf06283857811f6f5174e0ff2a9..7e1775656cf08224d815e6e2986= fa68dbe54d4e1 100644 GIT binary patch delta 142 zcmZp%S#87R66_M9EyuvX=3D(v$WaMtC@WCCVNW$W%n0w4tDnAnEYN+T!6#b z&ox|#iLrnov4AmQk=3Dx`tEb+lk@d3`B1_42?!Oot3!Hfly7fK0pc7Svw qGL$Ax-YS(MUcivFNO)>eqH~B_WHVSQiGi^+X|jQo*k*m{t4shN`YBTY delta 135 zcmZ2&(_+Kr66_MfBFDhM7_yOTf&`P3`Q$kgtC?JNCVNW$W%uB74tDnAnEYN+B7iYr zkt6ry1jYh}gaU>beU|uOr}zM8PlJFU*I;L7UzY{$ER)fNJ^g|iokQFr(ZyXHLl`F? Ml}g#{ApM#N02x0f{r~^~ diff --git a/tests/data/acpi/q35/DSDT.tis b/tests/data/acpi/q35/DSDT.tis index 27ee927fc5ac05b89724c154197304c39e653269..d7872b2dc57bfe64d76051158f3= 15816e166002a 100644 GIT binary patch delta 142 zcmccZ(B#PF66_Mvq`<(y*td~uf&`PZ<>WaMtC`&NCVNW$W%n0w4tDnAnEYN+T!6#b z&ox|#iLrnov4AmQk=3Dx`tEb+lk@d3`B1_42?!Oot3!Hfly7fK0pc7Svw qGL$Ax-YS(MUcivFNO)>eqH~B_WHVSQiGi^+X|jQo*k*lc9aaF0nJIn% delta 135 zcmZp2yzRi{66_KZt-!#**u0Tzf&`O~+2lDAtC{?@Cwof%W%uB74tDnAnEYN+B7iYr zkt6ry1jYh}gaU>beU|uOr}zM8PlJFU*I;L7UzY{$ER)fNJ^g|iokQFr(ZyXHLl`F? Ml}g#{Ann8o0DcZ9DF6Tf --=20 2.26.2