From nobody Sun Dec 14 02:18:34 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535848; cv=none; d=zohomail.com; s=zohoarc; b=Nm/cdqGVGXVZ208gl0H/wN7wEQVX1aAaSbK2JHSu/yY7g3SEg58GQGn61kgWGbUitVpjKGZK6YgIRx9DFHzFsZ+z8OW/+FAjWKjvVCMH6dI6uioOgLdd9TQuazNy+DRlCseVsal2AxKBd1zn/gkW6X3rk6ksO64XN2oeNYe4cyQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535848; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=CR+LZ2cu5WxczbRij8l03U22ueM2EikDrXwY3SzEt+o=; b=DzzTkZpnVmN4moX4i3Bz6tn85bdP2xG7obWobE+qg5RROEpCrW2Yp63CrwthalyOYKYAHsWXwEj/I/n8bT2LmU3+UQzRvqjA1KbLRcwFy036sXj1Si/+LpJzMGo/OuXmM8cVIfE0zFXddHHii30DxW6NRlJ3swgqT2zbbugkKtU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535848307232.14906248706814; Mon, 14 Jul 2025 16:30:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSFh-0001DK-0Z; Mon, 14 Jul 2025 19:06:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFf-00019r-LC for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:27 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFd-0005Jh-GJ for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:27 -0400 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-504-NQQP7ZONPP69qsMiZXbsbw-1; Mon, 14 Jul 2025 19:06:22 -0400 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-456013b59c1so14804755e9.3 for ; Mon, 14 Jul 2025 16:06:22 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8dc1f70sm13405779f8f.27.2025.07.14.16.06.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:06:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534384; 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: in-reply-to:in-reply-to:references:references; bh=CR+LZ2cu5WxczbRij8l03U22ueM2EikDrXwY3SzEt+o=; b=Qk0deEzNa4BehX9Jdevv+R1a+LMlhjDpyd7gecHaCXfCYqUOy9esSOKubRQl2yML+j6S0P aYQBGKKKuqBvQo99l5QsLmw4WisuaovMOSBuJNTIpgv0ZoaUpbYWFY/bv5/kKJukgMHJPT qGHOs/zDLaNJClnTpfPJ1VDRLl4ZNRc= X-MC-Unique: NQQP7ZONPP69qsMiZXbsbw-1 X-Mimecast-MFC-AGG-ID: NQQP7ZONPP69qsMiZXbsbw_1752534381 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534381; x=1753139181; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=CR+LZ2cu5WxczbRij8l03U22ueM2EikDrXwY3SzEt+o=; b=J2mtowmAz+EFdNcVkyXi6p4NbuREEI+a2QPj9d/6QcVdAkNyBG19cNsSRp+EM/+M6w 7VnNk47+Qo2RnE/WunXtH7HFCM0RIQsUHWIP4maA/31XQgiep5Yc3xz27HzLYZlx11j6 pZxSsIqBgV6rI073o7XYn5Wwg20EucQZAZSmwcNi/phVr9xYHwQW5kW+SCZCktDYtxu2 yvhrbBGlDvOaLL+ySvAI5hU32h7UhWztQx70FlXL123S+1Q71f2ozqwJyvFOP2hgGRo1 PSw2lOBYZ4jeSyTTtFslsyrZEpJTYgHJ7Na1TvkOpfk6OwYpZuBAG1LVHLwzo8f7l10a lwjg== X-Gm-Message-State: AOJu0YwXzhSIcDMugDIHk5jPPUh3FZ0KHh1gFzDGfEA+kuXh0WNMmzrT ttfS0V//YBANZVC2ovqswttgkTQS40rxgmVyIJy37ZJvXqcH9hUYdTu1LqoXYy6NCyMcf20uOwq X1wR8WGX3HkVeajLt8u6P/cRwEJs6gGeTdb8btQP1D20Bv1Z1U+3ngTW40zh7vwwCg5S63uUMWI vtj7IhvJzp05ayM/u1issrhMtphs4enykzog== X-Gm-Gg: ASbGncvNNCg/YvBCJLObZ5wsByNuDskN/WAuxkAzQniv+ej2tNYn6Y4CsG3zl+6kdhj c3rTKCTftk5rXozapEVtgD1B595lJOy8/FiSDiMig33WJSsOLuW+NPprBDX2hVf4ccjs9EUiAGF ZHxlD7bPCSXW0sSb/TotX88WkEzgraZl3LkUN8xqqAFwuksaGIL0LWtH3OK2P4xCQFvZXDHea7R IFn0lUPzCRHnMRNNkTGo16dst5G1/R6YCNQ7TDelHVbqgtS3ajtDx2Y48PbLHLaUEvtqzqyk4yr 83zzhFLJCjegPkscX6EWnJQt++IUw/hJ X-Received: by 2002:a05:600c:8483:b0:453:81a:2f3f with SMTP id 5b1f17b1804b1-455bd87a108mr136442285e9.30.1752534381013; Mon, 14 Jul 2025 16:06:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHDM8xIgkr9/SQ8IxgGKOql5dG0h7EsQpTSFbK08Ggbo4q5phKuP4Fa9lX6/de3GyJWICW/LQ== X-Received: by 2002:a05:600c:8483:b0:453:81a:2f3f with SMTP id 5b1f17b1804b1-455bd87a108mr136442045e9.30.1752534380547; Mon, 14 Jul 2025 16:06:20 -0700 (PDT) Date: Mon, 14 Jul 2025 19:06:18 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Akihiko Odaki , Paolo Bonzini , Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= , Eduardo Habkost Subject: [PULL 01/97] qdev-properties: Add DEFINE_PROP_ON_OFF_AUTO_BIT64() Message-ID: <52f45faa4f843617ae09e7965aec963fab3fb564.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535850690116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Akihiko Odaki DEFINE_PROP_ON_OFF_AUTO_BIT64() corresponds to DEFINE_PROP_ON_OFF_AUTO() as DEFINE_PROP_BIT64() corresponds to DEFINE_PROP_BOOL(). The difference is that DEFINE_PROP_ON_OFF_AUTO_BIT64() exposes OnOffAuto instead of bool. Signed-off-by: Akihiko Odaki Message-Id: <20250530-vdpa-v1-1-5af4109b1c19@daynix.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/qdev-properties.h | 18 ++++++++++ hw/core/qdev-properties.c | 67 +++++++++++++++++++++++++++++++++++- 2 files changed, 84 insertions(+), 1 deletion(-) diff --git a/include/hw/qdev-properties.h b/include/hw/qdev-properties.h index 2c99856caa..0197aa4995 100644 --- a/include/hw/qdev-properties.h +++ b/include/hw/qdev-properties.h @@ -43,11 +43,22 @@ struct PropertyInfo { ObjectPropertyRelease *release; }; =20 +/** + * struct OnOffAutoBit64 - OnOffAuto storage with 64 elements. + * @on_bits: Bitmap of elements with "on". + * @auto_bits: Bitmap of elements with "auto". + */ +typedef struct OnOffAutoBit64 { + uint64_t on_bits; + uint64_t auto_bits; +} OnOffAutoBit64; + =20 /*** qdev-properties.c ***/ =20 extern const PropertyInfo qdev_prop_bit; extern const PropertyInfo qdev_prop_bit64; +extern const PropertyInfo qdev_prop_on_off_auto_bit64; extern const PropertyInfo qdev_prop_bool; extern const PropertyInfo qdev_prop_uint8; extern const PropertyInfo qdev_prop_uint16; @@ -100,6 +111,13 @@ extern const PropertyInfo qdev_prop_link; .set_default =3D true, \ .defval.u =3D (bool)_defval) =20 +#define DEFINE_PROP_ON_OFF_AUTO_BIT64(_name, _state, _field, _bit, _defval= ) \ + DEFINE_PROP(_name, _state, _field, qdev_prop_on_off_auto_bit64, = \ + OnOffAutoBit64, = \ + .bitnr =3D (_bit), = \ + .set_default =3D true, = \ + .defval.i =3D (OnOffAuto)_defval) + #define DEFINE_PROP_BOOL(_name, _state, _field, _defval) \ DEFINE_PROP(_name, _state, _field, qdev_prop_bool, bool, \ .set_default =3D true, \ diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c index 147b3ffd16..b7e8a89ba5 100644 --- a/hw/core/qdev-properties.c +++ b/hw/core/qdev-properties.c @@ -2,6 +2,7 @@ #include "hw/qdev-properties.h" #include "qapi/error.h" #include "qapi/qapi-types-misc.h" +#include "qapi/qapi-visit-common.h" #include "qobject/qlist.h" #include "qemu/ctype.h" #include "qemu/error-report.h" @@ -180,7 +181,8 @@ const PropertyInfo qdev_prop_bit =3D { =20 static uint64_t qdev_get_prop_mask64(const Property *prop) { - assert(prop->info =3D=3D &qdev_prop_bit64); + assert(prop->info =3D=3D &qdev_prop_bit64 || + prop->info =3D=3D &qdev_prop_on_off_auto_bit64); return 0x1ull << prop->bitnr; } =20 @@ -225,6 +227,69 @@ const PropertyInfo qdev_prop_bit64 =3D { .set_default_value =3D set_default_value_bool, }; =20 +static void prop_get_on_off_auto_bit64(Object *obj, Visitor *v, + const char *name, void *opaque, + Error **errp) +{ + Property *prop =3D opaque; + OnOffAutoBit64 *p =3D object_field_prop_ptr(obj, prop); + OnOffAuto value; + uint64_t mask =3D qdev_get_prop_mask64(prop); + + if (p->auto_bits & mask) { + value =3D ON_OFF_AUTO_AUTO; + } else if (p->on_bits & mask) { + value =3D ON_OFF_AUTO_ON; + } else { + value =3D ON_OFF_AUTO_OFF; + } + + visit_type_OnOffAuto(v, name, &value, errp); +} + +static void prop_set_on_off_auto_bit64(Object *obj, Visitor *v, + const char *name, void *opaque, + Error **errp) +{ + Property *prop =3D opaque; + OnOffAutoBit64 *p =3D object_field_prop_ptr(obj, prop); + OnOffAuto value; + uint64_t mask =3D qdev_get_prop_mask64(prop); + + if (!visit_type_OnOffAuto(v, name, &value, errp)) { + return; + } + + switch (value) { + case ON_OFF_AUTO_AUTO: + p->on_bits &=3D ~mask; + p->auto_bits |=3D mask; + break; + + case ON_OFF_AUTO_ON: + p->on_bits |=3D mask; + p->auto_bits &=3D ~mask; + break; + + case ON_OFF_AUTO_OFF: + p->on_bits &=3D ~mask; + p->auto_bits &=3D ~mask; + break; + + case ON_OFF_AUTO__MAX: + g_assert_not_reached(); + } +} + +const PropertyInfo qdev_prop_on_off_auto_bit64 =3D { + .type =3D "OnOffAuto", + .description =3D "on/off/auto", + .enum_table =3D &OnOffAuto_lookup, + .get =3D prop_get_on_off_auto_bit64, + .set =3D prop_set_on_off_auto_bit64, + .set_default_value =3D qdev_propinfo_set_default_value_enum, +}; + /* --- bool --- */ =20 static void get_bool(Object *obj, Visitor *v, const char *name, void *opaq= ue, --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534522; cv=none; d=zohomail.com; s=zohoarc; b=O3rw1ltXaQqAv/wBrzJ6DvO8s703P7vPZg4SRKQ416Rs9SHFQPngsbtzR2yRiMI5avgon8FS/qWkw2I/+0LiRdbEaaReskNLQ65RGbYY3FEw5Ja/GWrxvCEZuN0lCw3FgoGGli4gmvh+cYgpyM5WG7zer2pEhIUbIfMe5N8/sWw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534522; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=51WLhhtzvQLDx2fwDZYEvf7ij4Zz6Yv1oK4TX/67LF8=; b=iQGRIOQk/2kDzFKvIO7D1a3LJm9RLrR1hrp7NnJGUTcAcOzDw6sZYwJjWbJpIeIC1s1NrZCcF0EYmiXobB99fqsqAihQf4NcNJ9koFdMpK9F0c493mzntb7IpQH3yXaRK4tNjgDM2MHVfbXOlmUmezfZCaEsu4TyH/zQBNNU2Z4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534522282176.39488735208215; Mon, 14 Jul 2025 16:08:42 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSFk-0001Mn-6I; Mon, 14 Jul 2025 19:06:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFi-0001LI-EV for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:30 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFg-0005Kl-HU for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:30 -0400 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-151-a3r1MvJdMxSoH6ndY6VILQ-1; Mon, 14 Jul 2025 19:06:25 -0400 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-4538a2f4212so27817205e9.2 for ; Mon, 14 Jul 2025 16:06:24 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4561323a488sm62228555e9.1.2025.07.14.16.06.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:06:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534387; 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: in-reply-to:in-reply-to:references:references; bh=51WLhhtzvQLDx2fwDZYEvf7ij4Zz6Yv1oK4TX/67LF8=; b=NpEMj4XMro9+DdCu2JzcOuIbwRF8OP+AmJ01Q9hTIkIzOAIDF3JJe1KL19fgG04xz8zZBO E6lCRmsV/KOHG1XknKkTaa0kbwaHLRn3Shi8m2G18BVbLyothUdwuQ5yX7jwRg8B6NKvwR dxZVM/iYtSCyVDushXPzPJ1na+fRowY= X-MC-Unique: a3r1MvJdMxSoH6ndY6VILQ-1 X-Mimecast-MFC-AGG-ID: a3r1MvJdMxSoH6ndY6VILQ_1752534383 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534383; x=1753139183; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=51WLhhtzvQLDx2fwDZYEvf7ij4Zz6Yv1oK4TX/67LF8=; b=eiYYfNX82pQV3w4VyfVnpzJlfzdso7SuWsQJ6MBALi9eDjUtFdk1wXLidJTM+WeyFP bvyeHysqxZkyw9lvN9xp5VgWpJswpMxXgrnpYAc210hIC+hpnkUoaviTK/ilR6Y4K8xJ f2Trmp/0Da0KMGMsAV/ARPU3q7Dv2D+nuixIE9F/eKrAtCLunR4L9O928kNEAInhPv6+ nP+Q49TX+4s02zs2bm8+0K4UGZw/BfltM7Eqmp3f3hXd4+iaqv1jHvz4ttwZmbXCcsge Wp2MCMOUpCvYfKLCk0QaKJLdo9/z648P0tTXTeZ76XNY+Mgb0rmHW9QYDyumgq1cp9qt wnJA== X-Gm-Message-State: AOJu0YyPRi1XlAMpfl+qNOdi6BEvS0Kx2umEtUdtWdXqvxMgFuc7pW60 JTbkKXcEn3ChMY0zMlhtnU+ykdtnAXy0CDjfF7u6LeKshUVzGWX97lIUSU4Y1i5pbjGkn+bgvPQ tnh3Ieu3HoSZhZ4XD2lC15my6QU7P9HLCkgR5DY+Fxg5iu0H9oXo0coV3/X0gIU75MjahsrAb4C 7PPS6xAPJ4xHReFJnretRMKf8TBeLeK1FduQ== X-Gm-Gg: ASbGncvTRvxKDEq4TIuu4kKCiUOMoVEviLxfEl6dUWlR0uJS1pS/vIVyDp0JfjoWDUn bkHauNdp+nNS/tv0nCybfvyd+VNRDeOFeoSzEIrvzLBkH8XAd4gqizBAaY+ogOzYc1ExZW0xHLf bhkOvh9Mw5pN555CB/fWiGt1WORk+sEXeogk1WOeJc8esBwcmXgCL87FUyNNnaE07I0Su4UfPBt 1i6ixC9yOPgxTGLsC27Sw/4KVFPVTno1S9fUdvbCD+h3R1XOdXb4qlJuIWJn8on93KBYuW7Q86o hEYWBJtocZr9MK7IVyJfIP18J0CVcPBA X-Received: by 2002:a05:600c:1913:b0:442:c993:6f94 with SMTP id 5b1f17b1804b1-4561a16064fmr59346005e9.12.1752534382936; Mon, 14 Jul 2025 16:06:22 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHFlJEJlotEdZvsKfQW76HJh35RNxj9rvToIlF86iMr+ngxUkyhPPkHcqwf18jXjPSzi4PJsQ== X-Received: by 2002:a05:600c:1913:b0:442:c993:6f94 with SMTP id 5b1f17b1804b1-4561a16064fmr59345735e9.12.1752534382415; Mon, 14 Jul 2025 16:06:22 -0700 (PDT) Date: Mon, 14 Jul 2025 19:06:20 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Akihiko Odaki , Jason Wang Subject: [PULL 02/97] net/vhost-vdpa: Report hashing capability Message-ID: <14f521f491063136bb4aa282c9d29735c78ee433.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534524215116601 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Akihiko Odaki Report hashing capability so that virtio-net can deliver the correct capability information to the guest. Signed-off-by: Akihiko Odaki Message-Id: <20250530-vdpa-v1-2-5af4109b1c19@daynix.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/net/net.h | 3 +++ net/net.c | 9 +++++++++ net/vhost-vdpa.c | 28 ++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+) diff --git a/include/net/net.h b/include/net/net.h index cdd5b109b0..545f4339ce 100644 --- a/include/net/net.h +++ b/include/net/net.h @@ -60,6 +60,7 @@ typedef bool (HasVnetHdrLen)(NetClientState *, int); typedef void (SetOffload)(NetClientState *, int, int, int, int, int, int, = int); typedef int (GetVnetHdrLen)(NetClientState *); typedef void (SetVnetHdrLen)(NetClientState *, int); +typedef bool (GetVnetHashSupportedTypes)(NetClientState *, uint32_t *); typedef int (SetVnetLE)(NetClientState *, bool); typedef int (SetVnetBE)(NetClientState *, bool); typedef struct SocketReadState SocketReadState; @@ -89,6 +90,7 @@ typedef struct NetClientInfo { SetVnetHdrLen *set_vnet_hdr_len; SetVnetLE *set_vnet_le; SetVnetBE *set_vnet_be; + GetVnetHashSupportedTypes *get_vnet_hash_supported_types; NetAnnounce *announce; SetSteeringEBPF *set_steering_ebpf; NetCheckPeerType *check_peer_type; @@ -189,6 +191,7 @@ void qemu_set_offload(NetClientState *nc, int csum, int= tso4, int tso6, int ecn, int ufo, int uso4, int uso6); int qemu_get_vnet_hdr_len(NetClientState *nc); void qemu_set_vnet_hdr_len(NetClientState *nc, int len); +bool qemu_get_vnet_hash_supported_types(NetClientState *nc, uint32_t *type= s); int qemu_set_vnet_le(NetClientState *nc, bool is_le); int qemu_set_vnet_be(NetClientState *nc, bool is_be); void qemu_macaddr_default_if_unset(MACAddr *macaddr); diff --git a/net/net.c b/net/net.c index 39d6f28158..d0ae3db0d8 100644 --- a/net/net.c +++ b/net/net.c @@ -573,6 +573,15 @@ void qemu_set_vnet_hdr_len(NetClientState *nc, int len) nc->info->set_vnet_hdr_len(nc, len); } =20 +bool qemu_get_vnet_hash_supported_types(NetClientState *nc, uint32_t *type= s) +{ + if (!nc || !nc->info->get_vnet_hash_supported_types) { + return false; + } + + return nc->info->get_vnet_hash_supported_types(nc, types); +} + int qemu_set_vnet_le(NetClientState *nc, bool is_le) { #if HOST_BIG_ENDIAN diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c index 58d738945d..cb63e09453 100644 --- a/net/vhost-vdpa.c +++ b/net/vhost-vdpa.c @@ -252,6 +252,32 @@ static bool vhost_vdpa_has_vnet_hdr(NetClientState *nc) return true; } =20 +static bool vhost_vdpa_get_vnet_hash_supported_types(NetClientState *nc, + uint32_t *types) +{ + assert(nc->info->type =3D=3D NET_CLIENT_DRIVER_VHOST_VDPA); + VhostVDPAState *s =3D DO_UPCAST(VhostVDPAState, nc, nc); + uint64_t features =3D s->vhost_vdpa.dev->features; + int fd =3D s->vhost_vdpa.shared->device_fd; + struct { + struct vhost_vdpa_config hdr; + uint32_t supported_hash_types; + } config; + + if (!virtio_has_feature(features, VIRTIO_NET_F_HASH_REPORT) && + !virtio_has_feature(features, VIRTIO_NET_F_RSS)) { + return false; + } + + config.hdr.off =3D offsetof(struct virtio_net_config, supported_hash_t= ypes); + config.hdr.len =3D sizeof(config.supported_hash_types); + + assert(!ioctl(fd, VHOST_VDPA_GET_CONFIG, &config)); + *types =3D le32_to_cpu(config.supported_hash_types); + + return true; +} + static bool vhost_vdpa_has_ufo(NetClientState *nc) { assert(nc->info->type =3D=3D NET_CLIENT_DRIVER_VHOST_VDPA); @@ -428,6 +454,7 @@ static NetClientInfo net_vhost_vdpa_info =3D { .stop =3D vhost_vdpa_net_client_stop, .cleanup =3D vhost_vdpa_cleanup, .has_vnet_hdr =3D vhost_vdpa_has_vnet_hdr, + .get_vnet_hash_supported_types =3D vhost_vdpa_get_vnet_hash_suppor= ted_types, .has_ufo =3D vhost_vdpa_has_ufo, .set_vnet_le =3D vhost_vdpa_set_vnet_le, .check_peer_type =3D vhost_vdpa_check_peer_type, @@ -1284,6 +1311,7 @@ static NetClientInfo net_vhost_vdpa_cvq_info =3D { .stop =3D vhost_vdpa_net_cvq_stop, .cleanup =3D vhost_vdpa_cleanup, .has_vnet_hdr =3D vhost_vdpa_has_vnet_hdr, + .get_vnet_hash_supported_types =3D vhost_vdpa_get_vnet_hash_supported_= types, .has_ufo =3D vhost_vdpa_has_ufo, .check_peer_type =3D vhost_vdpa_check_peer_type, .set_steering_ebpf =3D vhost_vdpa_set_steering_ebpf, --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534433; cv=none; d=zohomail.com; s=zohoarc; b=gFS3QLtfgdIh+UNVG+lz56Q1qVCeQtB2iO8PgKYrAOoAizcGft9Djph25jQM0uHoqtfNhi8Q+9Y+xl7/M+WbyW20o/AnHk1fK3veNWVTEE4uB9nqpOdF8KVUgeG4UPdyEQ+WEg/ktyTiHIw6arucxG2d/9VXLLx2pOYv/LXjLX8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534433; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=UJ3YEt/YPhvWK0BFPc8fFh+v9Ob5aI1Wiz/1EwMXPf0=; b=Xe4acVpul4Ejml57HZYuAUlTANSnu7qHcrqD3jBemxbYT8plmnoIWbDFTkCE/E6KMuFISVCs6QdUqjX3dfCsZAcRQ6PoMwBj9G2A9+U1g8/dw56AzR4UEZCFJCUHGOmQwE0sZNz6N95dTC/hkIiyDVK1o4u5ace9RlHLZ2Llkx4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534433466458.50082682533207; Mon, 14 Jul 2025 16:07:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSFm-0001Pp-6S; Mon, 14 Jul 2025 19:06:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFj-0001Mo-GZ for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:31 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFh-0005LL-PR for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:31 -0400 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-241-U46maDlYPwS59Q5Oqj_A0A-1; Mon, 14 Jul 2025 19:06:26 -0400 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3a4fac7fa27so1746163f8f.0 for ; Mon, 14 Jul 2025 16:06:26 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8bd1792sm13796067f8f.13.2025.07.14.16.06.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:06:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534388; 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: in-reply-to:in-reply-to:references:references; bh=UJ3YEt/YPhvWK0BFPc8fFh+v9Ob5aI1Wiz/1EwMXPf0=; b=RIu6+2tmQg9ursQCt+jWT8UvqS2IdrmW/Efi+jRp8kfIltUhWaNQ7NEDgkJBqGz2LCOQXe ssezA96NFrqoBYmpPJPUXu3rI8gdj/9ML9L/STjP/2RFcAX8f28mtgUFyL8YDiVYjZW0IG 7lxC4cOJh0475n8oBLKSlAKExyflnDg= X-MC-Unique: U46maDlYPwS59Q5Oqj_A0A-1 X-Mimecast-MFC-AGG-ID: U46maDlYPwS59Q5Oqj_A0A_1752534386 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534385; x=1753139185; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=UJ3YEt/YPhvWK0BFPc8fFh+v9Ob5aI1Wiz/1EwMXPf0=; b=Y+dNs2D7Z4gYC3rwurfW79h3a4GbOszWDKGvRo8j5jBegcnxDuVh9wxnxwXj/VEQM7 kinzdXT2lDPdF/MoR6HJ51I0u32haKsFNd2eOIxTqO9MGUX2Pi0nBMBVLgaPdVa62Jft AymJShBdp1tIhQ6fIc5fxSt7ZPqgOdLZ99yvwF7+EEuTl9SnsW+hMzkuvKSqREw+Aon1 LGAbntjP6O3333y/1xxbuKHMbuTePjExeHrDgEmsp14jnlcdZMytFtxiF51DtR7WYhXC lmajvwUSP7EVWTbE0Iy3y5tswcIZNT75l2m4iGIlc15Z/o1vJOToUyEG257noDJDtwad W5Vg== X-Gm-Message-State: AOJu0Yyg6++URXZGh+eVIvO7OvuC1XEAwErbFb5p6wc/D2VQ5fUj6L+S pWoGYW1vWzmNX6/oBO2mN+RI8m4shgtT7prLtrS9YHpZkoxo2G5Zr9t6g0IRfIcLNt4ZQjEkn2d 6WveLx2iWufCVZlCYNaOX7HuCO6iUyt9lK0Zokm7qF1GHhZkJk8g1nrBXXJfs0xBzFb7hK6R/un X9O+htLw1H4XGJ9lSTvGwpdOScBKBPrFKjgg== X-Gm-Gg: ASbGncsI9bYVmV61Ufvj3VKZJ1mkvHGay9kgMsi5Gi24hyUbfby3SHCn5j8tIs6iXKL 5BbRgHQ37vQtCRMD2twkW2enSdkBZF3CHYsUgqnlKTojMUVDJjkDHAE6wAHVmHggXNe039eMOE1 /ZseiXbCY3MX7OeaxIKiKIYIJjbJAzS38MNOqSA0TGeJcbgcLD92+RaIGQ8zQunG5snXg+DY3Cs /eGvDfpWSF1JBOYMmtdlwgm6Yf0lNxa6sdwpQtbgDYVISWO3lEM3y76jVAReSiMESq+lO4sfB4c V/+Mpgmx34BUWxki9K0aXxU1Vds2qgaL X-Received: by 2002:a05:6000:5c2:b0:3a5:2b1d:7889 with SMTP id ffacd0b85a97d-3b5f2e26c9cmr10875892f8f.43.1752534385338; Mon, 14 Jul 2025 16:06:25 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHA+GJVX8NusqS7Z1fMd0srIeUPa2NuzT2baoV/1+lSaGfUOYqf7RAEclbBkc+XuIyahppaJw== X-Received: by 2002:a05:6000:5c2:b0:3a5:2b1d:7889 with SMTP id ffacd0b85a97d-3b5f2e26c9cmr10875876f8f.43.1752534384916; Mon, 14 Jul 2025 16:06:24 -0700 (PDT) Date: Mon, 14 Jul 2025 19:06:22 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Akihiko Odaki , Jason Wang Subject: [PULL 03/97] virtio-net: Move virtio_net_get_features() down Message-ID: <2deec9ab7d25d7cd8f57033bd0421c1f9f28d905.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534435649116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Akihiko Odaki Move virtio_net_get_features() to the later part of the file so that it can call other functions. Signed-off-by: Akihiko Odaki Message-Id: <20250530-vdpa-v1-3-5af4109b1c19@daynix.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/net/virtio-net.c | 146 ++++++++++++++++++++++---------------------- 1 file changed, 73 insertions(+), 73 deletions(-) diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index eb93607b8c..34fe5909c5 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -752,79 +752,6 @@ static void virtio_net_set_queue_pairs(VirtIONet *n) =20 static void virtio_net_set_multiqueue(VirtIONet *n, int multiqueue); =20 -static uint64_t virtio_net_get_features(VirtIODevice *vdev, uint64_t featu= res, - Error **errp) -{ - VirtIONet *n =3D VIRTIO_NET(vdev); - NetClientState *nc =3D qemu_get_queue(n->nic); - - /* Firstly sync all virtio-net possible supported features */ - features |=3D n->host_features; - - virtio_add_feature(&features, VIRTIO_NET_F_MAC); - - if (!peer_has_vnet_hdr(n)) { - virtio_clear_feature(&features, VIRTIO_NET_F_CSUM); - virtio_clear_feature(&features, VIRTIO_NET_F_HOST_TSO4); - virtio_clear_feature(&features, VIRTIO_NET_F_HOST_TSO6); - virtio_clear_feature(&features, VIRTIO_NET_F_HOST_ECN); - - virtio_clear_feature(&features, VIRTIO_NET_F_GUEST_CSUM); - virtio_clear_feature(&features, VIRTIO_NET_F_GUEST_TSO4); - virtio_clear_feature(&features, VIRTIO_NET_F_GUEST_TSO6); - virtio_clear_feature(&features, VIRTIO_NET_F_GUEST_ECN); - - virtio_clear_feature(&features, VIRTIO_NET_F_HOST_USO); - virtio_clear_feature(&features, VIRTIO_NET_F_GUEST_USO4); - virtio_clear_feature(&features, VIRTIO_NET_F_GUEST_USO6); - - virtio_clear_feature(&features, VIRTIO_NET_F_HASH_REPORT); - } - - if (!peer_has_vnet_hdr(n) || !peer_has_ufo(n)) { - virtio_clear_feature(&features, VIRTIO_NET_F_GUEST_UFO); - virtio_clear_feature(&features, VIRTIO_NET_F_HOST_UFO); - } - - if (!peer_has_uso(n)) { - virtio_clear_feature(&features, VIRTIO_NET_F_HOST_USO); - virtio_clear_feature(&features, VIRTIO_NET_F_GUEST_USO4); - virtio_clear_feature(&features, VIRTIO_NET_F_GUEST_USO6); - } - - if (!get_vhost_net(nc->peer)) { - return features; - } - - if (!ebpf_rss_is_loaded(&n->ebpf_rss)) { - virtio_clear_feature(&features, VIRTIO_NET_F_RSS); - } - features =3D vhost_net_get_features(get_vhost_net(nc->peer), features); - vdev->backend_features =3D features; - - if (n->mtu_bypass_backend && - (n->host_features & 1ULL << VIRTIO_NET_F_MTU)) { - features |=3D (1ULL << VIRTIO_NET_F_MTU); - } - - /* - * Since GUEST_ANNOUNCE is emulated the feature bit could be set witho= ut - * enabled. This happens in the vDPA case. - * - * Make sure the feature set is not incoherent, as the driver could re= fuse - * to start. - * - * TODO: QEMU is able to emulate a CVQ just for guest_announce purpose= s, - * helping guest to notify the new location with vDPA devices that doe= s not - * support it. - */ - if (!virtio_has_feature(vdev->backend_features, VIRTIO_NET_F_CTRL_VQ))= { - virtio_clear_feature(&features, VIRTIO_NET_F_GUEST_ANNOUNCE); - } - - return features; -} - static uint64_t virtio_net_bad_features(VirtIODevice *vdev) { uint64_t features =3D 0; @@ -3076,6 +3003,79 @@ static int virtio_net_pre_load_queues(VirtIODevice *= vdev) return 0; } =20 +static uint64_t virtio_net_get_features(VirtIODevice *vdev, uint64_t featu= res, + Error **errp) +{ + VirtIONet *n =3D VIRTIO_NET(vdev); + NetClientState *nc =3D qemu_get_queue(n->nic); + + /* Firstly sync all virtio-net possible supported features */ + features |=3D n->host_features; + + virtio_add_feature(&features, VIRTIO_NET_F_MAC); + + if (!peer_has_vnet_hdr(n)) { + virtio_clear_feature(&features, VIRTIO_NET_F_CSUM); + virtio_clear_feature(&features, VIRTIO_NET_F_HOST_TSO4); + virtio_clear_feature(&features, VIRTIO_NET_F_HOST_TSO6); + virtio_clear_feature(&features, VIRTIO_NET_F_HOST_ECN); + + virtio_clear_feature(&features, VIRTIO_NET_F_GUEST_CSUM); + virtio_clear_feature(&features, VIRTIO_NET_F_GUEST_TSO4); + virtio_clear_feature(&features, VIRTIO_NET_F_GUEST_TSO6); + virtio_clear_feature(&features, VIRTIO_NET_F_GUEST_ECN); + + virtio_clear_feature(&features, VIRTIO_NET_F_HOST_USO); + virtio_clear_feature(&features, VIRTIO_NET_F_GUEST_USO4); + virtio_clear_feature(&features, VIRTIO_NET_F_GUEST_USO6); + + virtio_clear_feature(&features, VIRTIO_NET_F_HASH_REPORT); + } + + if (!peer_has_vnet_hdr(n) || !peer_has_ufo(n)) { + virtio_clear_feature(&features, VIRTIO_NET_F_GUEST_UFO); + virtio_clear_feature(&features, VIRTIO_NET_F_HOST_UFO); + } + + if (!peer_has_uso(n)) { + virtio_clear_feature(&features, VIRTIO_NET_F_HOST_USO); + virtio_clear_feature(&features, VIRTIO_NET_F_GUEST_USO4); + virtio_clear_feature(&features, VIRTIO_NET_F_GUEST_USO6); + } + + if (!get_vhost_net(nc->peer)) { + return features; + } + + if (!ebpf_rss_is_loaded(&n->ebpf_rss)) { + virtio_clear_feature(&features, VIRTIO_NET_F_RSS); + } + features =3D vhost_net_get_features(get_vhost_net(nc->peer), features); + vdev->backend_features =3D features; + + if (n->mtu_bypass_backend && + (n->host_features & 1ULL << VIRTIO_NET_F_MTU)) { + features |=3D (1ULL << VIRTIO_NET_F_MTU); + } + + /* + * Since GUEST_ANNOUNCE is emulated the feature bit could be set witho= ut + * enabled. This happens in the vDPA case. + * + * Make sure the feature set is not incoherent, as the driver could re= fuse + * to start. + * + * TODO: QEMU is able to emulate a CVQ just for guest_announce purpose= s, + * helping guest to notify the new location with vDPA devices that doe= s not + * support it. + */ + if (!virtio_has_feature(vdev->backend_features, VIRTIO_NET_F_CTRL_VQ))= { + virtio_clear_feature(&features, VIRTIO_NET_F_GUEST_ANNOUNCE); + } + + return features; +} + static int virtio_net_post_load_device(void *opaque, int version_id) { VirtIONet *n =3D opaque; --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535174; cv=none; d=zohomail.com; s=zohoarc; b=d8ICCvGIlJmrhmdEPak02IpzlPQDat0AXkkH/WATY5Kc7UrmkwzBGUPIVGU1avVh8IAvUCYi7hjHvk8VxFnq/0QNjsbCj0luy4jB3k2P/kb+eTdwGX6ZWfMQotF8f3a5jjLPXZTKGPW665TO2klJq380oGL8+0yXYuOvfESmy5Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535174; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=oh92UO1fq7giggZS3iJdAbKSiUem3Rj0QL6NYcmrhqo=; b=DXQ83BzCe8FdvNEo4/obmajG1LB8+QDfY9CXfLwcBmoUSlpkb1wVMex2mnHl5n26P2l7IvAY0PJgz/jKzoGwBBl0DeiI3cWqniztv1rBWPdNH2vB/SMUSpBFLVDEYjqvJjmyVfxA6PyADZRM8wI4s4VI/hfipDh5oeG39RmzOmA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535174634330.25242477234076; Mon, 14 Jul 2025 16:19:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSFn-0001RV-1v; Mon, 14 Jul 2025 19:06:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFk-0001O5-Q4 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:32 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFi-0005Lb-SN for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:32 -0400 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-554-I0DDYzgXNkugz1Kb9NLaCg-1; Mon, 14 Jul 2025 19:06:28 -0400 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3a52bfda108so2378673f8f.3 for ; Mon, 14 Jul 2025 16:06:28 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-456101b616csm72711185e9.4.2025.07.14.16.06.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:06:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534390; 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: in-reply-to:in-reply-to:references:references; bh=oh92UO1fq7giggZS3iJdAbKSiUem3Rj0QL6NYcmrhqo=; b=SNWAPitPhd0/9/nwTD1Z2q+YlySoeImvTD398JB/qK3o4RPIl8/LkAHFUVqbqd1XLCkat4 XyYh6fy/fopOZ8iwWTgoYsUuuVHutcJgf0UkZxYFtKQRKTDHbGqVExO/zI7M4GLL1OObdN uqPzuPfOhTFmaBn2OrX83f5ZcMmdaDs= X-MC-Unique: I0DDYzgXNkugz1Kb9NLaCg-1 X-Mimecast-MFC-AGG-ID: I0DDYzgXNkugz1Kb9NLaCg_1752534388 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534387; x=1753139187; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=oh92UO1fq7giggZS3iJdAbKSiUem3Rj0QL6NYcmrhqo=; b=BDfGywz5QZo3TJI079T87SY+WXjtz+TFE68hbtgB379zqZv61Q9OVShl+5hs0g/fXX M+9H4kqiSt0UNFxN1K20V6Hefje3PMxkWos3oIaO3hzqW8vZKXla5GEtF9jfKz9bUAyC PLYDaJNu6AIwGmIrYpJxM9ApAhstDBG10wp9IZaOGo5q2HDgmEQ6r9FbaJt5AQpyyDHX SCR+K3NVaZwB6Y+/4fOqepsnjUftc/ZwnkS+BvB03jKuOglGPiSGnOagNVAuMcblnT9j yhoOvs7vOgKr4wZiBowd6eeOyjLG54MajFkmGoyVcUYgcA2sTJaJyS2oSkmb+nSS+oq5 bRCw== X-Gm-Message-State: AOJu0YxUHswlzjtb1j87MVNnQwI5ZDavA3CL+MAXt2m3O5QjU8dcHQQc CR5TTcQln55R0e/tWENnjxkwQ7NCtMZF21GpRCwB0dvaKGDtuF4fEQueqgohhvtiSuJdgDmUBIX pOpKn/jRNQ3yC7pEAxhpMPi2M73D6Wwwt9TIohCYfM8/JMApNUdgs75hBTznjUK6mvbt1Umk80w SjGKY+DH/XmyI4x+5KhgqB+rJnGSgEeV7lTg== X-Gm-Gg: ASbGncv8l5mFRp2k5WU+PozmNkDcEQG0rDw8eVVpvfMr4/hMuy9TV5RqcOKPQLvc/eK zUG5s88epU1buqIWP6FLqulONYettLabC3MikLsFdvE1mntf379Bz/3JiGEqSfXZKwBbbDS4w7t S9xesMwQrgw2XlfgIu+MyfiA7zjDPBpqJsekiOeaJCgx4v34OCsRR4ngsRLZ2xvv1jmVPm1vSIb DdEARRpggsyaYmTbu3YovGHhNsE9A44v+CqIF9s5/mKJT7JcjnZnY6chXOrJc3ZnD4Jiek9YdoS yWjuu7RvszQKxgzSFVLsQhN5VhR+Myr1 X-Received: by 2002:a5d:64cc:0:b0:3a4:d98d:76b9 with SMTP id ffacd0b85a97d-3b5f358567emr9811363f8f.41.1752534387172; Mon, 14 Jul 2025 16:06:27 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHls3U2TziYi9zjRa+UpyGNvsL3Gj81CzXJBSAPO3w9ufb077+PE3BPZ9kifJg9zV4DKgKJhw== X-Received: by 2002:a5d:64cc:0:b0:3a4:d98d:76b9 with SMTP id ffacd0b85a97d-3b5f358567emr9811348f8f.41.1752534386706; Mon, 14 Jul 2025 16:06:26 -0700 (PDT) Date: Mon, 14 Jul 2025 19:06:25 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Akihiko Odaki , Jason Wang Subject: [PULL 04/97] virtio-net: Retrieve peer hashing capability Message-ID: <7b6e7e49905d0682f67ae4d02fc9edc4a2ec7df5.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535176211116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Akihiko Odaki Retrieve peer hashing capability instead of hardcoding. Signed-off-by: Akihiko Odaki Message-Id: <20250530-vdpa-v1-4-5af4109b1c19@daynix.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/virtio/virtio-net.h | 5 ++- hw/net/virtio-net.c | 71 +++++++++++++++++++++++++++------- net/vhost-vdpa.c | 4 +- 3 files changed, 64 insertions(+), 16 deletions(-) diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h index b9ea9e824e..c4957c44c0 100644 --- a/include/hw/virtio/virtio-net.h +++ b/include/hw/virtio/virtio-net.h @@ -144,7 +144,10 @@ typedef struct VirtioNetRssData { bool enabled_software_rss; bool redirect; bool populate_hash; - uint32_t hash_types; + bool peer_hash_available; + uint32_t runtime_hash_types; + uint32_t supported_hash_types; + uint32_t peer_hash_types; uint8_t key[VIRTIO_NET_RSS_MAX_KEY_SIZE]; uint16_t indirections_len; uint16_t *indirections_table; diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 34fe5909c5..9888ff22bd 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -158,7 +158,7 @@ static void virtio_net_get_config(VirtIODevice *vdev, u= int8_t *config) virtio_host_has_feature(vdev, VIRTIO_NET_F_RSS) ? VIRTIO_NET_RSS_MAX_TABLE_LEN : 1); virtio_stl_p(vdev, &netcfg.supported_hash_types, - VIRTIO_NET_RSS_SUPPORTED_HASHES); + n->rss_data.supported_hash_types); memcpy(config, &netcfg, n->config_size); =20 /* @@ -1178,7 +1178,7 @@ static void rss_data_to_rss_config(struct VirtioNetRs= sData *data, { config->redirect =3D data->redirect; config->populate_hash =3D data->populate_hash; - config->hash_types =3D data->hash_types; + config->hash_types =3D data->runtime_hash_types; config->indirections_len =3D data->indirections_len; config->default_queue =3D data->default_queue; } @@ -1213,6 +1213,10 @@ static void virtio_net_detach_ebpf_rss(VirtIONet *n) =20 static void virtio_net_commit_rss_config(VirtIONet *n) { + if (n->rss_data.peer_hash_available) { + return; + } + if (n->rss_data.enabled) { n->rss_data.enabled_software_rss =3D n->rss_data.populate_hash; if (n->rss_data.populate_hash) { @@ -1227,7 +1231,7 @@ static void virtio_net_commit_rss_config(VirtIONet *n) } =20 trace_virtio_net_rss_enable(n, - n->rss_data.hash_types, + n->rss_data.runtime_hash_types, n->rss_data.indirections_len, sizeof(n->rss_data.key)); } else { @@ -1338,7 +1342,7 @@ static uint16_t virtio_net_handle_rss(VirtIONet *n, err_value =3D (uint32_t)s; goto error; } - n->rss_data.hash_types =3D virtio_ldl_p(vdev, &cfg.hash_types); + n->rss_data.runtime_hash_types =3D virtio_ldl_p(vdev, &cfg.hash_types); n->rss_data.indirections_len =3D virtio_lduw_p(vdev, &cfg.indirection_table_mask); if (!do_rss) { @@ -1401,12 +1405,12 @@ static uint16_t virtio_net_handle_rss(VirtIONet *n, err_value =3D temp.b; goto error; } - if (!temp.b && n->rss_data.hash_types) { + if (!temp.b && n->rss_data.runtime_hash_types) { err_msg =3D "No key provided"; err_value =3D 0; goto error; } - if (!temp.b && !n->rss_data.hash_types) { + if (!temp.b && !n->rss_data.runtime_hash_types) { virtio_net_disable_rss(n); return queue_pairs; } @@ -1808,7 +1812,7 @@ static int virtio_net_process_rss(NetClientState *nc,= const uint8_t *buf, net_rx_pkt_set_protocols(pkt, &iov, 1, n->host_hdr_len); net_rx_pkt_get_protocols(pkt, &hasip4, &hasip6, &l4hdr_proto); net_hash_type =3D virtio_net_get_hash_type(hasip4, hasip6, l4hdr_proto, - n->rss_data.hash_types); + n->rss_data.runtime_hash_type= s); if (net_hash_type > NetPktRssIpV6UdpEx) { if (n->rss_data.populate_hash) { hdr->hash_value =3D VIRTIO_NET_HASH_REPORT_NONE; @@ -3008,6 +3012,14 @@ static uint64_t virtio_net_get_features(VirtIODevice= *vdev, uint64_t features, { VirtIONet *n =3D VIRTIO_NET(vdev); NetClientState *nc =3D qemu_get_queue(n->nic); + uint32_t supported_hash_types =3D n->rss_data.supported_hash_types; + uint32_t peer_hash_types =3D n->rss_data.peer_hash_types; + bool use_own_hash =3D + (supported_hash_types & VIRTIO_NET_RSS_SUPPORTED_HASHES) =3D=3D + supported_hash_types; + bool use_peer_hash =3D + n->rss_data.peer_hash_available && + (supported_hash_types & peer_hash_types) =3D=3D supported_hash_typ= es; =20 /* Firstly sync all virtio-net possible supported features */ features |=3D n->host_features; @@ -3044,12 +3056,28 @@ static uint64_t virtio_net_get_features(VirtIODevic= e *vdev, uint64_t features, } =20 if (!get_vhost_net(nc->peer)) { + if (!use_own_hash) { + virtio_clear_feature(&features, VIRTIO_NET_F_HASH_REPORT); + virtio_clear_feature(&features, VIRTIO_NET_F_RSS); + } else if (virtio_has_feature(features, VIRTIO_NET_F_RSS)) { + virtio_net_load_ebpf(n, errp); + } + return features; } =20 - if (!ebpf_rss_is_loaded(&n->ebpf_rss)) { - virtio_clear_feature(&features, VIRTIO_NET_F_RSS); + if (!use_peer_hash) { + virtio_clear_feature(&features, VIRTIO_NET_F_HASH_REPORT); + + if (!use_own_hash || !virtio_net_attach_ebpf_to_backend(n->nic, -1= )) { + if (!virtio_net_load_ebpf(n, errp)) { + return features; + } + + virtio_clear_feature(&features, VIRTIO_NET_F_RSS); + } } + features =3D vhost_net_get_features(get_vhost_net(nc->peer), features); vdev->backend_features =3D features; =20 @@ -3314,6 +3342,17 @@ static const VMStateDescription vmstate_virtio_net_h= as_vnet =3D { }, }; =20 +static int virtio_net_rss_post_load(void *opaque, int version_id) +{ + VirtIONet *n =3D VIRTIO_NET(opaque); + + if (version_id =3D=3D 1) { + n->rss_data.supported_hash_types =3D VIRTIO_NET_RSS_SUPPORTED_HASH= ES; + } + + return 0; +} + static bool virtio_net_rss_needed(void *opaque) { return VIRTIO_NET(opaque)->rss_data.enabled; @@ -3321,14 +3360,16 @@ static bool virtio_net_rss_needed(void *opaque) =20 static const VMStateDescription vmstate_virtio_net_rss =3D { .name =3D "virtio-net-device/rss", - .version_id =3D 1, + .version_id =3D 2, .minimum_version_id =3D 1, + .post_load =3D virtio_net_rss_post_load, .needed =3D virtio_net_rss_needed, .fields =3D (const VMStateField[]) { VMSTATE_BOOL(rss_data.enabled, VirtIONet), VMSTATE_BOOL(rss_data.redirect, VirtIONet), VMSTATE_BOOL(rss_data.populate_hash, VirtIONet), - VMSTATE_UINT32(rss_data.hash_types, VirtIONet), + VMSTATE_UINT32(rss_data.runtime_hash_types, VirtIONet), + VMSTATE_UINT32_V(rss_data.supported_hash_types, VirtIONet, 2), VMSTATE_UINT16(rss_data.indirections_len, VirtIONet), VMSTATE_UINT16(rss_data.default_queue, VirtIONet), VMSTATE_UINT8_ARRAY(rss_data.key, VirtIONet, @@ -3915,8 +3956,12 @@ static void virtio_net_device_realize(DeviceState *d= ev, Error **errp) =20 net_rx_pkt_init(&n->rx_pkt); =20 - if (virtio_has_feature(n->host_features, VIRTIO_NET_F_RSS)) { - virtio_net_load_ebpf(n, errp); + if (qemu_get_vnet_hash_supported_types(qemu_get_queue(n->nic)->peer, + &n->rss_data.peer_hash_types)) { + n->rss_data.peer_hash_available =3D true; + n->rss_data.supported_hash_types =3D n->rss_data.peer_hash_types; + } else { + n->rss_data.supported_hash_types =3D VIRTIO_NET_RSS_SUPPORTED_HASH= ES; } } =20 diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c index cb63e09453..3452835ca9 100644 --- a/net/vhost-vdpa.c +++ b/net/vhost-vdpa.c @@ -865,13 +865,13 @@ static int vhost_vdpa_net_load_rss(VhostVDPAState *s,= const VirtIONet *n, * configuration only at live migration. */ if (!n->rss_data.enabled || - n->rss_data.hash_types =3D=3D VIRTIO_NET_HASH_REPORT_NONE) { + n->rss_data.runtime_hash_types =3D=3D VIRTIO_NET_HASH_REPORT_NONE)= { return 0; } =20 table =3D g_malloc_n(n->rss_data.indirections_len, sizeof(n->rss_data.indirections_table[0])); - cfg.hash_types =3D cpu_to_le32(n->rss_data.hash_types); + cfg.hash_types =3D cpu_to_le32(n->rss_data.runtime_hash_types); =20 if (do_rss) { /* --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534609; cv=none; d=zohomail.com; s=zohoarc; b=WN0rMt+TxzYSZ2uQFrz69JbbVHUn6mDyZ4P7N9JoTC/Hdz2DMgv3bSWIiOWbNxWTyGUSiNwLJScBPZgoM+9+5BQxihEPr9cBuaXBDajDLVRcsvFp2TADa1mrw2od9pIE8pVUhBauee8TLO6rKkDtpV2dhGjvdKwBstvzJx9tk5E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534609; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=DG1PqByL3IC/PiBLU/+s4IYueIo3mUvgkes7wFVRFTI=; b=dj/VYn81Kks+rTJ8jqswVPDbS5h3amN817U/qJOC9uaGfiyz3kRSYVcTcjHgGOh7tQLTMsoIJTSCTujkwrF2Ao0JfRbCI7VlcQe6m5aPm0efj2w9HD+xq9l7QwikeaSH50vCSwwApTc0s0fMZOiesOZZtjpvYDoGTMExrNnY4zw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534609388680.6093260630597; Mon, 14 Jul 2025 16:10:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSFo-0001UJ-Nu; Mon, 14 Jul 2025 19:06:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFm-0001Q8-HO for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:34 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFl-0005Lx-2d for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:34 -0400 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-286-yQk-9NumMM2u_eWFw6temQ-1; Mon, 14 Jul 2025 19:06:31 -0400 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3a4f6ff23ccso2493750f8f.2 for ; Mon, 14 Jul 2025 16:06:30 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e1e285sm13352373f8f.76.2025.07.14.16.06.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:06:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534392; 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: in-reply-to:in-reply-to:references:references; bh=DG1PqByL3IC/PiBLU/+s4IYueIo3mUvgkes7wFVRFTI=; b=U0b/6FbJSlhtKHaEl6Jz6g0QxWmbrtHxBfvkIbZanb8mrjeomFEmhs/rX5pJ5ghHP086ZL ryOUNm0v/VN6MpeVKLcAO6Mp5TSPbOwiPABDCVuHZAY11Elx4/zRP2Dyi9BvCCU6o29VTB EUDj6MsrH0KFH2+slO5SDw1Jd/ZTVKs= X-MC-Unique: yQk-9NumMM2u_eWFw6temQ-1 X-Mimecast-MFC-AGG-ID: yQk-9NumMM2u_eWFw6temQ_1752534390 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534390; x=1753139190; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=DG1PqByL3IC/PiBLU/+s4IYueIo3mUvgkes7wFVRFTI=; b=XRM7AGNb90x0G5Z2snplX8r7Iu/u5AQM3Wev9DyGf/202lcFoz4mjBkcgrsfhOrE8u ue3rowMzTlUKrIOTIhwyxI8gWqO/sG/QscAe/+swHpMinAIvj0ni5sEk8F7tPw2aI4UY BxVHnywobv3qLhrvFHvTBZNQqNMDKyYo0d//A6LWOtQpy38q+syiRwxxukbbckpxUcq1 G5iIeYA9N3fyBxtZ40bfurSmOwqgPgZVy0Ph7dg1I4alka++ncFL8xkJAl5PgIzAKhSi /Xs3zPfncwhOqUMDDbP1zGZJ0Kb2ANvFkoldxeqgNwO51EH25M4iEcUj4mYdcYznv2GK OmJA== X-Gm-Message-State: AOJu0YzZMNJosb6xr41Y1nuEcsNVYba7sY0/svr2HfhDV5C7X1AjwnJP nKr1Vaku87Bjhras1eCYsrAI9imlnsMW3BwfxOPr4TcyFGZXZHFOSTt+/o5GnJTnmb5E87ZKf6G Iwwi7hogENn9wuasziKa9G6UP18nSkkUmRGpM84PG49ZQyfa7oreb02hjhAz49TjvnvZfyHaYGS iRnM4uk6OctyF0Qj7aso2/C3f5X4YazyP0sg== X-Gm-Gg: ASbGnctutMKHrUw5EtHoe1xv8/E3ZD15wcF33J9FKtKvDGVGnhED3D3gARtDOCVZ2qj zctdCzBTCF9KqauIN/MMXU0RqIj0YZsU4HhLmoWEj5Oswbe2DyPVNyjzhSbk3sh3RRpksJK+20i CAJNqXGo4r16VnvnM745R8CM7GbimE0vpIrgnK9w3E5ZsvtFU9YaLS9yH4mNrwTqpEikWVWAFPM Q5RDp/Laq8Ofteso9bRxPGkXz8IFLPGlGyk16HF3hXl9GN37e4Dksfv/5fEuFUI26uPOh2UyVhU zTfqjeUmY66oiyI9nK+RyOwhCN0zixsq X-Received: by 2002:a5d:4291:0:b0:3a5:8d0b:600c with SMTP id ffacd0b85a97d-3b60a145bc0mr193293f8f.3.1752534389619; Mon, 14 Jul 2025 16:06:29 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHR3Dj+4b4wA9vF6wyhMFuSIyxf8/5JVmz4dGLSFkKezXvZGvDRH8XKRKIzvqA2m0zyJXC0uA== X-Received: by 2002:a5d:4291:0:b0:3a5:8d0b:600c with SMTP id ffacd0b85a97d-3b60a145bc0mr193282f8f.3.1752534389203; Mon, 14 Jul 2025 16:06:29 -0700 (PDT) Date: Mon, 14 Jul 2025 19:06:26 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Akihiko Odaki , Jason Wang Subject: [PULL 05/97] net/vhost-vdpa: Remove dummy SetSteeringEBPF Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534610663116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Akihiko Odaki It is no longer used. Signed-off-by: Akihiko Odaki Message-Id: <20250530-vdpa-v1-5-5af4109b1c19@daynix.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- net/vhost-vdpa.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/net/vhost-vdpa.c b/net/vhost-vdpa.c index 3452835ca9..0f782ed444 100644 --- a/net/vhost-vdpa.c +++ b/net/vhost-vdpa.c @@ -239,12 +239,6 @@ static void vhost_vdpa_cleanup(NetClientState *nc) g_free(s->vhost_vdpa.shared); } =20 -/** Dummy SetSteeringEBPF to support RSS for vhost-vdpa backend */ -static bool vhost_vdpa_set_steering_ebpf(NetClientState *nc, int prog_fd) -{ - return true; -} - static bool vhost_vdpa_has_vnet_hdr(NetClientState *nc) { assert(nc->info->type =3D=3D NET_CLIENT_DRIVER_VHOST_VDPA); @@ -458,7 +452,6 @@ static NetClientInfo net_vhost_vdpa_info =3D { .has_ufo =3D vhost_vdpa_has_ufo, .set_vnet_le =3D vhost_vdpa_set_vnet_le, .check_peer_type =3D vhost_vdpa_check_peer_type, - .set_steering_ebpf =3D vhost_vdpa_set_steering_ebpf, }; =20 static int64_t vhost_vdpa_get_vring_group(int device_fd, unsigned vq_index, @@ -1314,7 +1307,6 @@ static NetClientInfo net_vhost_vdpa_cvq_info =3D { .get_vnet_hash_supported_types =3D vhost_vdpa_get_vnet_hash_supported_= types, .has_ufo =3D vhost_vdpa_has_ufo, .check_peer_type =3D vhost_vdpa_check_peer_type, - .set_steering_ebpf =3D vhost_vdpa_set_steering_ebpf, }; =20 /* --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535248; cv=none; d=zohomail.com; s=zohoarc; b=ngQYML7r23PVklEqxjc0jDFLY6esPeKixfvLGWVzX2mw2Omuw7/1z1z06DePYM3379Ook0hG6wgp/CRaVw+sAdjUycApyzRG1gHdxmVOjEHDCPmx8RkDexo4eNMGYCukTESJdpTyezCgojtf/k9vT32I93Wmvt02Ge+KvHRWkqI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535248; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=3bg7AEVJg/9+B0Q277s7PjoUmjr+ue8mbxt0k+bakIw=; b=jN7Vy6hoKmVfPIZl/35zmC2g68sFXGgRH5W4i6MKO2cL6tUEaujc+v8xnuX9P7RAskuztOKlPdIvU7DkN1BNblYUiq24xuNI97OFPV8r/5tq6Mg/LHa5KZm2FRrAm/8fYsFDQWQ4WFTUerwpQ7ef8dwJtVye5FIVkqFbTh7GJII= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535248487474.5837760977214; Mon, 14 Jul 2025 16:20:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSFq-0001bt-DX; Mon, 14 Jul 2025 19:06:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFo-0001UI-MA for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:36 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFn-0005ME-1L for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:36 -0400 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-55-EAzvNBS-N9CJInY1EGQnwA-1; Mon, 14 Jul 2025 19:06:33 -0400 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3a4f858bc5eso3630975f8f.0 for ; Mon, 14 Jul 2025 16:06:32 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-455f222e4f4sm104479425e9.10.2025.07.14.16.06.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:06:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534394; 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: in-reply-to:in-reply-to:references:references; bh=3bg7AEVJg/9+B0Q277s7PjoUmjr+ue8mbxt0k+bakIw=; b=BE0F5sPqyraJPfVQBNtv5R2DAuDszoXZKNwFGE6z0Ak8e3GCePatYIZJu3iljghwXCBLW+ 762RJ9TvuEStRr9D8CV/cGoGCIhs6bsmXaHFwEVr+lsR7du/WMUR4pPQFWNh8eJTfNXzX+ sqpzwYnqcKACw39dWkG5Cip9Otro0as= X-MC-Unique: EAzvNBS-N9CJInY1EGQnwA-1 X-Mimecast-MFC-AGG-ID: EAzvNBS-N9CJInY1EGQnwA_1752534392 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534391; x=1753139191; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=3bg7AEVJg/9+B0Q277s7PjoUmjr+ue8mbxt0k+bakIw=; b=lgOYCzLpAyEb035IKDrg2ogtTaZI7ks5ehMlpplB/8SOMtJXqRO0BFKM71Oacna6h+ 60nd05WyXWYnP9mk5PLjr/rYdejheqEiL0db9SJsXpTXT3Pka8zkDwYj3o9n+sOaf773 B972dAjeD4v3/iU0CYqfPiMYTe40GI0dG4T5ygJMke8svpRzxYWK5aFmMqI/TKGyftri SovjZs486p7VO2ADor1RhxHHmc8Adglt2E0NzMkOnb/CkQ93JJVAxJ716rbXv5xXOIQZ h1fl4JVD5JmL8cxVeL2trfuUyvRIOD8vg2CbtNdZfkloW1+EcX/Df+LXOAADU768T/D0 PZtw== X-Gm-Message-State: AOJu0YzVE6EucS+ae4PBnT2GRv7+TpMIlF2q5XqiMOSEmc9UM+wErnl0 14LpIckQbiJj6RjxXDQpfWPS6yrQDGq9UzKN0Z2ctVLtiL3PXbJYuLVqoSP71B0jYxqrc2jms1c tCWglRFDe58DDbGG44U07nTTM5/+EE3hTuK5775E6a/jbycwNm4XHYqs4qI5XFgC25IgEfM/Bcc KWLIsseIcvAghim9cWhGzD04CqwxZXcRzOXg== X-Gm-Gg: ASbGncsDbPByg7S8GJy9tveaw7FUW8i6U9BoS02vYVy9aaRBBQvS2ufqC+0+0jMh3dm f6V5M1lAhHvLBEYuc5RcAZI+3dpL3d5qJPGfahAWWE6CBmvd4Cu9C9xIQWJFaW9Hio/Joj/lCuO b9n7VCr60xOnVSZt1ePzu9sj5HIidjJollUu4NSBYLt0JDgwjylUSGqUijvLFUAhBhlCg7Gcc+5 CXhRqsB3D42psGu3anpBiEbnUTNljQF5DJ+JcOZDOC8t3b+OQHpMyv7zm9z7pM5VrctVQLN/jT8 4agtWVqQ8J4wvU3F2hdA8xbkCXehkrUf X-Received: by 2002:a05:6000:2203:b0:3a5:57b7:cd7b with SMTP id ffacd0b85a97d-3b5f2dd118cmr9836875f8f.22.1752534391520; Mon, 14 Jul 2025 16:06:31 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFwFS5502dgwfUrzqLfaf0TV1G0nB3jWBlHH0FysnqJk78cA7g8TN52vk/a0L2hNAsOqPQxrA== X-Received: by 2002:a05:6000:2203:b0:3a5:57b7:cd7b with SMTP id ffacd0b85a97d-3b5f2dd118cmr9836859f8f.22.1752534390965; Mon, 14 Jul 2025 16:06:30 -0700 (PDT) Date: Mon, 14 Jul 2025 19:06:29 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Akihiko Odaki , Jason Wang Subject: [PULL 06/97] virtio-net: Add hash type options Message-ID: <729b5734197d1afad364bb025a827438bb85e050.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535250812116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Akihiko Odaki By default, virtio-net limits the hash types that will be advertised to the guest so that all hash types are covered by the offloading capability the client provides. This change allows to override this behavior and to advertise hash types that require user-space hash calculation by specifying "on" for the corresponding properties. Signed-off-by: Akihiko Odaki Message-Id: <20250530-vdpa-v1-6-5af4109b1c19@daynix.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/virtio/virtio-net.h | 1 + hw/net/virtio-net.c | 45 ++++++++++++++++++++++++++++++++-- 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/include/hw/virtio/virtio-net.h b/include/hw/virtio/virtio-net.h index c4957c44c0..73fdefc0dc 100644 --- a/include/hw/virtio/virtio-net.h +++ b/include/hw/virtio/virtio-net.h @@ -148,6 +148,7 @@ typedef struct VirtioNetRssData { uint32_t runtime_hash_types; uint32_t supported_hash_types; uint32_t peer_hash_types; + OnOffAutoBit64 specified_hash_types; uint8_t key[VIRTIO_NET_RSS_MAX_KEY_SIZE]; uint16_t indirections_len; uint16_t *indirections_table; diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 9888ff22bd..6af230bca9 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3959,9 +3959,14 @@ static void virtio_net_device_realize(DeviceState *d= ev, Error **errp) if (qemu_get_vnet_hash_supported_types(qemu_get_queue(n->nic)->peer, &n->rss_data.peer_hash_types)) { n->rss_data.peer_hash_available =3D true; - n->rss_data.supported_hash_types =3D n->rss_data.peer_hash_types; + n->rss_data.supported_hash_types =3D + n->rss_data.specified_hash_types.on_bits | + (n->rss_data.specified_hash_types.auto_bits & + n->rss_data.peer_hash_types); } else { - n->rss_data.supported_hash_types =3D VIRTIO_NET_RSS_SUPPORTED_HASH= ES; + n->rss_data.supported_hash_types =3D + n->rss_data.specified_hash_types.on_bits | + n->rss_data.specified_hash_types.auto_bits; } } =20 @@ -4178,6 +4183,42 @@ static const Property virtio_net_properties[] =3D { VIRTIO_NET_F_GUEST_USO6, true), DEFINE_PROP_BIT64("host_uso", VirtIONet, host_features, VIRTIO_NET_F_HOST_USO, true), + DEFINE_PROP_ON_OFF_AUTO_BIT64("hash-ipv4", VirtIONet, + rss_data.specified_hash_types, + VIRTIO_NET_HASH_REPORT_IPv4 - 1, + ON_OFF_AUTO_AUTO), + DEFINE_PROP_ON_OFF_AUTO_BIT64("hash-tcp4", VirtIONet, + rss_data.specified_hash_types, + VIRTIO_NET_HASH_REPORT_TCPv4 - 1, + ON_OFF_AUTO_AUTO), + DEFINE_PROP_ON_OFF_AUTO_BIT64("hash-udp4", VirtIONet, + rss_data.specified_hash_types, + VIRTIO_NET_HASH_REPORT_UDPv4 - 1, + ON_OFF_AUTO_AUTO), + DEFINE_PROP_ON_OFF_AUTO_BIT64("hash-ipv6", VirtIONet, + rss_data.specified_hash_types, + VIRTIO_NET_HASH_REPORT_IPv6 - 1, + ON_OFF_AUTO_AUTO), + DEFINE_PROP_ON_OFF_AUTO_BIT64("hash-tcp6", VirtIONet, + rss_data.specified_hash_types, + VIRTIO_NET_HASH_REPORT_TCPv6 - 1, + ON_OFF_AUTO_AUTO), + DEFINE_PROP_ON_OFF_AUTO_BIT64("hash-udp6", VirtIONet, + rss_data.specified_hash_types, + VIRTIO_NET_HASH_REPORT_UDPv6 - 1, + ON_OFF_AUTO_AUTO), + DEFINE_PROP_ON_OFF_AUTO_BIT64("hash-ipv6ex", VirtIONet, + rss_data.specified_hash_types, + VIRTIO_NET_HASH_REPORT_IPv6_EX - 1, + ON_OFF_AUTO_AUTO), + DEFINE_PROP_ON_OFF_AUTO_BIT64("hash-tcp6ex", VirtIONet, + rss_data.specified_hash_types, + VIRTIO_NET_HASH_REPORT_TCPv6_EX - 1, + ON_OFF_AUTO_AUTO), + DEFINE_PROP_ON_OFF_AUTO_BIT64("hash-udp6ex", VirtIONet, + rss_data.specified_hash_types, + VIRTIO_NET_HASH_REPORT_UDPv6_EX - 1, + ON_OFF_AUTO_AUTO), }; =20 static void virtio_net_class_init(ObjectClass *klass, const void *data) --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535308; cv=none; d=zohomail.com; s=zohoarc; b=Enk5pHZGXfVE7CpEJWZ46Whb7UfL7IKulbe/Cdv8KYk2oos7ebjnAOaQqf92aj0FVyv4xvlDalrqd1kDvBjeWUkPGwVBh79Wxplx3NjrhhjNt/ItzGIv1z3NKDMDx36JeEstGl0viLUJgB3LLQ2FWswAGcjhSKdF0XHjre/sFZQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535308; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=t8qJ4HdgdldyegLzyhVLDGluqXOekO1R56zT/QVUxjQ=; b=G6n4fgRqOv0rfG7MuEHNDafx9eiF77f4x+IM+1PHmoilaVPfSbD+KyYAYRs0hcJYPxAy+CdZGU3vyUPXfySyrJzqWF5ciHQg5+oesNIIOmllEWUADEtx2f8tDW6QjNusyFxyYhFlkY5K03I3JMfC9c0aRtLWxbf74/VniMFPaw4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535308581310.1414113866889; Mon, 14 Jul 2025 16:21:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSFs-0001xs-Vp; Mon, 14 Jul 2025 19:06:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFq-0001cA-LL for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:38 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFo-0005MR-Qk for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:38 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-74--h8Wn-EGO8SFA0_aybB1sw-1; Mon, 14 Jul 2025 19:06:35 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-4561dfd07bcso6878175e9.1 for ; Mon, 14 Jul 2025 16:06:34 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e26f45sm13670684f8f.92.2025.07.14.16.06.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:06:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534396; 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: in-reply-to:in-reply-to:references:references; bh=t8qJ4HdgdldyegLzyhVLDGluqXOekO1R56zT/QVUxjQ=; b=B+/Bl0AFwgp4HOZJH7oU6ubknbeUfNoa9PKvzNOKPrC5ovFIpBuJSvd0IoHpdr3FZWAbMB v1y1x0KoTlbgwFihx/eg9qclcQz/W0BLtRr0J3JrYPh2q17CgKqsrVBJD+0qPPHtLq4GOe P+4o74wIk8ffaGTTB9A2z0q5oslSr5s= X-MC-Unique: -h8Wn-EGO8SFA0_aybB1sw-1 X-Mimecast-MFC-AGG-ID: -h8Wn-EGO8SFA0_aybB1sw_1752534394 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534393; x=1753139193; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=t8qJ4HdgdldyegLzyhVLDGluqXOekO1R56zT/QVUxjQ=; b=djy7FUmNo0bJpo9FMDznNjjf3JBZrHNv8KxExMNXoG/F7w2DiGXib9GOFtps1SmBqf b+dv+COwiDxQjpRaRQ3tK5//3gBKAt3dFc90HflqyMv5v+vb+u8Q0YOLDa1HsOKJuZF2 7X+KBBS6HdPfFVw9l19c1NOVisLUNUNy+25Bj1Zbb0I6ZvQXAEE7TV7bFm8cVmMmEf5L sAWC5nI6at3xIDcYX6oPAK5YFVrcmlEP7YoVwXUBNykXBvWW3JBkHQZe5K01NL6mO2/j udr80pBBPPck2XMUbWtQllNWQpby5N8cGAtDb8Hpkhs/y8D59DAeIDtThrC3ABqBYRCO iVjQ== X-Gm-Message-State: AOJu0YyhKWHS+72548xJXeJYdGjAEVS9VfjZ7qYW9qb269Ki7JRvUmZZ e7ML60ShP25Yw+zU61OhrFFmWkvZmgqHnEzD8RG7DQlv7Xvr5560I1SEW+5KOoJqrqhtkDrDgjP baF1M1jbAvW6zdeDV8fuWWBJHAVHqxtyj3inExEH2xxUy6lNaCYifEjyn+SlT1u10jK82f8n+17 bkZfUKhYQarv4h/IuG+dLF4AhugvBOD3RpSw== X-Gm-Gg: ASbGncupkPGBY2oFnjZtbNRivl5BecLRg4lgDEcOKKy9HqFIQ9jCHhwlYnOB0/fb3dS lEjifM0Km/2A6apPgAnFv6VivYp615wtQecFpiyc81IdlxM0PpBqWG259e1TCcz6F/DTtRF6a/k lPP3nIJZegA7TYEG7Fwq9d9kT6Bwtdgb5EquPKPDmfz984MCvKyF7w/Y8GFSyfDXwIkm9707QC9 VN9ZJ/xLPK4PIgL67fcaYwnZ7R6FKPJhU+5UMnR6QuQEI63QuooXQjRL+POJdTQaClm+TEW/WrW Yav0HHsgGbRCyShMHhu4Lr6ssUakXVMn X-Received: by 2002:a05:6000:2285:b0:3a5:2d42:aa17 with SMTP id ffacd0b85a97d-3b5f18dc655mr10247498f8f.31.1752534393463; Mon, 14 Jul 2025 16:06:33 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH4k80u1akedcPRgFaPivFgzhK2UweA1hkRP/5T3QrIgl9qYOdQy3wLLdDfGpKRYnmlwVw3IQ== X-Received: by 2002:a05:6000:2285:b0:3a5:2d42:aa17 with SMTP id ffacd0b85a97d-3b5f18dc655mr10247481f8f.31.1752534392923; Mon, 14 Jul 2025 16:06:32 -0700 (PDT) Date: Mon, 14 Jul 2025 19:06:31 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , David Hildenbrand , yuanminghao , Igor Mammedov , Stefano Garzarella Subject: [PULL 07/97] vhost: Fix used memslot tracking when destroying a vhost device Message-ID: <9f749129e2629b19f424df106c92c5a5647e396c.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535309318116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: David Hildenbrand When we unplug a vhost device, we end up calling vhost_dev_cleanup() where we do a memory_listener_unregister(). This memory_listener_unregister() call will end up disconnecting the listener from the address space through listener_del_address_space(). In that process, we effectively communicate the removal of all memory regions from that listener, resulting in region_del() + commit() callbacks getting triggered. So in case of vhost, we end up calling vhost_commit() with no remaining memory slots (0). In vhost_commit() we end up overwriting the global variables used_memslots / used_shared_memslots, used for detecting the number of free memslots. With used_memslots / used_shared_memslots set to 0 by vhost_commit() during device removal, we'll later assume that the other vhost devices still have plenty of memslots left when calling vhost_get_free_memslots(). Let's fix it by simply removing the global variables and depending only on the actual per-device count. Easy to reproduce by adding two vhost-user devices to a VM and then hot-unplugging one of them. While at it, detect unexpected underflows in vhost_get_free_memslots() and issue a warning. Reported-by: yuanminghao Link: https://lore.kernel.org/qemu-devel/20241121060755.164310-1-yuanmh12@c= hinatelecom.cn/ Fixes: 2ce68e4cf5be ("vhost: add vhost_has_free_slot() interface") Cc: Igor Mammedov Cc: Michael S. Tsirkin Cc: Stefano Garzarella Signed-off-by: David Hildenbrand Message-Id: <20250603111336.1858888-1-david@redhat.com> Reviewed-by: Igor Mammedov Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/vhost.c | 37 ++++++++++--------------------------- 1 file changed, 10 insertions(+), 27 deletions(-) diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index fc43853704..c87861b31f 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -47,12 +47,6 @@ static struct vhost_log *vhost_log[VHOST_BACKEND_TYPE_MA= X]; static struct vhost_log *vhost_log_shm[VHOST_BACKEND_TYPE_MAX]; static QLIST_HEAD(, vhost_dev) vhost_log_devs[VHOST_BACKEND_TYPE_MAX]; =20 -/* Memslots used by backends that support private memslots (without an fd)= . */ -static unsigned int used_memslots; - -/* Memslots used by backends that only support shared memslots (with an fd= ). */ -static unsigned int used_shared_memslots; - static QLIST_HEAD(, vhost_dev) vhost_devices =3D QLIST_HEAD_INITIALIZER(vhost_devices); =20 @@ -74,15 +68,15 @@ unsigned int vhost_get_free_memslots(void) =20 QLIST_FOREACH(hdev, &vhost_devices, entry) { unsigned int r =3D hdev->vhost_ops->vhost_backend_memslots_limit(h= dev); - unsigned int cur_free; + unsigned int cur_free =3D r - hdev->mem->nregions; =20 - if (hdev->vhost_ops->vhost_backend_no_private_memslots && - hdev->vhost_ops->vhost_backend_no_private_memslots(hdev)) { - cur_free =3D r - used_shared_memslots; + if (unlikely(r < hdev->mem->nregions)) { + warn_report_once("used (%u) vhost backend memory slots exceed" + " the device limit (%u).", hdev->mem->nregion= s, r); + free =3D 0; } else { - cur_free =3D r - used_memslots; + free =3D MIN(free, cur_free); } - free =3D MIN(free, cur_free); } return free; } @@ -666,13 +660,6 @@ static void vhost_commit(MemoryListener *listener) dev->mem =3D g_realloc(dev->mem, regions_size); dev->mem->nregions =3D dev->n_mem_sections; =20 - if (dev->vhost_ops->vhost_backend_no_private_memslots && - dev->vhost_ops->vhost_backend_no_private_memslots(dev)) { - used_shared_memslots =3D dev->mem->nregions; - } else { - used_memslots =3D dev->mem->nregions; - } - for (i =3D 0; i < dev->n_mem_sections; i++) { struct vhost_memory_region *cur_vmr =3D dev->mem->regions + i; struct MemoryRegionSection *mrs =3D dev->mem_sections + i; @@ -1619,15 +1606,11 @@ int vhost_dev_init(struct vhost_dev *hdev, void *op= aque, QLIST_INSERT_HEAD(&vhost_devices, hdev, entry); =20 /* - * The listener we registered properly updated the corresponding count= er. - * So we can trust that these values are accurate. + * The listener we registered properly setup the number of required + * memslots in vhost_commit(). */ - if (hdev->vhost_ops->vhost_backend_no_private_memslots && - hdev->vhost_ops->vhost_backend_no_private_memslots(hdev)) { - used =3D used_shared_memslots; - } else { - used =3D used_memslots; - } + used =3D hdev->mem->nregions; + /* * We assume that all reserved memslots actually require a real memslot * in our vhost backend. This might not be true, for example, if the --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534531; cv=none; d=zohomail.com; s=zohoarc; b=eL80ruEer2rPMPSEiCfVoyncJ5aGIZmFf6gO5Xh7qIa4kIcmRiiksgSXJz1o4LlTY+5kKPaA6CBAPNh9QOyt5haCJry9hdL5MzEb0cSwu1IaH3JhwjVuOEwxrIVGvBu1PD9y8R+UpXsjmn9ldhHmw0QlWt8siLqm1grkIdPFcEU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534531; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=gJuqhChPRmOX5xRXsCyEYU8+IpMhen8QYBWBgrWseb8=; b=d0rYx3M2ZbvhJmiS0iY62sy4ButCO8hpzB5fEubBxfmsTAS/sZXoShCJzvFtsmuz00lIYSgqdyk7UX+B3Wrxbl2dP/TXfRpF9Tpj3ry8X+aV7c0AyDNbnHh38FJiEXhEMfeA7B0juFQzYmysgL8UxA+rxzkosAyVRkFbkvXL3TY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534531272344.6244943420286; Mon, 14 Jul 2025 16:08:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSFw-0002L4-Pp; Mon, 14 Jul 2025 19:06:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFt-00023N-AX for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:41 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFr-0005NL-FO for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:40 -0400 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-516-wufOlXSNPWeMpxNn2lG5Rw-1; Mon, 14 Jul 2025 19:06:37 -0400 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3a4f3796779so2162776f8f.1 for ; Mon, 14 Jul 2025 16:06:37 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e1e135sm13638629f8f.72.2025.07.14.16.06.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:06:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534398; 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: in-reply-to:in-reply-to:references:references; bh=gJuqhChPRmOX5xRXsCyEYU8+IpMhen8QYBWBgrWseb8=; b=CfwezSMjq9t7neOiT1LrO3G3K+mJadIGM3EvdOVcYzQKKWD7345O6W+YkoIWtKQx41oXaY NBVDECu5zobHeQx2jxImi32ELrBcA3fKp8DbEFTkBUZUjplXeracowE1rhPi3f2Yqpu3QJ dFNQZ0I3CGcODw9dPS0gMTDkwunc5Ms= X-MC-Unique: wufOlXSNPWeMpxNn2lG5Rw-1 X-Mimecast-MFC-AGG-ID: wufOlXSNPWeMpxNn2lG5Rw_1752534396 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534396; x=1753139196; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=gJuqhChPRmOX5xRXsCyEYU8+IpMhen8QYBWBgrWseb8=; b=Jftl4E9cVCkX45vX6SsL8J9L4P8uneKFL9Hlq0mTamIZchovFwabjfefy9t4VempVV vu8SylR5Oz4z2hTl7is7EJNf4iCKr/TPG1N4hJmei2Wnu3TtBhL9GxZvC204w1zPQuBe cfpxsfmTGcFW0EsmAhw6wPW806DpIY89EjGeWjTz5lZPLOBe9fuaSZ3/T5465DaHViDp 2mSqNlUpeXmY4VPy3JtQW6XCd9Ti1J9Y9xyNzNpBtYhH4Ir987AOToSDowaHBqm4ZKjF SdgtJb++myAUqVAmlA6we7uucxINCpuiuqD7tFj3V4+JlxC+aFPaiKjt9fULP7B4EGWT UD6A== X-Gm-Message-State: AOJu0Yyk/yCkbB1B4SFI9oSVQTxz59uiBLWKG+QB4ohsJnr/Q0Y/2crj 6rw7wN6YwOUyCZkPIE1AvB7ooOpVeHr0EbRTb5JFrkosNpkGg/pzaDzkKtAJEUlobAp7Y58QeSo +014kGmWBH0aXmr1jqde0eqAQjHRPHf+lB06wzTZs8RbJZZ76TVKmLJqUfqKvCwJqMX5fQF1Ryr J7A66l9p5oyZMbCBfyoYFWBVXlSfumvfSAbA== X-Gm-Gg: ASbGncttq0Ookd6jTZC081JjHMMwLFb89z1kYIIhIV4VAqOVqdSrhwX3vvQ9HV+lnZj KKD1rgvtx1McrqAnsPGei/+lYpIOGhid1/VWpgOuy4UuigYdIPy2Wtcb8wyDHkryx5jX+NTviQS 1S1nfllkTLdIX1Jw77pV3pIQnuQ9UYp/mmxhfanBR1JO2FSOc+INkGnpn5ptC3pODQclqxzKEBt pQKEDf6sadOazarVTtL86V2XhV0gLhyne5PJLCsKjj/cd7piYFBmxkYiogyqYMHQxm6EeijcVoB pSlPqC06mYZOKPFAtLpu7GmXnvsqZ97+ X-Received: by 2002:a5d:60ca:0:b0:3a5:2a24:fbf5 with SMTP id ffacd0b85a97d-3b60a15700amr197361f8f.18.1752534395907; Mon, 14 Jul 2025 16:06:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFQOFl1MFDKvX4Qy4Ii82y2NGJiGxSDTtb+K+1NBFlF1rTvbUllIyCQwqQhRNN+ot736otvDw== X-Received: by 2002:a5d:60ca:0:b0:3a5:2a24:fbf5 with SMTP id ffacd0b85a97d-3b60a15700amr197347f8f.18.1752534395475; Mon, 14 Jul 2025 16:06:35 -0700 (PDT) Date: Mon, 14 Jul 2025 19:06:33 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Daniil Tatianin , Vladimir Sementsov-Ogievskiy , Paolo Bonzini Subject: [PULL 08/97] softmmu/runstate: add a way to detect force shutdowns Message-ID: <260f826cf8f2fe54f3cf4de541d761cf616e15ea.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534532348116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Daniil Tatianin This can be useful for devices that might take too long to shut down gracefully, but may have a way to shutdown quickly otherwise if needed or explicitly requested by a force shutdown. For now we only consider SIGTERM or the QMP quit() command a force shutdown, since those bypass the guest entirely and are equivalent to pulling the power plug. Signed-off-by: Daniil Tatianin Message-Id: <20250609212547.2859224-2-d-tatianin@yandex-team.ru> Reviewed-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/system/runstate.h | 1 + system/runstate.c | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/include/system/runstate.h b/include/system/runstate.h index fdd5c4a517..b406a3960e 100644 --- a/include/system/runstate.h +++ b/include/system/runstate.h @@ -107,6 +107,7 @@ void qemu_system_vmstop_request(RunState reason); void qemu_system_vmstop_request_prepare(void); bool qemu_vmstop_requested(RunState *r); ShutdownCause qemu_shutdown_requested_get(void); +bool qemu_force_shutdown_requested(void); ShutdownCause qemu_reset_requested_get(void); void qemu_system_killed(int signal, pid_t pid); void qemu_system_reset(ShutdownCause reason); diff --git a/system/runstate.c b/system/runstate.c index 38900c935a..e18eb8cb0c 100644 --- a/system/runstate.c +++ b/system/runstate.c @@ -437,6 +437,7 @@ static ShutdownCause reset_requested; static ShutdownCause shutdown_requested; static int shutdown_exit_code =3D EXIT_SUCCESS; static int shutdown_signal; +static bool force_shutdown; static pid_t shutdown_pid; static int powerdown_requested; static int debug_requested; @@ -457,6 +458,11 @@ ShutdownCause qemu_shutdown_requested_get(void) return shutdown_requested; } =20 +bool qemu_force_shutdown_requested(void) +{ + return force_shutdown; +} + ShutdownCause qemu_reset_requested_get(void) { return reset_requested; @@ -805,6 +811,7 @@ void qemu_system_killed(int signal, pid_t pid) * we are in a signal handler. */ shutdown_requested =3D SHUTDOWN_CAUSE_HOST_SIGNAL; + force_shutdown =3D true; qemu_notify_event(); } =20 @@ -820,6 +827,9 @@ void qemu_system_shutdown_request(ShutdownCause reason) trace_qemu_system_shutdown_request(reason); replay_shutdown_request(reason); shutdown_requested =3D reason; + if (reason =3D=3D SHUTDOWN_CAUSE_HOST_QMP_QUIT) { + force_shutdown =3D true; + } qemu_notify_event(); } =20 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535797; cv=none; d=zohomail.com; s=zohoarc; b=XrDw+4NmAKUaN2h13nHPTaUjl9Y7Kv4CNN4rfPKlTt3ETYxDnZV4klsXipJBVoKZ1daaIigWHweKsiIPhAonZKuBY1hPPnc4ZyFcTNZKQ7/CIsYKTsa4JYT5GfO/aPPHMKWi95/EEI6QN27WE+hO0f91iGvP2Jt2qGBxY3fQpoE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535797; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=jIH1CkCCFSXcgs6SwD/lkBtxMtFMYESPhTMyWu2YSEw=; b=YGhVQrd1N/DQYsgXFivOxkrYDVy/QAmbeFepVPGsQcIh9yKH0JAH5HN/UDX4M92xY/e5BxuQNUcUD3Xjk7Df/pjmFRARmcnL3M348Eo795CAh0n43fDtkkyE4MEMVr2HlWMTBjNDW4hFVhM8UnfflFSUAYXtUIJZ0im/607PmWk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535797595632.3551072200468; Mon, 14 Jul 2025 16:29:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSG0-0002hV-Rr; Mon, 14 Jul 2025 19:06:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFu-0002Fp-WB for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:43 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFt-0005NZ-9H for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:42 -0400 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-526-DFyKStcbNAC0RLdd1Z8HKw-1; Mon, 14 Jul 2025 19:06:39 -0400 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-45359bfe631so29214725e9.0 for ; Mon, 14 Jul 2025 16:06:39 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e0d785sm13819909f8f.59.2025.07.14.16.06.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:06:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534400; 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: in-reply-to:in-reply-to:references:references; bh=jIH1CkCCFSXcgs6SwD/lkBtxMtFMYESPhTMyWu2YSEw=; b=TWkaqVjNg3KtfMFt0WrzOqt0U6S1heptWdBQGrqqSESAQt0oV2cDzZxGpMegW4vNeZztpM NEBy5jzC1mMZCeUanHnW1RRNVoKEegO6AlKs8aA6VYfDKZA1F7I6LrSrJYwANYVFzCC+4V dra8q67ZLpsf7t+7en4LvLUfahcz+AI= X-MC-Unique: DFyKStcbNAC0RLdd1Z8HKw-1 X-Mimecast-MFC-AGG-ID: DFyKStcbNAC0RLdd1Z8HKw_1752534398 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534398; x=1753139198; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=jIH1CkCCFSXcgs6SwD/lkBtxMtFMYESPhTMyWu2YSEw=; b=LSWAVKqly2yh3coiumfXVJPhtZxoX8h36GJxGr3++zP7/kAJVP7Ap5dcbqr6T1npP6 QcMshRV4Jdc1zKPnobVVIWtYOZnTAQGySLhz4CVb/M4Gd9BUKkxXYx95U1BvbSdeu1wK 9PCmY6sgaNPS2rTqLj4JQ4mdp+XVcJH5Qq2qUzOKK7c/JrTYlMUJlzgFApJ5OwrtG1vW bnE4cLLKDWRreUy+kKF919hjJevS0q7MvNt0ceoEqK6PHbOg1lQQt1jimsA4Asaz3lPV L2SWMBAV5qA6MomB2GZYQ5wBPwfrwGSeknyy3Iizs78E79ZWedPT9etv85Cr6gsjcgsD YISQ== X-Gm-Message-State: AOJu0YwtzxPTIe+6eXd8Dt6/ABHflV48OQyEyTf1PZm+cwk9EdysE1kk XULD/t0+5QY4Z6TcrEbDEKOvaOyHsaE1p6Q2qtxWcXnVdvzJI1KpvSafA/zPvRY9ZHdvUzZJnyZ 8OMAHHEYeQ9AKwY/BbAcR9aHEw8kusK3TK7O5bwoJvd+u0+w7Mv76iNtSTGLf5QZZ4ggeLkcOEJ 80AXOinWavURgQe4uXvF3hof2mLJ6vpiuGhg== X-Gm-Gg: ASbGncuWbNPe8CozvJwN65G2I2loRTBfdlHnvaTb0HHpHiXlHVpFLtcbK5huldNfT31 hQbFZGPR575Ve1A3EtKrbfR6yTrTlkHms+BZgMUd6g1J/6deUXdpUODqzfw9ab1r6G1vht8H3z2 37vFBYkkXeWh4ppdq9Z9kcLjL3sm80NgUXwdDFLFR/363TK3smUJdtmXSj2EuBWm8rafTakLmwi uP/bx4m7Vyaw0Pc6b2eLdyPqfZyumJrR7i/kirnbYt40VRrSkGy5jZd+MinAyJv3yWn9bY/GOQ5 75/jc/5BZoCYB5INBONuH7ChGhSidND8 X-Received: by 2002:a05:600c:8b21:b0:43d:42b:e186 with SMTP id 5b1f17b1804b1-454f427c7a3mr147535745e9.8.1752534397872; Mon, 14 Jul 2025 16:06:37 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEN8SfCBdNXDgKWYDMwQdzn82ZtYJ6VggooxMWqvitHxa9yFK5df/3iCQaRkYLeVks4Wlxggg== X-Received: by 2002:a05:600c:8b21:b0:43d:42b:e186 with SMTP id 5b1f17b1804b1-454f427c7a3mr147535485e9.8.1752534397398; Mon, 14 Jul 2025 16:06:37 -0700 (PDT) Date: Mon, 14 Jul 2025 19:06:35 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Daniil Tatianin , Vladimir Sementsov-Ogievskiy , Stefano Garzarella Subject: [PULL 09/97] vhost: add a helper for force stopping a device Message-ID: <2f527fff460a2c67fd37298dbd7fe42fffdb738b.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535798194116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Daniil Tatianin This adds an ability to skip GET_VRING_BASE during device stop entirely, and thus the expensive drain operation that this call entails as well, which may be useful during a non-graceful shutdown in case the guest operating system hangs or refuses to react to a previously requested ACPI shutdown for whatever reason. Signed-off-by: Daniil Tatianin Message-Id: <20250609212547.2859224-3-d-tatianin@yandex-team.ru> Reviewed-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/virtio/vhost.h | 15 +++++++++++ hw/virtio/vhost.c | 52 +++++++++++++++++++++++++++++---------- 2 files changed, 54 insertions(+), 13 deletions(-) diff --git a/include/hw/virtio/vhost.h b/include/hw/virtio/vhost.h index 38800a7156..eb3dd7616b 100644 --- a/include/hw/virtio/vhost.h +++ b/include/hw/virtio/vhost.h @@ -237,6 +237,21 @@ int vhost_dev_start(struct vhost_dev *hdev, VirtIODevi= ce *vdev, bool vrings); */ int vhost_dev_stop(struct vhost_dev *hdev, VirtIODevice *vdev, bool vrings= ); =20 +/** + * vhost_dev_force_stop() - force stop the vhost device + * @hdev: common vhost_dev structure + * @vdev: the VirtIODevice structure + * @vrings: true to have vrings disabled in this call + * + * Force stop the vhost device. After the device is stopped the notifiers + * can be disabled (@vhost_dev_disable_notifiers) and the device can + * be torn down (@vhost_dev_cleanup). Unlike @vhost_dev_stop, this doesn't + * attempt to flush in-flight backend requests by skipping GET_VRING_BASE + * entirely. + */ +int vhost_dev_force_stop(struct vhost_dev *hdev, VirtIODevice *vdev, + bool vrings); + /** * DOC: vhost device configuration handling * diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index c87861b31f..c30ea1156e 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -1354,25 +1354,30 @@ fail_alloc_desc: return r; } =20 -int vhost_virtqueue_stop(struct vhost_dev *dev, - struct VirtIODevice *vdev, - struct vhost_virtqueue *vq, - unsigned idx) +static int do_vhost_virtqueue_stop(struct vhost_dev *dev, + struct VirtIODevice *vdev, + struct vhost_virtqueue *vq, + unsigned idx, bool force) { int vhost_vq_index =3D dev->vhost_ops->vhost_get_vq_index(dev, idx); struct vhost_vring_state state =3D { .index =3D vhost_vq_index, }; - int r; + int r =3D 0; =20 if (virtio_queue_get_desc_addr(vdev, idx) =3D=3D 0) { /* Don't stop the virtqueue which might have not been started */ return 0; } =20 - r =3D dev->vhost_ops->vhost_get_vring_base(dev, &state); - if (r < 0) { - VHOST_OPS_DEBUG(r, "vhost VQ %u ring restore failed: %d", idx, r); + if (!force) { + r =3D dev->vhost_ops->vhost_get_vring_base(dev, &state); + if (r < 0) { + VHOST_OPS_DEBUG(r, "vhost VQ %u ring restore failed: %d", idx,= r); + } + } + + if (r < 0 || force) { /* Connection to the backend is broken, so let's sync internal * last avail idx to the device used idx. */ @@ -1401,6 +1406,14 @@ int vhost_virtqueue_stop(struct vhost_dev *dev, return r; } =20 +int vhost_virtqueue_stop(struct vhost_dev *dev, + struct VirtIODevice *vdev, + struct vhost_virtqueue *vq, + unsigned idx) +{ + return do_vhost_virtqueue_stop(dev, vdev, vq, idx, false); +} + static int vhost_virtqueue_set_busyloop_timeout(struct vhost_dev *dev, int n, uint32_t timeout) { @@ -2119,7 +2132,8 @@ fail_features: } =20 /* Host notifiers must be enabled at this point. */ -int vhost_dev_stop(struct vhost_dev *hdev, VirtIODevice *vdev, bool vrings) +static int do_vhost_dev_stop(struct vhost_dev *hdev, VirtIODevice *vdev, + bool vrings, bool force) { int i; int rc =3D 0; @@ -2141,10 +2155,11 @@ int vhost_dev_stop(struct vhost_dev *hdev, VirtIODe= vice *vdev, bool vrings) vhost_dev_set_vring_enable(hdev, false); } for (i =3D 0; i < hdev->nvqs; ++i) { - rc |=3D vhost_virtqueue_stop(hdev, - vdev, - hdev->vqs + i, - hdev->vq_index + i); + rc |=3D do_vhost_virtqueue_stop(hdev, + vdev, + hdev->vqs + i, + hdev->vq_index + i, + force); } if (hdev->vhost_ops->vhost_reset_status) { hdev->vhost_ops->vhost_reset_status(hdev); @@ -2164,6 +2179,17 @@ int vhost_dev_stop(struct vhost_dev *hdev, VirtIODev= ice *vdev, bool vrings) return rc; } =20 +int vhost_dev_stop(struct vhost_dev *hdev, VirtIODevice *vdev, bool vrings) +{ + return do_vhost_dev_stop(hdev, vdev, vrings, false); +} + +int vhost_dev_force_stop(struct vhost_dev *hdev, VirtIODevice *vdev, + bool vrings) +{ + return do_vhost_dev_stop(hdev, vdev, vrings, true); +} + int vhost_net_set_backend(struct vhost_dev *hdev, struct vhost_vring_file *file) { --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534526; cv=none; d=zohomail.com; s=zohoarc; b=Fla3fJmlq+TraScC4G2CpcQi6kykIpP8Kw0ICp454vGcgltvFBdKR1/SdMhJjxQ4fl+HLGi8WizZtQWC+IBC41n0ALvRF4oJT2X2Udb2Hh21kRfTQmCOCZaSRAXsizPTYAEEIoASJvpDuDCS3kAlCRSq7brgE7NxKL1nbrprgFo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534526; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+UAUxfm7ZZjTGEuMkx1MXZIZiceR06VrUrTJFA1Ndo0=; b=beL4zp9jQwHSSbT9unAd5mfOueg1knrORYd/HtWQGMqLwV3DHT+V2J3aO3zUi98m85d29o1RNJM2Lb/5YbjxEuu3Qzg7JqDZNvdkubOHWgZtwvyXd0rai+BUfSSPzKOz3ZLomj6Y7qq8oBaGRxrS8eLoEzZ5X2KGl2CelwGgsvU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534526157966.975856795926; Mon, 14 Jul 2025 16:08:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSG4-0002us-H4; Mon, 14 Jul 2025 19:06:53 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFy-0002d8-Mg for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:46 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFw-0005O9-TE for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:46 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-638-cE9b8KFWOyWsRU2HegzBpg-1; Mon, 14 Jul 2025 19:06:43 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-451d2037f1eso30875725e9.0 for ; Mon, 14 Jul 2025 16:06:42 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e1e1a5sm13316857f8f.74.2025.07.14.16.06.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:06:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534404; 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: in-reply-to:in-reply-to:references:references; bh=+UAUxfm7ZZjTGEuMkx1MXZIZiceR06VrUrTJFA1Ndo0=; b=gG3gdj8Lk6SwUFBb4qptt5bqOU2IvrQ9EhpSH1cPzlhKH47c61O20otuabb/tB83Jd7+Aj YBoyhHkRKtg1g/0jDUpoICrzpNmV3SCzBh3UfvRucP2mFoKNoKhdEX92+wSLLcoIl5EqjE J6rrfLvf3ENQoVw94koSpFTsGGwM8Rc= X-MC-Unique: cE9b8KFWOyWsRU2HegzBpg-1 X-Mimecast-MFC-AGG-ID: cE9b8KFWOyWsRU2HegzBpg_1752534402 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534401; x=1753139201; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=+UAUxfm7ZZjTGEuMkx1MXZIZiceR06VrUrTJFA1Ndo0=; b=JzzX75GiVBqkGM6k2V2ciSOXNUybv0I/vJptvHqt1q2xCxvu6gZ7GFuXDU+niGcKfx CXEvb2bsR5NOMm6YkuU+IH2ZkaN3gUCAbH3Hkkr7ww0AwoVuN74oAsCcRy6MLt/WpHhS Zl4rNSFLLEU69JvHvd13QBxQaLObe0fRVXDXgIsyWryLYF1v3bCvAczYwCLOfPf3pbx4 1ReFV3P0J6GeNujWTaoDWjQAEpJu4aPHtYJJkf9SIuVioPToD/tlf+j6jTkslZ+3V+yx E0vEjHnAUYcyP2cPq7TulZcZgQ7u3DUdrlwwEHHHJQcnpa+MQo7SzuywByZYiPPE/0Wc vx+w== X-Gm-Message-State: AOJu0YxgsIXvi7AUZVVGoFvd6jldNzXduldMsDSmKfqiDzOZ4x3aK+HS YwJKBSLf93Xngo3TwekcWMkc6dJq/qUA0n7Ld34eiYiRf7H7CUq1mPaltVcGk3l1gGSz11Zpz1/ HdOdiv96MAHNSMmIEYx22tLv/VtrYNEMkC+k9Fc2WBr3Iw55ZcEANfMV5ZJ6QS7NywMmyZI8ajN Yt1mLimP9XtPHCfkrl+W4dmvbQpXshd6MMLA== X-Gm-Gg: ASbGncs3ffvpF7vLsEfRFYGrtSa/aCvs1Jboli/wnz94lvwqd2rreBcz31k6vsKWiGZ F2mAVnD6uVXx14kBWgCG4gZU4NHwXhMPMyIzmHnjQTzoVK4cQAFX2AEvZ4IlQWFYGuH0RUfUy+5 Z6BUgI4uF7PZC9FYUkjQMiTsGaA/wREUda0rn3lLP5p0G99x5gr5A9xO9+FIuevcTJ9EJLQ+8eG 2yY6jBDjIUUH2OVLOKffEyWSdj4ZWaEumnWjmcpxbjumV1WOV5coP8spoCHtoxIGNN3em6NM1wR jyBxVTZMCEH3IL8/uk33VUzu4AgyROd7 X-Received: by 2002:a05:600c:4e54:b0:456:43d:118d with SMTP id 5b1f17b1804b1-456043d13bbmr112229085e9.17.1752534401406; Mon, 14 Jul 2025 16:06:41 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGe28pTxY70ufHHhSwpNiT9fKZKxgxvkHsnFoY3BXvolLfI93WchNoM6NVdMVKc8neh9COEJA== X-Received: by 2002:a05:600c:4e54:b0:456:43d:118d with SMTP id 5b1f17b1804b1-456043d13bbmr112228795e9.17.1752534400893; Mon, 14 Jul 2025 16:06:40 -0700 (PDT) Date: Mon, 14 Jul 2025 19:06:37 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Daniil Tatianin , Raphael Norwitz , Vladimir Sementsov-Ogievskiy , Stefano Garzarella , Kevin Wolf , Hanna Reitz , qemu-block@nongnu.org Subject: [PULL 10/97] vhost-user-blk: add an option to skip GET_VRING_BASE for force shutdown Message-ID: <07fde5901b5254d3b9706df22dbb16cfacf966d5.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534528380116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Daniil Tatianin If we have a server running disk requests that is for whatever reason hanging or not able to process any more IO requests but still has some in-flight requests previously issued by the guest OS, QEMU will still try to drain the vring before shutting down even if it was explicitly asked to do a "force shutdown" via SIGTERM or QMP quit. This is not useful since the guest is no longer running at this point since it was killed by QEMU earlier in the process. At this point, we don't care about whatever in-flight IO it might have pending, we just want QEMU to shut down. Add an option called "skip-get-vring-base-on-force-shutdown" to allow SIGTERM/QMP quit() to actually act like a "force shutdown" at least for vhost-user-blk devices since those require the drain operation to shut down gracefully unlike, for example, network devices. Signed-off-by: Daniil Tatianin Message-Id: <20250609212547.2859224-4-d-tatianin@yandex-team.ru> Acked-by: Raphael Norwitz Reviewed-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/virtio/vhost-user-blk.h | 2 ++ hw/block/vhost-user-blk.c | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/include/hw/virtio/vhost-user-blk.h b/include/hw/virtio/vhost-u= ser-blk.h index ea085ee1ed..a10f785672 100644 --- a/include/hw/virtio/vhost-user-blk.h +++ b/include/hw/virtio/vhost-user-blk.h @@ -50,6 +50,8 @@ struct VHostUserBlk { bool connected; /* vhost_user_blk_start/vhost_user_blk_stop */ bool started_vu; + + bool skip_get_vring_base_on_force_shutdown; }; =20 #endif diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c index 0eebbcd80d..c0cc5f6942 100644 --- a/hw/block/vhost-user-blk.c +++ b/hw/block/vhost-user-blk.c @@ -210,6 +210,7 @@ static int vhost_user_blk_stop(VirtIODevice *vdev) BusState *qbus =3D BUS(qdev_get_parent_bus(DEVICE(vdev))); VirtioBusClass *k =3D VIRTIO_BUS_GET_CLASS(qbus); int ret; + bool force_stop =3D false; =20 if (!s->started_vu) { return 0; @@ -220,7 +221,11 @@ static int vhost_user_blk_stop(VirtIODevice *vdev) return 0; } =20 - ret =3D vhost_dev_stop(&s->dev, vdev, true); + force_stop =3D s->skip_get_vring_base_on_force_shutdown && + qemu_force_shutdown_requested(); + + ret =3D force_stop ? vhost_dev_force_stop(&s->dev, vdev, true) : + vhost_dev_stop(&s->dev, vdev, true); =20 if (k->set_guest_notifiers(qbus->parent, s->dev.nvqs, false) < 0) { error_report("vhost guest notifier cleanup failed: %d", ret); @@ -584,6 +589,8 @@ static const Property vhost_user_blk_properties[] =3D { VIRTIO_BLK_F_DISCARD, true), DEFINE_PROP_BIT64("write-zeroes", VHostUserBlk, parent_obj.host_featur= es, VIRTIO_BLK_F_WRITE_ZEROES, true), + DEFINE_PROP_BOOL("skip-get-vring-base-on-force-shutdown", VHostUserBlk, + skip_get_vring_base_on_force_shutdown, false), }; =20 static void vhost_user_blk_class_init(ObjectClass *klass, const void *data) --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534531; cv=none; d=zohomail.com; s=zohoarc; b=H5Ekm2vA7oQIKGqDqSrIfTD5S3W1LcU1pu/NcmzHY4jlSU9K4L0wieOMdLulC/vUxHKiDlRjzV5qEdx/dCpCKnUGlj1YTEhd5H91HW4SXXlfHLq00W53kfV4CFWQWCUBvJrM+4JxYm1zgeYfd4IQCRJbqZd25zuKJtIYBgTxySQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534531; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ByXh3NCy3hfu/AZyGeZDrs8lL0yTfXk7SeuVflPlt2k=; b=gF2Bah+KQ86KtpGmSsbos8rh4m4ePEMY1VtMSnCrYrHDZHZpmzC3p6q6Zqmy38RJcOpFinlrFR2+JIfAe1QIv+7QXJ7NiibVSWrOnglcSoNtQnoDkZOotggxzaJV67wn4kdfW2T83L0xBSTKRckyIcmwyiQDB0LnhFfZCrGOLQs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534531981713.9348506561284; Mon, 14 Jul 2025 16:08:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSG8-00037R-GN; Mon, 14 Jul 2025 19:06:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSG0-0002hc-Ee for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:48 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSFy-0005OL-N6 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:48 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-642-m0GwcmVwNYixzpmnIARp4w-1; Mon, 14 Jul 2025 19:06:44 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-43e9b0fd00cso27926455e9.0 for ; Mon, 14 Jul 2025 16:06:44 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45626c7cbe8sm3910705e9.0.2025.07.14.16.06.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:06:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534406; 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: in-reply-to:in-reply-to:references:references; bh=ByXh3NCy3hfu/AZyGeZDrs8lL0yTfXk7SeuVflPlt2k=; b=MTr5a3MJZIMnpkGs0hVrXpT2F+wnj3EmKqaTGAaRKAGNUUjuuo8I436ZmaAE+eIc2x5zZO axXmp+sbHI6vHkVEpQVlXryQuvS0WWC5VjfCq5eNKYcNb/dgZR53TOxYfsu3LOdChn+GKs ZeY8YPUyfsoFiKzUNdhwHDHo9ZWh2fA= X-MC-Unique: m0GwcmVwNYixzpmnIARp4w-1 X-Mimecast-MFC-AGG-ID: m0GwcmVwNYixzpmnIARp4w_1752534403 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534403; x=1753139203; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=ByXh3NCy3hfu/AZyGeZDrs8lL0yTfXk7SeuVflPlt2k=; b=wwVOIGMunwNvdvGu4LZdi1+zab/sJe0rn9UM0Gfxh2dj9I9fukrKRS+1iXfLmcNDep dKDoEIZXjTS2ANqlBrLowKzTS6zaJELjRSNINvge5UpYIKS6hmK103YduKqD7K6apn0o INlvr+DzGCzDegcIPccUyV8pW+wTqZYp2mCBnYGEORqqlvshC8HgxWHNpDguNaqQrWcY Nfl1N9AGF8k8HpRyAl7SL3WV6Yi8WRl9eSfePv9tghz2jRXzYBX4HHsyYoJjFHNuFbiL zLWXLLBkaaPz4RGFen7QUT7t8R4rojpeLnZGDP5C4MHUIzEG99Xz9xwVTG2JLmwZCJpy gJVQ== X-Gm-Message-State: AOJu0YyjkqVvghLFqqaHnB88m2Zn8R8A09MCXdDeezeagODhArimKOdk DURrijTSBaT84ll5MWrB7Y+R0BOAD/DKbnCbSdq7N4IyyEOKiAFFXvX1gvIbqWjZb4r/QAW5icm cYWChjYCXliGt3JGFJy6MEw+KBbMM5jBMV661cZ9g3oFiTW0IZESfXi/V82sYkvR2ADY7MeXcmI HnWM5c+K5s+TA1WyfegM5NpWsxH15qoATOTA== X-Gm-Gg: ASbGncvmvvTcLJltKCEHJaD+mG9uwdH8/zcoXDKt2LsBeyklen/v0K6z4vnWDpJqFjJ P1PqDH4iIk6jDTRR1IlnX+DNwqugJUNTc0hTaFNV28lrJNo/2mSQ9WSb7uIFDFitZJkwzUJ73RN fzm3r6Er9vS1SqujY9ikPP0fsxTmFvq8K1kD2vkgpzOqPf53iaTnLiowqZR6bdRUbZqeozEYEiO AMjdRpR7VT7ijJ0Qf0EjZ3//ix+GU78un4j+qCp/M8gZ+FIzINIR5EtNxTn0czhefD/6l0cQgMY kIn8N7kIQILJmS3mdk7VoizhvNG7Ftro X-Received: by 2002:a05:600c:6d1:b0:455:efd7:17dc with SMTP id 5b1f17b1804b1-45625e663dbmr7614055e9.11.1752534403164; Mon, 14 Jul 2025 16:06:43 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFK5E9vRMNGmVy0x30xqTSrFP4Fc2xO1YmZHrZVTJ4tjQP8Gou7fmaZmHW6rOBrNhMoB7QWBg== X-Received: by 2002:a05:600c:6d1:b0:455:efd7:17dc with SMTP id 5b1f17b1804b1-45625e663dbmr7613945e9.11.1752534402748; Mon, 14 Jul 2025 16:06:42 -0700 (PDT) Date: Mon, 14 Jul 2025 19:06:41 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Bibo Mao , Igor Mammedov , Ani Sinha Subject: [PULL 11/97] tests/acpi: Add empty ACPI data files for LoongArch Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534534411116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Bibo Mao Add empty acpi table for LoongArch virt machine, it is only empty file and there is no data in these files. Signed-off-by: Bibo Mao Message-Id: <20250612090321.3416594-2-maobibo@loongson.cn> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test-allowed-diff.h | 8 ++++++++ tests/data/acpi/loongarch64/virt/APIC | 0 tests/data/acpi/loongarch64/virt/DSDT | 0 tests/data/acpi/loongarch64/virt/FACP | 0 tests/data/acpi/loongarch64/virt/MCFG | 0 tests/data/acpi/loongarch64/virt/PPTT | 0 tests/data/acpi/loongarch64/virt/SLIT | 0 tests/data/acpi/loongarch64/virt/SPCR | 0 tests/data/acpi/loongarch64/virt/SRAT | 0 9 files changed, 8 insertions(+) create mode 100644 tests/data/acpi/loongarch64/virt/APIC create mode 100644 tests/data/acpi/loongarch64/virt/DSDT create mode 100644 tests/data/acpi/loongarch64/virt/FACP create mode 100644 tests/data/acpi/loongarch64/virt/MCFG create mode 100644 tests/data/acpi/loongarch64/virt/PPTT create mode 100644 tests/data/acpi/loongarch64/virt/SLIT create mode 100644 tests/data/acpi/loongarch64/virt/SPCR create mode 100644 tests/data/acpi/loongarch64/virt/SRAT diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index dfb8523c8b..bad1380eec 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,9 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/loongarch64/virt/APIC", +"tests/data/acpi/loongarch64/virt/DSDT", +"tests/data/acpi/loongarch64/virt/FACP", +"tests/data/acpi/loongarch64/virt/MCFG", +"tests/data/acpi/loongarch64/virt/PPTT", +"tests/data/acpi/loongarch64/virt/SLIT", +"tests/data/acpi/loongarch64/virt/SPCR", +"tests/data/acpi/loongarch64/virt/SRAT", diff --git a/tests/data/acpi/loongarch64/virt/APIC b/tests/data/acpi/loonga= rch64/virt/APIC new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/data/acpi/loongarch64/virt/DSDT b/tests/data/acpi/loonga= rch64/virt/DSDT new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/data/acpi/loongarch64/virt/FACP b/tests/data/acpi/loonga= rch64/virt/FACP new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/data/acpi/loongarch64/virt/MCFG b/tests/data/acpi/loonga= rch64/virt/MCFG new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/data/acpi/loongarch64/virt/PPTT b/tests/data/acpi/loonga= rch64/virt/PPTT new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/data/acpi/loongarch64/virt/SLIT b/tests/data/acpi/loonga= rch64/virt/SLIT new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/data/acpi/loongarch64/virt/SPCR b/tests/data/acpi/loonga= rch64/virt/SPCR new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/data/acpi/loongarch64/virt/SRAT b/tests/data/acpi/loonga= rch64/virt/SRAT new file mode 100644 index 0000000000..e69de29bb2 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534572; cv=none; d=zohomail.com; s=zohoarc; b=YGqOT0ISsWcTYdPHwV1OfrRsQkwWFlzZp4YxM2/jBGA0mMtODR7Ps7hvOaE4xGRiCpePubwoB5S+XYpVN3ZRMQLdasHwAKq77ZJ0z6pzf4dbTFvscRv+vRK5WIhvr+2JsO4JhEt+F83DJYSMJgcITV6N41XGecUrFNoCA8V6/Ms= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534572; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=J0gwwssvFtLIpcn/0bSSmR4Ew9FktX7NduuxGFwTfeA=; b=meXVopbAorIftiSQaUv9yy1HS2lPIxOBno3qdv3lsbsZbvC+nn/N5OEWO1TL1AAZFSOJ3NrcuOCMFx8c3x0ZQKUzEFiS3ZDiyk519+fXoazEVNCax985FqJ+F0JlsfaOQLlscdZREGYWJzoHWl/QkfKf6xEbxdo5lvc5IVnFAcs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534572804182.92517303484215; Mon, 14 Jul 2025 16:09:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSGd-0003k4-Dc; Mon, 14 Jul 2025 19:07:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSG9-00038w-CL for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:01 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSG6-0005Pc-H1 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:56 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-589-FOKJF5yQNhOT1gr33OwcOA-1; Mon, 14 Jul 2025 19:06:48 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-451ecc3be97so25166095e9.0 for ; Mon, 14 Jul 2025 16:06:48 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8dc1de0sm13395802f8f.24.2025.07.14.16.06.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:06:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534413; 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: in-reply-to:in-reply-to:references:references; bh=J0gwwssvFtLIpcn/0bSSmR4Ew9FktX7NduuxGFwTfeA=; b=XFB+87dlQiNV3Jp6cqFOk70YcvcjYq2pwAhNlqs/sAweKERX+KJAH360k6cz3CaHudb+NQ y49TGxqI1P35wVvwuaMDW1nO7ARNpnO4O/1nGd7bhoNedYVyH6/x1BcW7PVJxXrtLGklj3 i1e1LAOO9kXDqrM8E8tk5V7B0pKkEzw= X-MC-Unique: FOKJF5yQNhOT1gr33OwcOA-1 X-Mimecast-MFC-AGG-ID: FOKJF5yQNhOT1gr33OwcOA_1752534407 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534407; x=1753139207; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=J0gwwssvFtLIpcn/0bSSmR4Ew9FktX7NduuxGFwTfeA=; b=UIHgvkNJZzQ/eI8zlVcdAY9ECsA1X+FbaQMxoEnDyTYedaxsWTbmPAQXm4aj6EOxI/ j+z2cRq+5XlKrcOccfWJm+xW/CCifrFk12ADjCn+w9MREaFxZmAMRGcsVnuhGCwfSTmI bGq1JJNKKsS+xLiwad4xHOaXccZIwWZe09Tstxe5mAhBus/RHBUwNbJen956SvZf4d9B 8wcAiglC0LgO66afj4wpcyt6l2W0iXe0A2PmHbX0V9sBL5fKvGR5buC1RfI361XbSQcN gqSBBb77HJdSSKDN+CFpj6R4WyIiZOQCXxhYCivaRqOgiKoqd/ToIhe0tkag2ur/MI8i 7rsA== X-Gm-Message-State: AOJu0Yxafj6HLly/lzdy76YoerjYleaoHFXnnb0+0Ton8wWvfTgyga4d 4Y+s5v6pMZWyJu5OV0Lc5sr0D880dvsf0NGwfx8oJoE00Cd1aQgk3zUZTJKDAupBPL6Adiz2nfH OWSsdYFMXXuA5Ps3rXFWlJA+xdfcnNZrAAYEGj059RPEl11aetvVs089P2Ne7VByjQg6qv1Az6U ASpN59lKUtI0rJAoZvT93NPHy0lfTL7Nzdwg== X-Gm-Gg: ASbGncvEEUmq8MdsnzVtrUxYS0cxouR9mZDQLWpcZGIuOOuwC8cbIwQ1IOb2HyAcc+p 0O5niMsw9Kbj5mWQ6gAMCftdQ2xS4NiVuh+23v06zI0xsU60/aX1ESR+vB0oueq8sVF3XQxUCFM SJxTdeXxlSbBpXx/zQjshORXYNjUbYJreBftUxWGG9DEbGedjJzEOXGA1Y491aWmRES9TasUCg2 2LKIdTEGCCQELQKLdTjq0NVVEB9kQCLmO+4bc2t0jwACSZJXjnn1zK7GIDuoX5sw+xo/nA9I7SJ ACMUNFkd0PzRkoIz6ByTxehMpKTVJfG4 X-Received: by 2002:a05:600c:a308:b0:455:fab4:4b80 with SMTP id 5b1f17b1804b1-455fab44c03mr80226375e9.19.1752534406792; Mon, 14 Jul 2025 16:06:46 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEUaG+DA4FSjO97dsvyc6n+5OVKY3hgCy/hn91DWQayqUi3eK8+2ai/AeAiiGYyjM3bcAfL9Q== X-Received: by 2002:a05:600c:a308:b0:455:fab4:4b80 with SMTP id 5b1f17b1804b1-455fab44c03mr80226135e9.19.1752534406203; Mon, 14 Jul 2025 16:06:46 -0700 (PDT) Date: Mon, 14 Jul 2025 19:06:42 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Bibo Mao , Igor Mammedov , Ani Sinha , Fabiano Rosas , Laurent Vivier , Paolo Bonzini Subject: [PULL 12/97] tests/qtest/bios-tables-test: Add basic testing for LoongArch Message-ID: <73e2cba058c74c9a0d5b640711a1ff2428551952.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534574454116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Bibo Mao Add basic ACPI table test case for LoongArch, including cpu topology, numa memory, memory hotplug and oem-id test cases. Signed-off-by: Bibo Mao Message-Id: <20250612090321.3416594-3-maobibo@loongson.cn> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test.c | 79 ++++++++++++++++++++++++++++++++++ tests/qtest/meson.build | 1 + 2 files changed, 80 insertions(+) diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c index 4dbc07ec5e..f41e638014 100644 --- a/tests/qtest/bios-tables-test.c +++ b/tests/qtest/bios-tables-test.c @@ -2439,6 +2439,74 @@ static void test_acpi_aarch64_virt_oem_fields(void) g_free(args); } =20 +#define LOONGARCH64_INIT_TEST_DATA(data) \ + test_data data =3D { \ + .machine =3D "virt", \ + .arch =3D "loongarch64", \ + .tcg_only =3D true, \ + .uefi_fl1 =3D "pc-bios/edk2-loongarch64-code.fd", \ + .uefi_fl2 =3D "pc-bios/edk2-loongarch64-vars.fd", \ + .cd =3D "tests/data/uefi-boot-images/" \ + "bios-tables-test.loongarch64.iso.qcow2", \ + .ram_start =3D 0, \ + .scan_len =3D 128ULL * MiB, \ + } + +static void test_acpi_loongarch64_virt(void) +{ + LOONGARCH64_INIT_TEST_DATA(data); + + test_acpi_one("-cpu la464 ", &data); + free_test_data(&data); +} + +static void test_acpi_loongarch64_virt_topology(void) +{ + LOONGARCH64_INIT_TEST_DATA(data); + + data.variant =3D ".topology"; + test_acpi_one("-cpu la464 -smp sockets=3D1,cores=3D2,threads=3D2", &da= ta); + free_test_data(&data); +} + +static void test_acpi_loongarch64_virt_numamem(void) +{ + LOONGARCH64_INIT_TEST_DATA(data); + + data.variant =3D ".numamem"; + test_acpi_one(" -cpu la464 -m 128" + " -object memory-backend-ram,id=3Dram0,size=3D64M" + " -object memory-backend-ram,id=3Dram1,size=3D64M" + " -numa node,memdev=3Dram0 -numa node,memdev=3Dram1" + " -numa dist,src=3D0,dst=3D1,val=3D21", + &data); + free_test_data(&data); +} + +static void test_acpi_loongarch64_virt_memhp(void) +{ + LOONGARCH64_INIT_TEST_DATA(data); + + data.variant =3D ".memhp"; + test_acpi_one(" -cpu la464 -m 128,slots=3D2,maxmem=3D256M" + " -object memory-backend-ram,id=3Dram0,size=3D128M", + &data); + free_test_data(&data); +} + +static void test_acpi_loongarch64_virt_oem_fields(void) +{ + LOONGARCH64_INIT_TEST_DATA(data); + char *args; + + args =3D test_acpi_create_args(&data, "-cpu la464 "OEM_TEST_ARGS); + data.qts =3D qtest_init(args); + test_acpi_load_tables(&data); + test_oem_fields(&data); + qtest_quit(data.qts); + free_test_data(&data); + g_free(args); +} =20 int main(int argc, char *argv[]) { @@ -2614,6 +2682,17 @@ int main(int argc, char *argv[]) qtest_add_func("acpi/virt/numamem", test_acpi_riscv64_virt_tcg_numamem); } + } else if (strcmp(arch, "loongarch64") =3D=3D 0) { + if (has_tcg) { + qtest_add_func("acpi/virt", test_acpi_loongarch64_virt); + qtest_add_func("acpi/virt/topology", + test_acpi_loongarch64_virt_topology); + qtest_add_func("acpi/virt/numamem", + test_acpi_loongarch64_virt_numamem); + qtest_add_func("acpi/virt/memhp", test_acpi_loongarch64_virt_m= emhp); + qtest_add_func("acpi/virt/oem-fields", + test_acpi_loongarch64_virt_oem_fields); + } } ret =3D g_test_run(); boot_sector_cleanup(disk); diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build index 5ad969f616..669d07c06b 100644 --- a/tests/qtest/meson.build +++ b/tests/qtest/meson.build @@ -148,6 +148,7 @@ qtests_hppa =3D \ =20 qtests_loongarch64 =3D qtests_filter + \ (config_all_devices.has_key('CONFIG_LOONGARCH_VIRT') ? ['numa-test'] : [= ]) + \ + (unpack_edk2_blobs ? ['bios-tables-test'] : []) + \ ['boot-serial-test', 'cpu-plug-test'] =20 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534521; cv=none; d=zohomail.com; s=zohoarc; b=eOGXsBXgqTDzdXjl4S2IhP+5ZDsy9ZMn+UDI8+NZSeM53V7bVag+DDhd0ejozbYlTyk2i46dguCU86ZzW5mlnAoLfCAZH9FI8XLLzfyWNYbg2Q049rPvHa17LJKg5rHE/g7fLSfi8biysKCOcHAnbSoTsY46Zw1V3Lx00++rUso= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534521; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Ni0t6xRkFvmRtTZbGD/fX48AdcEArrKXK6PgLqlkH/c=; b=NMENj7wkS8TreVBCxmi+pn0AFzV1RPUg4rtYC4cjIM2oB2nU9BVNfFY04ipUIiQWic8B/ub/U8Ol8BNo9Zs/0X2HVkv2nc9aYzgyZ/AjSLuKi0k9BJETRtpP0P9CEc/2zVL4li7HdeEtNGKSDhJx0dCFfECjG4a1wUxOtYYZZig= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534521753637.0083453598717; Mon, 14 Jul 2025 16:08:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSGD-0003AO-Gb; Mon, 14 Jul 2025 19:07:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSG7-00034O-Lu for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:56 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSG5-0005PT-Q4 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:55 -0400 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-591-FNHJeT56PqqKCJM0tW4wrw-1; Mon, 14 Jul 2025 19:06:50 -0400 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3a4f8fd1847so1774735f8f.1 for ; Mon, 14 Jul 2025 16:06:50 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5f32ed100sm10614815f8f.0.2025.07.14.16.06.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:06:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534412; 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: in-reply-to:in-reply-to:references:references; bh=Ni0t6xRkFvmRtTZbGD/fX48AdcEArrKXK6PgLqlkH/c=; b=EeS4/dbAopDy2RB5lvk3FgOO+9l6h0GrGyvsjANUzobBt1sArVJqxi/R/8IRFoDEX5p50X IRWpGT3WhdAl4sm8aKOmwz9AF+MHcZkeoYADdbjrl2XC9P6CBqvQetZ49RE+qV0kp/GAiC mE9sb+q6NojQ6eKFZ/INTL6yALicNEQ= X-MC-Unique: FNHJeT56PqqKCJM0tW4wrw-1 X-Mimecast-MFC-AGG-ID: FNHJeT56PqqKCJM0tW4wrw_1752534410 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534409; x=1753139209; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Ni0t6xRkFvmRtTZbGD/fX48AdcEArrKXK6PgLqlkH/c=; b=vDYKNTyAUWmKOYSrQwWvC+6I+t1PRhMGPztyyTc23uLbbs9zoo0XG/2Q/3BCwP2GcL ShMSbfKg/80viH3lca2rR9BxP1LdLcSHry/PT0qqs2gQa7SOwbTPS5ReHnztdepwZ7GV N4mraMMpVDBeDYbnwBSMlAvVBgVePa7xN3sjycjgOaHxgqWSqr6lWGimSvFLt2KGNmQN CG58xS++qHb0H8wPNGKyRxGMy1AEO+MyDHGWdrj6TlCFHyW56PGFRm7cU0YUhjITyog2 qMlInRKouxORBDf4j+UBxUtZqbQTzFNFpx60UsfKFGErOZrnoNjqj3FcekEVWGr5Zued d6Jg== X-Gm-Message-State: AOJu0YxXGngkPcU1iRlNbF5Uk+1HYutIQPyKPP0zbKk/0FvNXPg0IiE3 2K99LP1sGca7AyShUZG9BoAhQSIompbRs2AZzbHZ0Z5ufpKIU4DrUqCLX5O+dsLlkk+Hc7KGKg6 PEDaDeuiXHSIx1G9XfaC3ncm9fWmq+1HcEuYOOgEFZGPAe4SLfbN0Q6sMVP9Br4FqVOuWn3DvnN GJbNHtsScNat925t9rppMd/gNQo7Svh+N7yw== X-Gm-Gg: ASbGncsTFWR0iIH2AIU3koG/+qbA7iC380j/AWf4Z/5ZTpX5DMXgE//nib11Vb37GtC m2Ed1TCAugNYTldxHQ0yg0VmHtm4WhHigPqWr0AzO4N6Go8rtrUh2JINW1mg4PIt3F0PeQeyJFE KNtxslZGkJ0Z/SNEvyR2GweyCfAWUO6aam0XSzjNzWFmL50NvEPvpw1XFYURuEQNZTDCyGDuFw/ oTIUyaGMIz2ntuGHuy3U1sqQZu2pBzEyZ8Da2N+9zpTTxfbls/i4lhjXk7hbz0XYVplMGPjwu3v LZZugyWn9om1S8C73n5nu8eyYtZb4DZw X-Received: by 2002:a05:6000:2d09:b0:3a5:85cb:e9f3 with SMTP id ffacd0b85a97d-3b5f1875b23mr8235348f8f.12.1752534409409; Mon, 14 Jul 2025 16:06:49 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEzaQ67XfS4mi2osXpvctPBG782DUaJ5TY83uicGImNZrwNIWogWzFuinaEB5Ymt7uJ5JM7sg== X-Received: by 2002:a05:6000:2d09:b0:3a5:85cb:e9f3 with SMTP id ffacd0b85a97d-3b5f1875b23mr8235333f8f.12.1752534408805; Mon, 14 Jul 2025 16:06:48 -0700 (PDT) Date: Mon, 14 Jul 2025 19:06:46 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Bibo Mao , Igor Mammedov , Ani Sinha Subject: [PULL 13/97] rebuild-expected-aml.sh: Add support for LoongArch Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534524193116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Bibo Mao Update the list of supported architectures to include LoongArch. Signed-off-by: Bibo Mao Message-Id: <20250612090321.3416594-4-maobibo@loongson.cn> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/data/acpi/rebuild-expected-aml.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/data/acpi/rebuild-expected-aml.sh b/tests/data/acpi/rebu= ild-expected-aml.sh index c1092fb8ba..cbf9ffe0dd 100755 --- a/tests/data/acpi/rebuild-expected-aml.sh +++ b/tests/data/acpi/rebuild-expected-aml.sh @@ -12,7 +12,7 @@ # This work is licensed under the terms of the GNU GPLv2. # See the COPYING.LIB file in the top-level directory. =20 -qemu_arches=3D"x86_64 aarch64 riscv64" +qemu_arches=3D"x86_64 aarch64 riscv64 loongarch64" =20 if [ ! -e "tests/qtest/bios-tables-test" ]; then echo "Test: bios-tables-test is required! Run make check before this s= cript." @@ -37,7 +37,7 @@ if [ -z "$qemu_bins" ]; then echo "Only the following architectures are currently supported: $qemu_= arches" echo "None of these configured!" echo "To fix, run configure \ - --target-list=3Dx86_64-softmmu,aarch64-softmmu,riscv64-softmmu" + --target-list=3Dx86_64-softmmu,aarch64-softmmu,riscv64-softmmu,lo= ongarch64-softmmu" exit 1; fi =20 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535839; cv=none; d=zohomail.com; s=zohoarc; b=RXehN7TGC33jPgM6RT9wjTADNZKmaRltVrQmq7lsU3miSz5huduV5XSuZ9hv/wK7/+wkalIrFt8U91FcROg1S2CZASh8Xkg6pwaZMyLlA+NNRwOEo6EIRjTi1862W4zAJqbUrpuzorYT3XDwfjEq/qI3kVg4n1M9jxyAK0LCrVk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535839; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=f0tptr6+DBk/1t6IxS7PRmBfpvVQbdhJXMgxOw/JOQw=; b=RyflMCxOd3Xq1xA8B3CoYwusJfCAM4hKWapNIhBmW0AQgd0Gs+8ebutm/WSrFK4KI3Ylzg2Db4RuYmx5CXyTWX7CYr2iDdWKy6xdN+dQN2S8XpEuxUW5U8VK/kNC1bqgdK6KXbnj12LJK8eK2UCkqhXhKzDtKn6XhVozaGVgu70= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535839557717.1551454787009; Mon, 14 Jul 2025 16:30:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSGj-00043A-Dx; Mon, 14 Jul 2025 19:07:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGC-00039Z-Vs for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:01 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSG7-0005Pm-Ta for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:59 -0400 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-627-RxlxYS-DO4eExP6LdI-IsQ-1; Mon, 14 Jul 2025 19:06:53 -0400 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3a4f3796779so2162881f8f.1 for ; Mon, 14 Jul 2025 16:06:53 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45626c9ac1dsm3518045e9.0.2025.07.14.16.06.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:06:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534415; 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: in-reply-to:in-reply-to:references:references; bh=f0tptr6+DBk/1t6IxS7PRmBfpvVQbdhJXMgxOw/JOQw=; b=M4KcEEggi37GB4xbNJ7w9MNCbGls/hvVjM6zRhf0qliCRAldsXaD/+36vPU0kGcMraddVX h2frAXntl3HLeM8N7eI8XrcOGnlbvo2IgMG0SMSKB3dTRLVg2BODrzhZFH+mxRYNqeHwir F55SedHP1XAYsDoKi1qfLUXdnlSakp0= X-MC-Unique: RxlxYS-DO4eExP6LdI-IsQ-1 X-Mimecast-MFC-AGG-ID: RxlxYS-DO4eExP6LdI-IsQ_1752534413 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534412; x=1753139212; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=f0tptr6+DBk/1t6IxS7PRmBfpvVQbdhJXMgxOw/JOQw=; b=SCA7jaqufbklRi+gTgwMxP1c8qZoEy0qK2s1+GEC7In4dzCJAl3u07bsgv7e3vwcza JmG0zrfuOllHt/8g3vkz4V0qaeIMZfYdisLq9hebY3+GippAeQlHnBA+7ovLTuRs1MTc j4TzyqY9TgyLkmzZ3QHwOD6XelJzpmo/e0Kgr4JthIuq6dgM4EzUBSbDsLXSALVOhiXQ l64ceJsFMDfGyF1vOdp8cXlbkD9JM+D2mgJN2FH02xEIo/tZI57szEN7vwnXinIp9+SS kwHnjML1RpBS3wnWGE15R4xlRGlEUd1HoUBNmAmrQ7m0p+V8FoYrw/VsKw5tDy/i4Fnj viow== X-Gm-Message-State: AOJu0Yz5dL9q/7Gdf3Va7gBspG68fn1onjmrXxIAykLtE+bjDBx0+jup HWxcTNGOILj+Ulw3mK7W3o4dQeprYec8DKaUciHtfAE2qfmkrmHryeIx/fnKgYxK8sVOu2FtE+p e5JGq9Hc+dCtdHtBJjehKDvrvqjLj5alFT6iSuJxa7TfIJnSiOumbZ4HWZrZS9mmBMrc7CRLgjb sXpvGPpAPAE2RBTvjCamm52DFoTnkp5QCnQw== X-Gm-Gg: ASbGncuMHXM++xbgiMoy03u0ugV6xjAuu1lDg3o3TlD547sTCJ5/sKxS7DtYqQBY3CQ nR9tNVRxMQzTZ0GQah4z5WQgzyca6hzV6/zNDeQkyIZ+lOiVJFMTN+WCjTUpqrTYT4iVkJU/8ng 01XpobXka37jSn2COP4znN7lvGiSnKNHyFjxh7mr2s8LmxnIGTHYKdasSIOMyS2HwkXhx+fwxaH ge00UQo4+PJpvq8qNfYDT2hr1Xra0w6Pgw52dZNqXRorMoDRswOopMp52iwPKxIMsRgl4P8cMXq gZ4IsKkuywzXDrO9Z4V4cGmLJMidPdOQ X-Received: by 2002:adf:f3c5:0:b0:3a5:8abe:a264 with SMTP id ffacd0b85a97d-3b60a195cb3mr215492f8f.37.1752534411930; Mon, 14 Jul 2025 16:06:51 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHZ4XwGsCx7wDaGh00qAYUA459URf4A9gVhZSNEWT/lJQ0ZuSdM1xJQrnaUI8Vt7he6E522Lw== X-Received: by 2002:adf:f3c5:0:b0:3a5:8abe:a264 with SMTP id ffacd0b85a97d-3b60a195cb3mr215475f8f.37.1752534411279; Mon, 14 Jul 2025 16:06:51 -0700 (PDT) Date: Mon, 14 Jul 2025 19:06:49 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Bibo Mao Subject: [PULL 14/97] tests/acpi: Fill acpi table data for LoongArch Message-ID: <67fbf12288df10eb1ea76d4f48d6a8efa46ae65c.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535840588116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Bibo Mao The acpi table data is filled for LoongArch virt machine with the following command: tests/data/acpi/rebuild-expected-aml.sh Signed-off-by: Bibo Mao Message-Id: <20250612090321.3416594-5-maobibo@loongson.cn> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/data/acpi/loongarch64/virt/APIC | Bin 0 -> 108 bytes tests/data/acpi/loongarch64/virt/APIC.topology | Bin 0 -> 153 bytes tests/data/acpi/loongarch64/virt/DSDT | Bin 0 -> 4641 bytes tests/data/acpi/loongarch64/virt/DSDT.memhp | Bin 0 -> 5862 bytes tests/data/acpi/loongarch64/virt/DSDT.numamem | Bin 0 -> 4647 bytes tests/data/acpi/loongarch64/virt/DSDT.topology | Bin 0 -> 4943 bytes tests/data/acpi/loongarch64/virt/FACP | Bin 0 -> 268 bytes tests/data/acpi/loongarch64/virt/MCFG | Bin 0 -> 60 bytes tests/data/acpi/loongarch64/virt/PPTT | Bin 0 -> 76 bytes tests/data/acpi/loongarch64/virt/PPTT.topology | Bin 0 -> 176 bytes tests/data/acpi/loongarch64/virt/SLIT.numamem | Bin 0 -> 48 bytes tests/data/acpi/loongarch64/virt/SPCR | Bin 0 -> 80 bytes tests/data/acpi/loongarch64/virt/SRAT | Bin 0 -> 104 bytes tests/data/acpi/loongarch64/virt/SRAT.memhp | Bin 0 -> 144 bytes tests/data/acpi/loongarch64/virt/SRAT.numamem | Bin 0 -> 144 bytes tests/data/acpi/loongarch64/virt/SRAT.topology | Bin 0 -> 152 bytes 16 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 tests/data/acpi/loongarch64/virt/APIC.topology create mode 100644 tests/data/acpi/loongarch64/virt/DSDT.memhp create mode 100644 tests/data/acpi/loongarch64/virt/DSDT.numamem create mode 100644 tests/data/acpi/loongarch64/virt/DSDT.topology create mode 100644 tests/data/acpi/loongarch64/virt/PPTT.topology create mode 100644 tests/data/acpi/loongarch64/virt/SLIT.numamem create mode 100644 tests/data/acpi/loongarch64/virt/SRAT.memhp create mode 100644 tests/data/acpi/loongarch64/virt/SRAT.numamem create mode 100644 tests/data/acpi/loongarch64/virt/SRAT.topology diff --git a/tests/data/acpi/loongarch64/virt/APIC b/tests/data/acpi/loonga= rch64/virt/APIC index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..3477789f422cad54f16734b3ec9= ad1ff5135165d 100644 GIT binary patch literal 108 zcmZ<^@N~{$U|?YU>g4b25v<@85#X$#prF9Wz`y`vgJ=3D){(SrOi9+)e_%gD^||35@t fRG5*0;e$Si84iFX94;29^(ebt4fcm%1irvMDHZ?!sPhj~I1B** literal 0 HcmV?d00001 diff --git a/tests/data/acpi/loongarch64/virt/DSDT b/tests/data/acpi/loonga= rch64/virt/DSDT index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..f32e732b11a557ae01c7f383625= d3b6f459ac9f7 100644 GIT binary patch literal 4641 zcmb`L&u<&Y702K3hqN3nDUw?2hb@^Kdm(n$-&Mcm)wgUw|LxLdY>gI0TLdT zJCE~y^ZmS;UCdCo^!9570QQgSs#vzv>TgV;s;bHW0PpcTC%9u(9ee+BN~|_C$yu)H z8MA3>7qk*c&RR_e$q}N$BuBKY{6+rG!7l-1lny^H*oz|GJdgR`qfgM|voT1qDgf+) z|~RHx#x)!OzJzG`AjOL2e|7ET?&1D^v%a4t6Rr{u>MXFWNeua;0 z@EBLLGDwbPEP>=3DytIbgzt#&J4GVB`jm0F;T!B82F5+5o<2l1gY>>Br#r9c_?mEkCfp)z!k7%IcA311nSPx#7k zlqBIy63!&$O!~@jlrh3NMmWbP=3DNRQ2C!FJibDVOHQ%;F+N`zCQoD$_s5zZ9hOi|7h z<>Z8u6HZP!Ips_f&NSgnQ_eKylnJLyIAzKyQ_c+G%n;5D<;+mdEaA)&&Mf83QqBp& zIYBrlDCY#_%n{BU;mlFa9OcXt&OG7FQ_ei)ED+8D;Ve+j0_B_}oRfrel5$Q`PK9tP zgj1oM3gtXSI8PDIQ8IHxJ+H07KjoHK-ThH}nO&RN1a zOE_mK=3DPczsO*l^z&eN3hH03-)IL{EyGnDfT<(wm&bA)q_a?VlCdBQnQIOi$nJmow~ zIL{K!vy}5J|z7+;7u7*-Ng$p;&qVwyuZbM zhY5$hOM|J;`(ZynoWmbo?2Pfl?Z0LHI1W-e+*Zyzy46SwUh~~Nd;4GCSrZ% zG5eKh3{w3YaF~xXh8M8+8;O=3D-MK(D?TfqHE%gUFzcBDQk*1_|fN#y??-6=3Dbq8VGR~HUrM35rmazmfKsLt{_PsPVg<%Fufu(zY1)>uoD^2OlCob9u#pa3d!Bne8nTSK3!TAK zKN>`*E}!Vw=3DSZ}E`LLrj66pNLC1z2%v7#Nxrz}n5Tu8^*ltj~5FT^}a7%TNc%yXgZ zvTKix$^JFw!Znw5T-b1-_jr;2x!+-ry3B=3D++l`JmWQztwLmx~&ibnKGyZdC2ec0dN zUcbjZmtA|}zS?1+lIq|Ty4?rpZv%EVT-JG|15Ph?Fjne4*y*{fv(t59^YO(;n;Y&Q zhQdwg;*@on+qFwaU6aDqn%2%H>fd>^*+adtQV;b!{sZDxs6GHTo9N-VTmQitJeJigbue7$m1rY3I{i z!q*7?yP;&ARjZvw0Jy$&Ls5gV@TG#QDV%bAWUy`T&*Hn_<*8d}A{fZtFD=3D%?_glT$ xTGh1Dh0$3JUqiv;4FGchz;**kaI~e8;J=3D!el6hZ}%U#8@;032Jp5RFU_&)^=3DBs~BC literal 0 HcmV?d00001 diff --git a/tests/data/acpi/loongarch64/virt/DSDT.memhp b/tests/data/acpi/= loongarch64/virt/DSDT.memhp new file mode 100644 index 0000000000000000000000000000000000000000..f19eae7d00f9c0eefc9e92de2c8= a24863bf309d6 GIT binary patch literal 5862 zcmcJT-)|dP701uDon$|x%g%w_L)P*&RtE#Fp0Khi>&vV&x7Cd+VW}2@EP4X&L zeblO1+EuLtl6R}BgXD2uW|GHkr*K_<^WbX$Squ$6pR>iE>JmGfg%tpbBu6~5zaBnIYv42gfmY#^OQ4BISYidKsXDOvp_kEgtJIEiR;hdnH6O?n3a844=3DNy<4%Ij0Ec6ycnr zoKuu@ns81N&S}ayO*zjK&hv!xJmox3IWG{-3xx9m<-9;SX9(vE;hdqIGnDfp;k-yV zFH+8nl=3DBkdyhJ!JQO--0bCz(<63$u5IU92-S&uK2p_>H&HM~aGhUD+QHwpf`dK-}=3DK_2U~KA>#K7ITe8IU)p;K~mSI2HvI4#0TxzFEr{&8&FT4epxmDG)5?+>WRrS#&Blz9ZzgQ;OQczlV&#;Xp$O7c@ za>{+0!7eu(!&H@8$}?`)(?0eZor(671_O5I8%dljEvJ`ouB<}EI<=3D3l1sP|g$Yz8@nUbE$d`}DOVA|3N3 zg}q>^!d|GT!ZxvGR#aiFd8+&L@-g2s+>nLgcuZ7l4imPx&4jV+G54u@%rhylq+-Rm zt%?~rYCzFqi$~(4lq#8iE7OZn?+HrRl??1O(V9xW*V_| zLX_7c-}9opR`GFpFbEqaCh~EaFaR4SCfPF`ZWrTYJxPMN_cBhiuD8}JM*c!Y?pNkQb=3DlG<=3D7E6o~MN;Ff; z3ha$-6;O<#vI01^&_iv)z4XGm%0CeVNPwJj%PmEFaC+#a_oBxw9(R}CX9-Gyl!xWc z<9y$IKW}CiGt@1;eW3ur-mR{QWlOETZwggaRR#cfkKZ}L9joft2dgQu*3cwpxu$2# zrm0=3DjN+3DwH60{JhzgS&(X#TF`K8031IQ>Hetuv-6!GRo%>N#Jf*y~@AjPTxum_T( zTY8}!%TMy0@>lO~U)=3DhA$@-s#=3D?c(-?} zyZ4I6(g_~X-6%`=3DFMnYg%L}3T<(;6wQ{E&+_!+F<{IL2Ev6&W6GFgwJa8-imaGXDkhOs z@12m!kBw5TpsUElj#A;oMs2lD$mPdqu1Nh~=3D8Dr?)(N@%*eF-EZ;D!^S{3abd}M>i zxT2Loax7yBB&S+!j_PQ&TlpfNGeJNNdZ2;^D(KLI-@rC>p$9N}?#)(vvVNEE7t)Ee z=3DK;a;7LJ zC!Cyca>~gmXPR)P31^yerYWaPIAy{qQ%;$3W(a47aAqiHhH_>JXO?hgDQA{)P7uxs z!Z|@XCn#r*aOMbSj&kNGXP$8831^;i<|$`^a25z>fpQio=3DOp2rB%G6!bCPl@gi|4$ z3guKN=3DNZCzhH##toM$NK6ycmAoKuu@igHd9&S}CqO*yA2=3DM3STA)GUmbB1!x63$t| zIZHWbDd$2ZX*+8Z3|ZZ{P;p zZv4IcpW@t=3DKW^NseErMsKRn#w388N+9PV&Q=3Do@7h8<+=3Dg%9!dtUU(6&gWS{pHv26m z9QG~^rk?i0ettNIKf2f%<3~Gx&iZj2q;#~Syy56pBQbc*ck|ub-~Q9O_(|i*^uHRj z--yN_)xQZx`8Z>E0sEklXc<;ylOwbR+@G|pe3@&<>Z4*EJkPrjEe`Hz{QB4jtJ1YM z@z}Fu=3D#IY&t_ZWHX(ik&t=3DII-k}*8@j5d~WwlplQy>GOPC6EEKIi9c|q_HUs%c!f$ zFC61)JLO`dGsyMtcR21*9-14iD&HT>U_b&cU3)7Y4lOLv%r!6j2e5j|_hhyVYv@U? ze8em zeRpBSG=3DH;+W|K-@v=3D@IB8}R-OcqlYY+g6s7!fIDi_Ui#Q(xGe5b8kdLmQi=3D1Gnnc} zgXq-d6CL{kiPl$-I!Ysf&i}W>EGjovv}5^{rD>cC=3D>(gSXc`-Zm?sHirCx}6E_7XX z{kbvOzs_8^?y`;xn=3DbU8FY-V1JM3APxzKUD(GiDi(ST^^gUM&nh+b)TKObbD^f$TJ z?{Uv%*FSe(?J!VDb#MyZ?j!WK3A>vv>%7tdrx!aIEA<}i_FUH4?Ygk_{PMG{P50BG za0|LPWnJcW?b31Aq;R#SwY!D-OV74?s5e&Xp`OQoMBHjz-Q7A~_lhLethRhY-H$I1 zVn#G{cl(tBxjYt)V3(WGfL>`Ib6_7d6Sz{NZvpM?;FzSyj@7P6N4SJRavGI(KFuY3 zjo`lU5j!ta&G727Y0GI;+wiif(11^;W|Jb~g%=3D?mD?i!v5FFJ+s1Wy9Me*tZa BB|QKD literal 0 HcmV?d00001 diff --git a/tests/data/acpi/loongarch64/virt/DSDT.topology b/tests/data/ac= pi/loongarch64/virt/DSDT.topology new file mode 100644 index 0000000000000000000000000000000000000000..65111aa822663a907b83487cb49= 6be38a4bdff05 GIT binary patch literal 4943 zcmb`L&u=3D416~|w7+ey3JcKo9!KW37#S4b=3DpT4=3D`%%Swwhc6BFl#&(R`nE*XfJMnl) zCaaldW`h(~h>Vej-G~FT)^OoshU`Cqkai_bd)pfb4znD%a7P@CUjK0VC00OMeCSj? z*ZcPO^SZiHWy3N$TX_KX)#{emu!`01w?wg6EHVJVHvY{B?pRgF9^6TYt%j~R8#N=3D< zYPR%SdI=3DO~yJmpm2vK2*BidH>ZT{Bj*8x;a^*&#)FACUrCHa3RpJ2p?Gmv0a05}H4 zF)Sljma=3D)C(f%_2>mMHes&V@KkH7t7^Y<*b%yLVT3V;7sJk@*mQSb1LcOLg2{`jc> zuy=3DgHV`+*w07=3D3Vm%d6aD(N*NZPNeX`Ms2mHX!$X!6{-KZmQ1y*DO!GPqE#KXL@iRSivAsZWrNqa zqL)E&EOQ+cr&?`J>S%S^*#ci~fq)wHp$Iw@!GJ#e1P-7FeSpb(-)eXA^(Xu!my9LH zW58zvew)>Gy#zTG<6Oe>gdMrA>t)ELV(NIz0CP%{9%ijVF71Ek<(1F7n5hS2B`E{_A^UCrtD{icZqqKp@W#084iv4nW6cZpBdgI zPB`O)Gfp|;mU7NgPK9tPgj1oM3gt`?&II91P|gJ9 z;Y<_GH04ZF&N;$4 zM>yvw=3DN#qC5Y7zY%uvn@<;)V!EaA*j&Mf835zZXp%u&u9<;)Y#JmJh!&OGJR2&YCk zHOi?`&TEA88sWS~Ij>R9dBQnQIOi$nJmp*tS?&YOhu zCgHqEId4+V0^uwW&I08ugq)h{h-wASQ~)UY+vsMT|L}tpNEib6IRKo%FBgERa=3D3pU ze*yrvVG%wBpgV3a4gllv7!#wP+t@h<#oBJQKoOmG9kjKCvt^0c=3D^+SXr!?A_9q!`> z+;04>{O`i@?ceOYSNZh2e}3omkjI3vvwC{S6=3DCd@UF@I^Hp(dVK3;eMucORI!vpp+ z6!b=3DyM)MyH!*PB%gI~Hh7~^M$zf1dZyh-WoPVS$7uG&w(hTRGjMayh5QEOUEv>SJsFgJC)tTB*0Q)flyEsMx|4<2e(b% zooH?Q?!t=3Dc{$>-+#$>_N#$xy>u3-2-+Hmv$9!|M z9_DlTza+OCcaQci7rvs1EvutWDg5R6LClDT;T~KlkjtfL1cy9`28>GQk^_6N5yROW zT`BZ8gQJwDI##EmoZ%b>#c5PJ*(6tRsli`Bw6wEjb&?1G`v(u~ff2`-VVV+)DzS(X zW1dpd3EotlMO2xmx`C>}+0O-{DBXa|cS04xIlI}TEUy3>^4m#y=3DZ6+b1DxrZm`TTX5^#^V6+A06#uJpcdz literal 0 HcmV?d00001 diff --git a/tests/data/acpi/loongarch64/virt/FACP b/tests/data/acpi/loonga= rch64/virt/FACP index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..04d8d4c26fa2be24af40cd7a729= 59ec6b12790e5 100644 GIT binary patch literal 268 zcmZ>BbPnKQWME+Ra`Jcf2v%^42yj+VP*7lGU|;~TK{QnXivR-y2Lpo~1D^oMTqmj; RP9)%9V32{@4`Rzg*#Io}2LS*8 literal 0 HcmV?d00001 diff --git a/tests/data/acpi/loongarch64/virt/MCFG b/tests/data/acpi/loonga= rch64/virt/MCFG index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..5f93b05abe1669fe4239edbba8a= af4fe666f5b95 100644 GIT binary patch literal 60 tcmeZuc5}C3U|?XJk60A<&MXaFUp2LS*8 literal 0 HcmV?d00001 diff --git a/tests/data/acpi/loongarch64/virt/PPTT b/tests/data/acpi/loonga= rch64/virt/PPTT index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..7a1258ecf123555b24462c98ccb= b76b4ac1d0c2b 100644 GIT binary patch literal 76 zcmWFt2nq3FU|?Wc;pFe^5v<@85#X$#prF9Wz`y`vgJ=3Dd31_m&V3`7_hxEL51RFK2~ DqXGv3 literal 0 HcmV?d00001 diff --git a/tests/data/acpi/loongarch64/virt/PPTT.topology b/tests/data/ac= pi/loongarch64/virt/PPTT.topology new file mode 100644 index 0000000000000000000000000000000000000000..d91e55b2399d9949dbb8e4c8cf6= 34af1a0e56df4 GIT binary patch literal 176 zcmWFt2npH1z`($y@8s|75v<@85#X$#prF9Wz`y`vgJ=3Dd31_m&V3`8It6*MtE1_lNT b9Aa=3DYkn|#pf%KMu+yc`t!T=3DXzhKd0IvU~{v literal 0 HcmV?d00001 diff --git a/tests/data/acpi/loongarch64/virt/SLIT.numamem b/tests/data/acp= i/loongarch64/virt/SLIT.numamem new file mode 100644 index 0000000000000000000000000000000000000000..67f00813af7b2356fe74eed943a= b8dcf2291578b GIT binary patch literal 48 ucmWIc@eDCwU|?W;;pFe^5v<@85#X$#prF9Wz`y`vgJ>oO2;dSGC2MkwuvS(5#pDG+#ti`g literal 0 HcmV?d00001 diff --git a/tests/data/acpi/loongarch64/virt/SRAT b/tests/data/acpi/loonga= rch64/virt/SRAT index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..ff234ce45cbdd32f57fc0668aba= 135992e5ca887 100644 GIT binary patch literal 104 zcmWFzatz5}U|?We=3Dj89~5v<@85#X$#prF9Wz`y`vgJ=3D+j0|8V%qXt|C1~_00WPJc=3D C#|Hrb literal 0 HcmV?d00001 diff --git a/tests/data/acpi/loongarch64/virt/SRAT.memhp b/tests/data/acpi/= loongarch64/virt/SRAT.memhp new file mode 100644 index 0000000000000000000000000000000000000000..525321890138de509ceaf9723f0= a4565048e823f GIT binary patch literal 144 zcmWFzatxWkz`(%h<>c?|5v<@85#X$#prF9Wz`y`vgJ=3D+j0|8V%qXt|C1~_00WPM2L PVDd1Uff=3DTOfq?-4Y8D3p literal 0 HcmV?d00001 diff --git a/tests/data/acpi/loongarch64/virt/SRAT.numamem b/tests/data/acp= i/loongarch64/virt/SRAT.numamem new file mode 100644 index 0000000000000000000000000000000000000000..2972a9abdcface5b943078d61b4= 946da80176ea2 GIT binary patch literal 144 zcmWFzatxWkz`(#5?&R<65v<@85#X$#prF9Wz`y`vgJ=3D+j0|8V%qXt|C23TMWWPOYp Ma2`w^Mx&?$0B=3DJF0RR91 literal 0 HcmV?d00001 diff --git a/tests/data/acpi/loongarch64/virt/SRAT.topology b/tests/data/ac= pi/loongarch64/virt/SRAT.topology new file mode 100644 index 0000000000000000000000000000000000000000..4a44831f475b5fda1db9bed12c2= e63a79d6d6e71 GIT binary patch literal 152 zcmWFzatxWlz`(%h>g4b25v<@85#X$#prF9Wz`y`vgJ=3D+j0|5*^Bbq!D8lM@N&!_=3D6 L2?jV|3}kfxpjih2 literal 0 HcmV?d00001 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535635; cv=none; d=zohomail.com; s=zohoarc; b=RmUa5/TAByE0EErZBCR9wxmZBZspSaosCvaW/HQoXyuQt/yLWQO8Cs8FZuDaiMsasG2mHkm2zG3M0z5Epms7v3NvnkehkX5RnaNPAjbFJqaZhlUXxTVT1ym0aQZ5Fs7FckpSvLj3Hzm0qJ4QWM/iLhPY7Z2mMVYdD1MBkYsnJ8g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535635; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=gPL2XqQemou8iuVCHR8eDk7k61bY1QQbrF+6LyUB5KM=; b=hdpvpfdMMr+zmeVwSgfBDtV3nsEqykkN2cJORfgfzA0xvA9x8jexuf6gwsHGvqgyt+HF43egl+dufNcWxt1mZ0zss/YH+ppU3QLhyhFZgBWPqn3dpTwQ1yPGGqqfm+MWsccpgyoApR7wRNvB4uBmWjfcQd0ibNizPGc8EXWzcu0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535635317740.1273819556814; Mon, 14 Jul 2025 16:27:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSGa-0003e3-UG; Mon, 14 Jul 2025 19:07:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGB-00039E-Ll for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:01 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGA-0005QD-6i for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:06:59 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-300-z4IYySEvO5ud7oEMfmMZ0w-1; Mon, 14 Jul 2025 19:06:56 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-4561c67daebso4306215e9.1 for ; Mon, 14 Jul 2025 16:06:55 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e0d289sm13782074f8f.55.2025.07.14.16.06.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:06:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534417; 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: in-reply-to:in-reply-to:references:references; bh=gPL2XqQemou8iuVCHR8eDk7k61bY1QQbrF+6LyUB5KM=; b=c2eyEPm9hzpB/6H7sCRcNY5bP8bHFWI8IEfTqwqyNAG7rXLdiJ+Slj/s+vZ/zovac7eCQp myPjmjG/zDLRjo0hp9z9ajUSR11tv8s+0gGECMM7XlQ0M9GdA6wGfhv+j1IQnJPrzECyAP 5daJkZf+FhqVUfTq3sYxDNKIFmRIY5w= X-MC-Unique: z4IYySEvO5ud7oEMfmMZ0w-1 X-Mimecast-MFC-AGG-ID: z4IYySEvO5ud7oEMfmMZ0w_1752534415 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534414; x=1753139214; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=gPL2XqQemou8iuVCHR8eDk7k61bY1QQbrF+6LyUB5KM=; b=j8/4Q3RpLMRisOSZFNW84vU2/khjh7/mGMb90Ng1iV5kd6B4WQxn4uKQ6cEloBtQig Qhs7y8U5nVdmHsTEdWsIpcrEwDxKEmQosX2cQfjt74c9Z2m0NmyyDQy2JTjqhEirWDXw ozbO3FSUWEkvQQ5c27rjkascyg+JFtFd9/JcIZX2yPJ3Ua/OUGQTKZVmt4ZelAnTCpvj 1kYtPQ4mMz5UDmpOBDB0ONP3QrYUSkEaEsJXl08lnteJRHxCVyMHyPFAdCF0/Fsww8Ia MAQpapW2p5S6EKm8FGoX2u9PjzoJ12wxkVakfWER29tt/c5btKG58y1NB01OtelJZzjP pnUA== X-Gm-Message-State: AOJu0YwM8Z9HnPGK7lXDzhRRr9GjfpHDBhMcozABx/huR4Pue+ZbZ3az P5Ebxc4EZOgy2Uk6s0BRYW/Q6WS/WoWJbeORs92PmLUzq68rFfReH28T8CkLpglf6UBKYV5bH7B SE65pYP+jhGDOOHg99YNkprMK6FgKJY9vWjtyC6eJShm6kCYVEGVpLc7UDhYY9Kn6DjKQm7GmYY kSEeDP5QEGLniVYigSDg6sfMd+oasK/1QtbQ== X-Gm-Gg: ASbGncv9kpFl+W+hpKI8EMRed8+6KEDj1I/GHl4a2L0HepggEy/9zZwzDTQdwO2aYga +F5DnyXA/svRtazRvRHOXekyK/cq6PASPpZMqPJWdOBmR/vJleB9gK3Fb9Rfz7FzS/1ox77gry6 3wRgfzgoKOx8YAjgVe01mjVnygt5+NOkBVrBuuRwj4UkjrLqMS60y+dP55kOzX9QM9nBY2AWkr4 qUyeWL6vu+jKGbThsbdkCsWIk3tflcHPtqIQpIFcGjaC3vZt8B5FdxYwRkN4ERkCqR/IuZOP3jQ PNyNx5MkX6w/Rt/J5tgIeUXn1l5v+0+Q X-Received: by 2002:a05:600c:c4a7:b0:456:189e:223a with SMTP id 5b1f17b1804b1-45625e69aafmr11936245e9.10.1752534414360; Mon, 14 Jul 2025 16:06:54 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH6QF3+rqlFFUoMscPIQZG60Lld4e3OOMpEkCsffDLAWynHH7WCJ/WOc80JfUN53oDuV1jynA== X-Received: by 2002:a05:600c:c4a7:b0:456:189e:223a with SMTP id 5b1f17b1804b1-45625e69aafmr11936125e9.10.1752534413966; Mon, 14 Jul 2025 16:06:53 -0700 (PDT) Date: Mon, 14 Jul 2025 19:06:51 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Bibo Mao , Igor Mammedov , Ani Sinha Subject: [PULL 15/97] tests/acpi: Remove stale allowed tables Message-ID: <85240876b2f6f9edd72a6f324cac0ee9ee28ab0a.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, TVD_SUBJ_WIPE_DEBT=1.004 autolearn=no 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535636603116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Bibo Mao Remove stale allowed tables for LoongArch virt machine. Signed-off-by: Bibo Mao Message-Id: <20250612090321.3416594-6-maobibo@loongson.cn> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test-allowed-diff.h | 8 -------- 1 file changed, 8 deletions(-) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index bad1380eec..dfb8523c8b 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,9 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/loongarch64/virt/APIC", -"tests/data/acpi/loongarch64/virt/DSDT", -"tests/data/acpi/loongarch64/virt/FACP", -"tests/data/acpi/loongarch64/virt/MCFG", -"tests/data/acpi/loongarch64/virt/PPTT", -"tests/data/acpi/loongarch64/virt/SLIT", -"tests/data/acpi/loongarch64/virt/SPCR", -"tests/data/acpi/loongarch64/virt/SRAT", --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752536105; cv=none; d=zohomail.com; s=zohoarc; b=aZjNSKr14xOzbhaL6qmMS9swhJ8/1EhNFvrFX70nWvxHpNKDx4fI12NPlbd464YGSeHNw/+8emNw5nhjovPGWqB5NctxUshlbHBpUUYNV9c7NTNeQYYn5Hp5bNlHBoe57CL/B2OMKyNE4K4OxD0VVyCHb5hIglamDO6jGSnGkkA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752536105; 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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=4CnxIUW7kVE0GjlDwzMxMW/1BUSPeNP58LvpQij6V/w=; b=Anbud7iQDE/JSnfvbeB9RHDQJklZUoG+75O03+xI2N3SD8M7YybfsDq0xmA0f2Y+XcvplZuiMQa+RpIJY6ELtvzWQ2Mm3GAmZ9XFZ8mGO4PkQdcifVzxZIq7igqEeOcdcmWDUXgk6YVajTDaTTOC3alr58ABB6tjygxOUzGmzpQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752536105310638.9372256740239; Mon, 14 Jul 2025 16:35:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSHZ-0006QI-NI; Mon, 14 Jul 2025 19:08:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGE-0003Cv-BB for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:03 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGC-0005QX-PA for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:02 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-442-THazAMQUMIKvc41pE2mVCw-1; Mon, 14 Jul 2025 19:06:58 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-4538f375e86so39559925e9.3 for ; Mon, 14 Jul 2025 16:06:58 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4560733e736sm87742205e9.29.2025.07.14.16.06.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:06:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534419; 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=4CnxIUW7kVE0GjlDwzMxMW/1BUSPeNP58LvpQij6V/w=; b=DrF5jLJj8Aqy/P66mPTdHXpqi5VVMD0uQtt+8iw8hhktSLBs3NMYSSlSUGWJNRLo826mjS ZBeXL1yEpN0DuLwdmBIp+mYVvvbREWSUeaBw5cjKhsTsIuX8e/Wx+XvRYmbwglbMNdYgn+ qHuP1eIH5N23oYzSH8pTCC09L7VPBnU= X-MC-Unique: THazAMQUMIKvc41pE2mVCw-1 X-Mimecast-MFC-AGG-ID: THazAMQUMIKvc41pE2mVCw_1752534417 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534417; x=1753139217; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=4CnxIUW7kVE0GjlDwzMxMW/1BUSPeNP58LvpQij6V/w=; b=ljIE0O5NUKosFwDYr2/NBa1b9yEA2gGv2WCX/b2puC47Ic5A6Mqoln9sJRTfnJzpLa GwBXekbJ3LwOTTXAuuViMf/qNB/239YcOrATRLL5YoqlnDqRbRptPhIAptgst3fYtQ7P wh18pZqOcIr+Zd5he2Wsb+EBVt2Ge5spRaG3MdlIlry641u2kpDIv63cjoEELKwvEpar +for+m9Rb3rEgLZyxWfhCMGYIeCl8D2ir49jVE8CCMi+AvzR+G0DoO98jx104+GblF/g NRPIZ2iYQvw7n2p96/R7LR3Hch4iEKJ0xAj0Y12CJnS/dypw/zR/ROzn55A8ZNopuPY7 W22Q== X-Gm-Message-State: AOJu0YxSWmAPNXdvqRF2yNRVuQF43lLOlGc+1bxzaeE9LU5DI2J7Z5po y1hAO8C8Y4bRtdfZuaIMDk43D2KaLL4oOBqhomlP+Gbuq2lPUNHwS+ei1FiWUd7kqLboGG1uNuO /pd7xip+zPPAe8bQD7BoUXgrcNSLi7skLfy9VvZLcrGa9ysZMKFXZ+DwGtZmLYFY6KmX4MihnrN X++8GwymrGOaFvTzNFRq6iXW3UNsRgEZ4aLA== X-Gm-Gg: ASbGncvkEgO/W/i1YT9AURZ6/47po2xdifj8U2Nu/OgKHiF/pi6f3M7uAFAubPcKwlA XHj8dSvLrSlkjSSSmmBYa7aTg4DzB6DQyRPhWRGmsin035JyY0jnssfceY59Y6/QjcxGz9dGe32 Y1VpkCmFzRjjqLkJHGA5ygQ0xRAd9TSwuziydIMex08fntki8+IlURQ7QsGP4Osx9ZQ6Q+Ohz+R tdHOPW+IiHXUEiFFAMxaLNThXddSplezNshewQ+gdnQZgLKstaSsfG9hGGRqOg8MPNb8pW8ZVHM hkgFFVXuGM2PhVsBBgu9rRG5oAfkGAO7 X-Received: by 2002:a5d:5f50:0:b0:3a5:5270:c38f with SMTP id ffacd0b85a97d-3b60a0dd825mr294252f8f.0.1752534417058; Mon, 14 Jul 2025 16:06:57 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGKkMQw45iVsa2Z2HX4ouQwGxF7oOjEyF4aMk5G3xI3oGCfGKqGiMu2rfEYYYWHdnKrY7m0Lw== X-Received: by 2002:a5d:5f50:0:b0:3a5:5270:c38f with SMTP id ffacd0b85a97d-3b60a0dd825mr294234f8f.0.1752534416573; Mon, 14 Jul 2025 16:06:56 -0700 (PDT) Date: Mon, 14 Jul 2025 19:06:54 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Li Zhijian , Daniel P =?utf-8?B?LiBCZXJyYW5nw6k=?= , Ani Sinha , Igor Mammedov Subject: [PULL 16/97] hw/acpi: Fix GPtrArray memory leak in crs_range_merge Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752536107307116600 From: Li Zhijian This leak was detected by the valgrind. The crs_range_merge() function unconditionally allocated a GPtrArray 'even when range->len was zero, causing an early return without freeing the allocated array. This resulted in a memory leak when an empty range was processed. Instead of moving the allocation after the check (as previously attempted), use g_autoptr for automatic cleanup. This ensures the array is freed even on early returns, and also removes the need for the explicit free at the end of the function. Signed-off-by: Li Zhijian Message-Id: <20250613085110.111204-1-lizhijian@fujitsu.com> Reviewed-by: Daniel P. Berrang=C3=A9 Reviewed-by: Ani Sinha Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/acpi/aml-build.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c index f8f93a9f66..cb817a0f31 100644 --- a/hw/acpi/aml-build.c +++ b/hw/acpi/aml-build.c @@ -160,7 +160,7 @@ void crs_replace_with_free_ranges(GPtrArray *ranges, */ static void crs_range_merge(GPtrArray *range) { - GPtrArray *tmp =3D g_ptr_array_new_with_free_func(crs_range_free); + g_autoptr(GPtrArray) tmp =3D g_ptr_array_new_with_free_func(crs_range_= free); CrsRangeEntry *entry; uint64_t range_base, range_limit; int i; @@ -191,7 +191,6 @@ static void crs_range_merge(GPtrArray *range) entry =3D g_ptr_array_index(tmp, i); crs_range_insert(range, entry->base, entry->limit); } - g_ptr_array_free(tmp, true); } =20 static void --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535632; cv=none; d=zohomail.com; s=zohoarc; b=Iv1V2yfwCW3Iw2YipujMNIDfhjsHZLIy1Lmq2DpTJLELa7FVIS76LRs23CqDqkNgyBmM0zRbBXEtFpPRF5nDGwxuYQiu6VjSGP8+5NUH14sGkcEARmCzQZD6VnjO//KxJ76dVsldX9SJqJbZf+t1jPyfJ/qwz1qYQgSsVxv6X88= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535632; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=tlEUxu0QbathLxyjzGMenvHrSMIjCRY18hRcRGld0Wo=; b=n3Bk6TkFw2TcR85PFIpjdDwJ7P3RHZ/pcHcFTs3SJE2EnqmXOM5rzLQu3wRePjN/knm1MPwLVNM1BL2VV3WAb1MrSYP+IojSiGnIXPUe5Qf+pozsMRIsBIF/Zf8Ma4EQx5Z3FX004Chik/lMuVy9uHgq6Uh2lCGbq8VYWqgKMHU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535632389388.12461638091554; Mon, 14 Jul 2025 16:27:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSGn-0004PC-DL; Mon, 14 Jul 2025 19:07:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGH-0003L9-IF for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:15 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGE-0005RL-SJ for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:05 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-228-0yaRP4AwMLKb8o3fi2-8nA-1; Mon, 14 Jul 2025 19:07:01 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-4561bc2f477so9105705e9.0 for ; Mon, 14 Jul 2025 16:07:00 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e26ee3sm13793146f8f.96.2025.07.14.16.06.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:06:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534422; 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: in-reply-to:in-reply-to:references:references; bh=tlEUxu0QbathLxyjzGMenvHrSMIjCRY18hRcRGld0Wo=; b=WU0+FyteLBY4gDHorN9qImCXMq3qh4Vi4LhS95ztbUSWwzvbvsA5UHFtw+WK5WtzFU11KJ /DG9OxwuU10Y2yh+waumNC7uHJWm/VyOl4LC+qWXnyt8B+azn64pmb9m1YuNwh6W6imF2k l+rdHtVL54PkAEsDpbf1B8VvqZF+GLk= X-MC-Unique: 0yaRP4AwMLKb8o3fi2-8nA-1 X-Mimecast-MFC-AGG-ID: 0yaRP4AwMLKb8o3fi2-8nA_1752534420 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534419; x=1753139219; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=tlEUxu0QbathLxyjzGMenvHrSMIjCRY18hRcRGld0Wo=; b=ZEjLCd+r0uz+16pWzBbcn+xVB8e6CL7w09vYDsjaPYAc8aFzdrvVz1Z1RzPhSWOc3s UbhnZDzH91DuFd5Q8mPxSIS5hWCTzKKYr67bppjRfirzbvcwf5EFVdkGJDdhndeyQbyW dDgzOf+GSmdWyp82bdYL5WcSVW8rV+oMc5hdqJb4O4/gl2jk3TZYkLJzEIJbGretfYaN Yxp6EWoxdVWualiyEysGNLOTwntl1lT75Z5pTu0cJieJPp0p+PXM5YK2YEbEN97kFWBy xdYwY7mEp6yWUajTN1OXMP5Ghelk9BgvMEf+QLyNRyZTHcrgM6Yhg4o12C0JVgAYuJcv exmg== X-Gm-Message-State: AOJu0Yyzjmr4btO+yJO3Wklx6nsExy3o+4zKsPl/lNbx2yc8Iu67hH+1 qUWlUgHU+4Yn8xd8Y4abW/eRVbzOXEEgj0rGUAQ3iwtjpNOhULsRwul45mskdOV+pQcdSM8X2zi ta0gdDpUuse09ZfXm7yyqMK5J8mVVQgL66ivIWozxAmPWu+ZohuYBsmyJhHBOJD9cfS00LHHh1D YAqEBDRsrGvYvYrQy3LaO8yXbTwVLqlk+uiQ== X-Gm-Gg: ASbGncuK1zizgeYPwdpfqs/OU+QgVaXfyVH71aCwy6sdzIaT+vSRZQGSKDKck3vBevm jTT4VzN4Ik4GqNMFLTogJhdp5FcFJJnA8cwPkNc05LlOkiZkE5jmvrCiDt1IjCKqBpaVoL1TF2i dmKB34keRMu+uIivNDb3eryPmhXbJM11MvclSRlviM7cmov0tTeQbKZFixG+lLJNZOuYaMAhDoZ txb/kBf5W0aci+17nBHjtbOJgwJp5nGLvTySyYq/SpXGGObublb3fbP2YKr83nyAiq9iuozCus8 R/RKwAZZiza/NDEhN876qcEInhMy6luo X-Received: by 2002:adf:cc0d:0:b0:3a4:f024:6717 with SMTP id ffacd0b85a97d-3b5f18fa89cmr9869178f8f.53.1752534419552; Mon, 14 Jul 2025 16:06:59 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE6oPEoZhSA/2g1EzuNJXD0K3wMcq0JXAeoP446l1a7/lNpn1Jw/S4+gLOvNyPOQu6Gt6f70g== X-Received: by 2002:adf:cc0d:0:b0:3a4:f024:6717 with SMTP id ffacd0b85a97d-3b5f18fa89cmr9869157f8f.53.1752534419060; Mon, 14 Jul 2025 16:06:59 -0700 (PDT) Date: Mon, 14 Jul 2025 19:06:56 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Alejandro Jimenez , qemu-stable@nongnu.org, Ethan MILON , Vasant Hegde , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 17/97] amd_iommu: Fix Miscellaneous Information Register 0 encoding Message-ID: <091c7d7924f33781c2fb8e7297dc54971e0c3785.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535634482116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Alejandro Jimenez The definitions encoding the maximum Virtual, Physical, and Guest Virtual Address sizes supported by the IOMMU are using incorrect offsets i.e. the VASize and GVASize offsets are switched. The value in the GVAsize field is also modified, since it was incorrectly encoded. Cc: qemu-stable@nongnu.org Fixes: d29a09ca6842 ("hw/i386: Introduce AMD IOMMU") Co-developed-by: Ethan MILON Signed-off-by: Ethan MILON Signed-off-by: Alejandro Jimenez Message-Id: <20250617150427.20585-2-alejandro.j.jimenez@oracle.com> Reviewed-by: Vasant Hegde Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/amd_iommu.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/i386/amd_iommu.h b/hw/i386/amd_iommu.h index 5672bdef89..3b1d2e9da5 100644 --- a/hw/i386/amd_iommu.h +++ b/hw/i386/amd_iommu.h @@ -196,9 +196,9 @@ #define AMDVI_PAGE_SHIFT_4K 12 #define AMDVI_PAGE_MASK_4K (~((1ULL << AMDVI_PAGE_SHIFT_4K) - 1)) =20 -#define AMDVI_MAX_VA_ADDR (48UL << 5) -#define AMDVI_MAX_PH_ADDR (40UL << 8) -#define AMDVI_MAX_GVA_ADDR (48UL << 15) +#define AMDVI_MAX_GVA_ADDR (2UL << 5) +#define AMDVI_MAX_PH_ADDR (40UL << 8) +#define AMDVI_MAX_VA_ADDR (48UL << 15) =20 /* Completion Wait data size */ #define AMDVI_COMPLETION_DATA_SIZE 8 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534675; cv=none; d=zohomail.com; s=zohoarc; b=H9k8IfTdqEBnTp+ogR8eAud9U76WTzHn5g0wDDSJLXf496B74FF9evJqV1Ywpp9u0RCHWosZs5vAfEJigwEPl1Tw7ck2xDM7bwBPeSUyXEaHpcwmiu2hlLrfo2YGPFHfsfk7smerRP0eePheEalBjQQA+WqTCbDGaVEJ5lwq6dw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534675; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=L6nMveUbGLrix9Gi4Nv9/DgFcJ4qjPzRjbMU6l4MMKE=; b=KR3OvSfghe/KZFr6KB31H5Ab7BZgdE4JYAzzATkVVomzihw0czOUyKHlHaGI/fk6wo4XVTuyYpBWcT9Zz6z3zeQBL72xOx1hPqva7F10SE2b6TY8wLXRSLg8h65XDkuX0D23meoYqOTtYf675lEyrcFYrKtSxi972xI2m+s1FuI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534675275672.2009184870979; Mon, 14 Jul 2025 16:11:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSHd-0006ta-0P; Mon, 14 Jul 2025 19:08:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGJ-0003Lx-6I for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:15 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGG-0005Rp-WA for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:06 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-66-HSh_MKSmNw-W1CBz6GSKzw-1; Mon, 14 Jul 2025 19:07:03 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-4561bc2f477so9105785e9.0 for ; Mon, 14 Jul 2025 16:07:03 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45619fbcff8sm48845765e9.2.2025.07.14.16.07.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534424; 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: in-reply-to:in-reply-to:references:references; bh=L6nMveUbGLrix9Gi4Nv9/DgFcJ4qjPzRjbMU6l4MMKE=; b=IemNU1LBE+FYN/STm+itbe+tnZKWW5OMbRhN3WG8mBx/Xz2AHRlcLgvmPtgXfa7hCR0W9B FldVAw0W/0vLlq/NWudBlscNFAD1wemod34DZxR7C1eiKuS0t7kCl8y3g4CwC3r8VLg53Q V9/r8iDxYE44Fo5u2R8aFeVPWmvqUfo= X-MC-Unique: HSh_MKSmNw-W1CBz6GSKzw-1 X-Mimecast-MFC-AGG-ID: HSh_MKSmNw-W1CBz6GSKzw_1752534422 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534422; x=1753139222; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=L6nMveUbGLrix9Gi4Nv9/DgFcJ4qjPzRjbMU6l4MMKE=; b=adVBNYBmMpUlc9Tif46diJz//5GXja7TYwjmzBqYQ3pGZZ2f63NdpRs9AacQoDeE9d TYYzbcpkUfKG2BiNg9KrXmbfaFKeh/uBCRhb1P2NzzzHOFNCRaw1RiYJNKqg2TvatsEn d7pQUbx7XhmoJihv9vjs1tQB9dhP8fZttScJrv4UlxzfLow2u67jJ/qwnkQfxT1CNwO1 G/vFY8NOyJbHNhz8qG1P+jJv8IFvTd4Tccv5/77QBTVsOnF1+HhzGWQxxgJ7RKWQAnfv jApNgWkODrjGsXFl8ZRJH3euj1hRx1P0z1jtH3oy2DXWEaqIMTq63N9P+o/fMbh5ZbC1 4uKw== X-Gm-Message-State: AOJu0Yz54Dj1BtlZusZZxwEtVQ6m55Xcb4IynIZCRwIsASC1bzwV6+bH VkYBqL+XDG9j+H+6cGD5fo3lnNJqpxHhIHiO2+FJub++KpgFqU98bKyyRYZ8bB06HCYAzTpA27t 07LzsMaSk9wY5gRu//P0aXyPA+aNtZwx0VALM/ebBj1iKnbOlVo5RaR0kqTmJYmGrhhel7CneJq fkWfm8BQA2WtD0XTJJYnG+61No56zxFzfp/w== X-Gm-Gg: ASbGncueANbZJlSy4klGURDjezIjjeJquvFERhS9I8GVHU1jgG/wT8Zt6jSIWlCU4j8 XFfpe9AfLwyA5HD8JF6XfdNo2KvhSMNUiCfMgyngn3lh3GgYW7q+reWBAiutFfRoMJgqx+pv6Em cqrRNwnFysYk9jhtnRhFpH5lUxED774B3oQfWDcWbbGXYsOJ1pQlWcZZa3gT0/EkyChFrT28CVH IkhbrN9tPB2SLkpjM9NhM/Rh23rYP1ohJ8QFZLFgGGssyJoszgIT679vM0+6TtGrFD3OzMWiReM flAaaJ4VknZA2UiOtuZ1UiSZ+0ScV60U X-Received: by 2002:a05:600c:1546:b0:456:58e:31af with SMTP id 5b1f17b1804b1-456058e33b9mr111509005e9.14.1752534421657; Mon, 14 Jul 2025 16:07:01 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEyylURUBM3LIWdMLMxKD/hA1FAGQUvUOFHLCGzEzYdB0A8DxTgBP8nfxqlcrOEzw1UWV/How== X-Received: by 2002:a05:600c:1546:b0:456:58e:31af with SMTP id 5b1f17b1804b1-456058e33b9mr111508755e9.14.1752534421199; Mon, 14 Jul 2025 16:07:01 -0700 (PDT) Date: Mon, 14 Jul 2025 19:06:59 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Alejandro Jimenez , qemu-stable@nongnu.org, Vasant Hegde , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 18/97] amd_iommu: Fix Device ID decoding for INVALIDATE_IOTLB_PAGES command Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534677317116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Alejandro Jimenez The DeviceID bits are extracted using an incorrect offset in the call to amdvi_iotlb_remove_page(). This field is read (correctly) earlier, so use the value already retrieved for devid. Cc: qemu-stable@nongnu.org Fixes: d29a09ca6842 ("hw/i386: Introduce AMD IOMMU") Signed-off-by: Alejandro Jimenez Reviewed-by: Vasant Hegde Message-Id: <20250617150427.20585-3-alejandro.j.jimenez@oracle.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/amd_iommu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/i386/amd_iommu.c b/hw/i386/amd_iommu.c index 963aa2450c..c27efa504d 100644 --- a/hw/i386/amd_iommu.c +++ b/hw/i386/amd_iommu.c @@ -508,7 +508,7 @@ static void amdvi_inval_inttable(AMDVIState *s, uint64_= t *cmd) static void iommu_inval_iotlb(AMDVIState *s, uint64_t *cmd) { =20 - uint16_t devid =3D extract64(cmd[0], 0, 16); + uint16_t devid =3D cpu_to_le16(extract64(cmd[0], 0, 16)); if (extract64(cmd[1], 1, 1) || extract64(cmd[1], 3, 1) || extract64(cmd[1], 6, 6)) { amdvi_log_illegalcom_error(s, extract64(cmd[0], 60, 4), @@ -521,7 +521,7 @@ static void iommu_inval_iotlb(AMDVIState *s, uint64_t *= cmd) &devid); } else { amdvi_iotlb_remove_page(s, cpu_to_le64(extract64(cmd[1], 12, 52)) = << 12, - cpu_to_le16(extract64(cmd[1], 0, 16))); + devid); } trace_amdvi_iotlb_inval(); } --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535669; cv=none; d=zohomail.com; s=zohoarc; b=S+1gdiEN+QMuC76nESp+t45U7vNmyelJG3UR3aFzMkcWt3HoccQm+aFO/9nhbFquYqeSWskVTZI9b9xrAyqySsxC1PCGOsp0Zrz7nOtsFZqCkT5ta68Z95Qs65+eKihbzhTughr1n7Ufy+Mz5T6zNU7VOL5ytrWci2WZFb5EOYI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535669; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Z8hIx0RDGxkniPPBkXaUbDNCr7JWC8oeDsf7Ie3RFps=; b=NTnNiVxwl945BWxsMAgpUeIqfGZA2tzrgYuAEXclH5kC9SCC47s/XO6NnmtX6b5ZURcV7+FAKbOHG2DGR1TzlQiVHINftdjH4bhLrVGmrbPEsbihveggrqWlxENciBXb24Doj92LjXk80SDXr/BO+61kTcH2vSF0dxHrgu86gK0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535669046611.5278925103967; Mon, 14 Jul 2025 16:27:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSH0-0005p2-CQ; Mon, 14 Jul 2025 19:07:52 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGR-0003bM-Ia for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:20 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGP-0005Sg-Qa for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:15 -0400 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-370-Hmjf3DcRMYuGahDib6pDFg-1; Mon, 14 Jul 2025 19:07:06 -0400 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3a503f28b09so3029832f8f.0 for ; Mon, 14 Jul 2025 16:07:05 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45627898725sm1691545e9.1.2025.07.14.16.07.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534428; 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: in-reply-to:in-reply-to:references:references; bh=Z8hIx0RDGxkniPPBkXaUbDNCr7JWC8oeDsf7Ie3RFps=; b=bzAPWp9WeDqMXbJ7gc5uIIj3t5IKtJUh+l05G5jpAvWIvdDIvrLBwVwVY8WSUFQMERo3QT ZjMY079J0XHHw0DJr32ntbE+/FOBP5tXosvCRx8mVuHy48Fn6U41Lu+LD7OYfMeapJSntv R2mJP8MKpihSVdvnFgBuT8GOaizLrog= X-MC-Unique: Hmjf3DcRMYuGahDib6pDFg-1 X-Mimecast-MFC-AGG-ID: Hmjf3DcRMYuGahDib6pDFg_1752534424 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534424; x=1753139224; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Z8hIx0RDGxkniPPBkXaUbDNCr7JWC8oeDsf7Ie3RFps=; b=pyrcmPXFRJrd4tmj5HX5BgxADwFTBqsqf67wmy6bzRwOxJc0scLCBXeiX8SQvasCKZ O/Pvjdrtp8ZV8nzYxxh9eGJfxwBl48fJMuBrTstj8fxL2QJ5/UweVlBPwXXz6qA20AQi SUQT5GLIuKoOCQbKCcSoBml0rAdy2JFeYkJQDz2D1e0V2WaUVaviiAEwNplotSLOrdh2 akZ2c8ZepKRx73TPlV9gq9tjK4z2gs7rp9FLg3tytP0k8SY/8P1M6d0VjgFaJp/u8fXg /7/v0F9TANwZeCXYVxnuNbpwqaat0njPJQQr5RA/1RfFj71PA/DghBzZyWiFGOn74zMP dPnA== X-Gm-Message-State: AOJu0YyP4sjw96kWA0lDb+VpRyjX35lJT/F95dZrtpOAmS8phcVrhm33 cYIIyF1khHJsnZgx2XwQHVyLpx9+J5UekijWJoRGsMovE5q+tOCm/H65SL+3nj1TljPnYMsDlrq 75Nk8GrG99NM9BSJzIx5Lya2FcqSagXwY2TJCV1a+e7hYkfrcJADCdhmVwiooemL8gvX96sWlGS NEwIBG57Js3zuPGLH4WDyl31RjWRVdEzs+wQ== X-Gm-Gg: ASbGncsem006YrXV9ogQWCGuSQIhP5YRT3LJPPfA9I2npf0hCC1CjSVQLKrpaywYVPK jX8YXd+NSkday8etPw9lJU2i0pEH7nAoXi5VbDHdQbhjbaAGtONqVXytQwSkh1DbmHmJPxuuRP2 ccubt6CouRb8RZC+gXt/5knPIjzuwOve3nweOKh2DASY2T83vRNFzbeYrK0u7VaZntKW2l+7E6y JChxulmIES+bWjxilLmbXeiHee2ywXY48boV8zJ9zkqgp2XXTdHHAuCrpWHf1Wx1KICPsAJw9GZ LK7JTYeURAQbzR9NZCJdNKzUZDn6We5R X-Received: by 2002:a05:6000:24c5:b0:3a5:8977:e0fd with SMTP id ffacd0b85a97d-3b6094fff45mr735174f8f.0.1752534423877; Mon, 14 Jul 2025 16:07:03 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEbTTtbW8VxZav53wFHIZg1jOGypDHXMySbBVZy3wdA1KCom30tsCnwgsuhczC7Eq6ImgDxAQ== X-Received: by 2002:a05:6000:24c5:b0:3a5:8977:e0fd with SMTP id ffacd0b85a97d-3b6094fff45mr735147f8f.0.1752534423307; Mon, 14 Jul 2025 16:07:03 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:01 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Alejandro Jimenez , qemu-stable@nongnu.org, Vasant Hegde , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 19/97] amd_iommu: Update bitmasks representing DTE reserved fields Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535670513116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Alejandro Jimenez The DTE validation method verifies that all bits in reserved DTE fields are unset. Update them according to the latest definition available in AMD I/O Virtualization Technology (IOMMU) Specification - Section 2.2.2.1 Device Table Entry Format. Remove the magic numbers and use a macro helper to generate bitmasks covering the specified ranges for better legibility. Note that some reserved fields specify that events are generated when they contain non-zero bits, or checks are skipped under certain configurations. This change only updates the reserved masks, checks for special conditions are not yet implemented. Cc: qemu-stable@nongnu.org Signed-off-by: Alejandro Jimenez Reviewed-by: Vasant Hegde Message-Id: <20250617150427.20585-4-alejandro.j.jimenez@oracle.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/amd_iommu.h | 9 ++++++--- hw/i386/amd_iommu.c | 7 ++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/hw/i386/amd_iommu.h b/hw/i386/amd_iommu.h index 3b1d2e9da5..aacb29b617 100644 --- a/hw/i386/amd_iommu.h +++ b/hw/i386/amd_iommu.h @@ -25,6 +25,8 @@ #include "hw/i386/x86-iommu.h" #include "qom/object.h" =20 +#define GENMASK64(h, l) (((~0ULL) >> (63 - (h) + (l))) << (l)) + /* Capability registers */ #define AMDVI_CAPAB_BAR_LOW 0x04 #define AMDVI_CAPAB_BAR_HIGH 0x08 @@ -162,9 +164,10 @@ #define AMDVI_FEATURE_PC (1ULL << 9) /* Perf counters = */ =20 /* reserved DTE bits */ -#define AMDVI_DTE_LOWER_QUAD_RESERVED 0x80300000000000fc -#define AMDVI_DTE_MIDDLE_QUAD_RESERVED 0x0000000000000100 -#define AMDVI_DTE_UPPER_QUAD_RESERVED 0x08f0000000000000 +#define AMDVI_DTE_QUAD0_RESERVED (GENMASK64(6, 2) | GENMASK64(63, 6= 3)) +#define AMDVI_DTE_QUAD1_RESERVED 0 +#define AMDVI_DTE_QUAD2_RESERVED GENMASK64(53, 52) +#define AMDVI_DTE_QUAD3_RESERVED (GENMASK64(14, 0) | GENMASK64(53, = 48)) =20 /* AMDVI paging mode */ #define AMDVI_GATS_MODE (2ULL << 12) diff --git a/hw/i386/amd_iommu.c b/hw/i386/amd_iommu.c index c27efa504d..6e78047919 100644 --- a/hw/i386/amd_iommu.c +++ b/hw/i386/amd_iommu.c @@ -848,9 +848,10 @@ static inline uint64_t amdvi_get_perms(uint64_t entry) static bool amdvi_validate_dte(AMDVIState *s, uint16_t devid, uint64_t *dte) { - if ((dte[0] & AMDVI_DTE_LOWER_QUAD_RESERVED) - || (dte[1] & AMDVI_DTE_MIDDLE_QUAD_RESERVED) - || (dte[2] & AMDVI_DTE_UPPER_QUAD_RESERVED) || dte[3]) { + if ((dte[0] & AMDVI_DTE_QUAD0_RESERVED) || + (dte[1] & AMDVI_DTE_QUAD1_RESERVED) || + (dte[2] & AMDVI_DTE_QUAD2_RESERVED) || + (dte[3] & AMDVI_DTE_QUAD3_RESERVED)) { amdvi_log_illegaldevtab_error(s, devid, s->devtab + devid * AMDVI_DEVTAB_ENTRY_SIZE, 0); --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535005; cv=none; d=zohomail.com; s=zohoarc; b=Zahs5usGQx3MC9m3LeAeGwbsTHz205SlHvdnsNT9D8tUEIIZ6ZN/1XrimnjIJ1ldf+wMm/+2+HCrbnMRjVEGPUGwQHDiHUtOJFeIJxbrUqGhNCExIq+pg2HfPT4jfy9qgWmk7eJR5VwNQx36bq4B0sesxg1lLo1ODqbPH9rN+mI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535005; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ac5kQC28Wz5sTKphFJUv5ORfXNQ3SuWxyn60B2NigdE=; b=lKY/ywCVYzOI6sunBULMH2T5WakSCjQwevJSSzFgBKKplzRUK2infg0iXoZRngHs9uTPtvOfRb84cI9z4SA7msvAn1bE0RijpX9vxEw/y01kzNdirKmEvBtVyQpM0gx52M5USbw/LTFSqqTU9WFj6jwsSMrAdnlPmcq7TOCQdno= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175253500512017.702578453219417; Mon, 14 Jul 2025 16:16:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSGn-0004U0-NN; Mon, 14 Jul 2025 19:07:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGU-0003cO-JC for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:23 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGQ-0005Sr-5y for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:18 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-472-eCo8oCsqOJCDagnVij05SQ-1; Mon, 14 Jul 2025 19:07:08 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-45626e0d3e1so1099985e9.1 for ; Mon, 14 Jul 2025 16:07:08 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e0d785sm13820674f8f.59.2025.07.14.16.07.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534429; 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: in-reply-to:in-reply-to:references:references; bh=ac5kQC28Wz5sTKphFJUv5ORfXNQ3SuWxyn60B2NigdE=; b=RuymoIwPz9vqwBhuDEWmjr3DUE4oqtS5eT+Hj7M3dLE0LsU2y4J2wzmOcgSvABp1ENP6ZS EaTmDF0oYWSwS6pXg+hWVn9Rr5fZMoQgLAxf8N7J/2IBcE0z4LisMUhnONmn7HgiiAv9MZ oAZiiwm7hurfJX5TF0XNiSlGqsNMXtk= X-MC-Unique: eCo8oCsqOJCDagnVij05SQ-1 X-Mimecast-MFC-AGG-ID: eCo8oCsqOJCDagnVij05SQ_1752534427 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534427; x=1753139227; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=ac5kQC28Wz5sTKphFJUv5ORfXNQ3SuWxyn60B2NigdE=; b=O8BnFpF04VcGvCEiEQhgIKq06BxSx1oyPOAfbIKAMnTQrp5rVrvCOxRuKR/Hnw+YEI GjFqWXOkrQUrywnPR4pdURYq8jj0+81PVI0UrQ0ig2qINo0qY9l+zElZo4Uo3bqylm// qwWFZkjhYCnkbav9bKvG0caKQaRAU3SIFn7q75wAHhVqa6zZ/+26mOmdl2zygBtf2xBN tQVZ3Dkp8hMu2x2LJ4V19oPtCfonqYzCUl0Ok2fGZkaZ+J9KK3Eu6HA0JQ3m6J3by3OA vBKiNzdw7plWmVNNcbZJCj14uMrbwQJ4ieeHIk0ap93zWzlX3Ua3+zAHATtSq5WY6ZOk aDjw== X-Gm-Message-State: AOJu0YzJIPJZUGSzcGBQfhRc57cFpnkmMPZzWugviIbU++kWmOFXgVBq 70VmKj5UoS/OnLAFqnl62qMbgVQF0BCCPirobLKc2txTYS+zQ30nbkl0tX+Hdht3EHu6Yue740j pT0hd9pOuxGXi6KOW0fYyyF0RTsQ2IBHDf19Vow6G1uyODTjbL5vvyZCGw9m7bNQByE4m97YEA7 5vho2Mols6ztG3x2ymbxmy/asVVq+0pdj9yg== X-Gm-Gg: ASbGncs5X44nauBknJHsLLyrLI64OZ+DYJX7LovnE3WdacaAOIQFqQuYajt12xPwWRv ZaQSqCp/MFXDdOPBOS6FWrRau1G8eGWUYHzyXI6ncWaCNutP38kAuMDFXjym2EGVP/zKUmhjXsI 8dfC3Mc10IIl3cMhuVjmapZo/L8lUiL+0Tlin61Ul7ZZofIFLyiYBHXHRupflCXgryvT7jh5ct7 7dPow4ls4r1puZuMYmKxCVDfrqiEqJwJl0ctoFjeWsCOfRVUWz/JLPMq9Uq5H7zEzGL4L3BTEIE xEtTREb3L6YVSMws45cDDMlwOQV5khZG X-Received: by 2002:a05:6000:25ec:b0:3b4:b4d:6861 with SMTP id ffacd0b85a97d-3b5f18d98b6mr12383639f8f.27.1752534426591; Mon, 14 Jul 2025 16:07:06 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEhYjAS7nT/tYn58BN90w7GQ3aYvFmL+bStO/Kug1Q39DEg+brolPNLe35tZEZvDfYfh8UoYg== X-Received: by 2002:a05:6000:25ec:b0:3b4:b4d:6861 with SMTP id ffacd0b85a97d-3b5f18d98b6mr12383618f8f.27.1752534426126; Mon, 14 Jul 2025 16:07:06 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:03 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Alejandro Jimenez , qemu-stable@nongnu.org, Vasant Hegde , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 20/97] amd_iommu: Fix masks for various IOMMU MMIO Registers Message-ID: <108e10ff69099c3ebe147f505246be7c2ad2a499.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, UPPERCASE_50_75=0.008 autolearn=no 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535006320116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Alejandro Jimenez Address various issues with definitions of the MMIO registers e.g. for the Device Table Address Register, the size mask currently encompasses reserved bits [11:9], so change it to only extract the bits [8:0] encoding size. Convert masks to use GENMASK64 for consistency, and make unrelated definitions independent. Cc: qemu-stable@nongnu.org Fixes: d29a09ca6842 ("hw/i386: Introduce AMD IOMMU") Signed-off-by: Alejandro Jimenez Reviewed-by: Vasant Hegde Message-Id: <20250617150427.20585-5-alejandro.j.jimenez@oracle.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/amd_iommu.h | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/hw/i386/amd_iommu.h b/hw/i386/amd_iommu.h index aacb29b617..988a485f80 100644 --- a/hw/i386/amd_iommu.h +++ b/hw/i386/amd_iommu.h @@ -68,34 +68,34 @@ =20 #define AMDVI_MMIO_SIZE 0x4000 =20 -#define AMDVI_MMIO_DEVTAB_SIZE_MASK ((1ULL << 12) - 1) -#define AMDVI_MMIO_DEVTAB_BASE_MASK (((1ULL << 52) - 1) & ~ \ - AMDVI_MMIO_DEVTAB_SIZE_MASK) +#define AMDVI_MMIO_DEVTAB_SIZE_MASK GENMASK64(8, 0) +#define AMDVI_MMIO_DEVTAB_BASE_MASK GENMASK64(51, 12) + #define AMDVI_MMIO_DEVTAB_ENTRY_SIZE 32 #define AMDVI_MMIO_DEVTAB_SIZE_UNIT 4096 =20 /* some of this are similar but just for readability */ #define AMDVI_MMIO_CMDBUF_SIZE_BYTE (AMDVI_MMIO_COMMAND_BASE + 7) #define AMDVI_MMIO_CMDBUF_SIZE_MASK 0x0f -#define AMDVI_MMIO_CMDBUF_BASE_MASK AMDVI_MMIO_DEVTAB_BASE_MASK -#define AMDVI_MMIO_CMDBUF_HEAD_MASK (((1ULL << 19) - 1) & ~0x0f) -#define AMDVI_MMIO_CMDBUF_TAIL_MASK AMDVI_MMIO_EVTLOG_HEAD_MASK +#define AMDVI_MMIO_CMDBUF_BASE_MASK GENMASK64(51, 12) +#define AMDVI_MMIO_CMDBUF_HEAD_MASK GENMASK64(18, 4) +#define AMDVI_MMIO_CMDBUF_TAIL_MASK GENMASK64(18, 4) =20 #define AMDVI_MMIO_EVTLOG_SIZE_BYTE (AMDVI_MMIO_EVENT_BASE + 7) -#define AMDVI_MMIO_EVTLOG_SIZE_MASK AMDVI_MMIO_CMDBUF_SIZE_MASK -#define AMDVI_MMIO_EVTLOG_BASE_MASK AMDVI_MMIO_CMDBUF_BASE_MASK -#define AMDVI_MMIO_EVTLOG_HEAD_MASK (((1ULL << 19) - 1) & ~0x0f) -#define AMDVI_MMIO_EVTLOG_TAIL_MASK AMDVI_MMIO_EVTLOG_HEAD_MASK +#define AMDVI_MMIO_EVTLOG_SIZE_MASK 0x0f +#define AMDVI_MMIO_EVTLOG_BASE_MASK GENMASK64(51, 12) +#define AMDVI_MMIO_EVTLOG_HEAD_MASK GENMASK64(18, 4) +#define AMDVI_MMIO_EVTLOG_TAIL_MASK GENMASK64(18, 4) =20 -#define AMDVI_MMIO_PPRLOG_SIZE_BYTE (AMDVI_MMIO_EVENT_BASE + 7) -#define AMDVI_MMIO_PPRLOG_HEAD_MASK AMDVI_MMIO_EVTLOG_HEAD_MASK -#define AMDVI_MMIO_PPRLOG_TAIL_MASK AMDVI_MMIO_EVTLOG_HEAD_MASK -#define AMDVI_MMIO_PPRLOG_BASE_MASK AMDVI_MMIO_EVTLOG_BASE_MASK -#define AMDVI_MMIO_PPRLOG_SIZE_MASK AMDVI_MMIO_EVTLOG_SIZE_MASK +#define AMDVI_MMIO_PPRLOG_SIZE_BYTE (AMDVI_MMIO_PPR_BASE + 7) +#define AMDVI_MMIO_PPRLOG_SIZE_MASK 0x0f +#define AMDVI_MMIO_PPRLOG_BASE_MASK GENMASK64(51, 12) +#define AMDVI_MMIO_PPRLOG_HEAD_MASK GENMASK64(18, 4) +#define AMDVI_MMIO_PPRLOG_TAIL_MASK GENMASK64(18, 4) =20 #define AMDVI_MMIO_EXCL_ENABLED_MASK (1ULL << 0) #define AMDVI_MMIO_EXCL_ALLOW_MASK (1ULL << 1) -#define AMDVI_MMIO_EXCL_LIMIT_MASK AMDVI_MMIO_DEVTAB_BASE_MASK +#define AMDVI_MMIO_EXCL_LIMIT_MASK GENMASK64(51, 12) #define AMDVI_MMIO_EXCL_LIMIT_LOW 0xfff =20 /* mmio control register flags */ @@ -132,14 +132,14 @@ #define AMDVI_DEV_TRANSLATION_VALID (1ULL << 1) #define AMDVI_DEV_MODE_MASK 0x7 #define AMDVI_DEV_MODE_RSHIFT 9 -#define AMDVI_DEV_PT_ROOT_MASK 0xffffffffff000 +#define AMDVI_DEV_PT_ROOT_MASK GENMASK64(51, 12) #define AMDVI_DEV_PT_ROOT_RSHIFT 12 #define AMDVI_DEV_PERM_SHIFT 61 #define AMDVI_DEV_PERM_READ (1ULL << 61) #define AMDVI_DEV_PERM_WRITE (1ULL << 62) =20 /* Device table entry bits 64:127 */ -#define AMDVI_DEV_DOMID_ID_MASK ((1ULL << 16) - 1) +#define AMDVI_DEV_DOMID_ID_MASK GENMASK64(15, 0) =20 /* Event codes and flags, as stored in the info field */ #define AMDVI_EVENT_ILLEGAL_DEVTAB_ENTRY (0x1U << 12) @@ -197,7 +197,7 @@ #define AMDVI_PAGE_SIZE (1ULL << AMDVI_PAGE_SHIFT) =20 #define AMDVI_PAGE_SHIFT_4K 12 -#define AMDVI_PAGE_MASK_4K (~((1ULL << AMDVI_PAGE_SHIFT_4K) - 1)) +#define AMDVI_PAGE_MASK_4K GENMASK64(63, 12) =20 #define AMDVI_MAX_GVA_ADDR (2UL << 5) #define AMDVI_MAX_PH_ADDR (40UL << 8) --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535849; cv=none; d=zohomail.com; s=zohoarc; b=HpX0zeQHfDc3iHLSC8b5uwBTTkQmjrNLepNvzQ11PvW2OkadFAYg69F3kkucLCirs02Vs7SGLfMrsetjKnPx3d6BaEIxFIMr8RR++7SP9lUdgNLoxOBcRHV64pkBT+TiPm4JbHajtmtIyB7dFOIwFC0cgwMJyhQ6CFAbEvitV6I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535849; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=nq46ULtCQdBYCwUYnfPbjV/Hw+qzSwlVVyuG3rjxrJQ=; b=HHFa1xh2MNno1RaWFhQPdAsYQpurtX1TUkAvnO7haAzZczj2DY5zQo6kHR0lfjB1g4yp7xvukIpSUb+11bfGMt5XSUqICWzEAqWLsCVTXoLp5q4g53uczZQPJkg/AhhRs91GyFwozNHL0gnFAypEPW9elDGomxIh6J71oSxDs9w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17525358490261014.612714973939; Mon, 14 Jul 2025 16:30:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSGj-00049O-LP; Mon, 14 Jul 2025 19:07:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGS-0003be-QM for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:21 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGP-0005Sz-SK for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:16 -0400 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-385-umamgG5oMcq6fIGP3NBCbA-1; Mon, 14 Jul 2025 19:07:10 -0400 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3a6d1394b07so3439760f8f.3 for ; Mon, 14 Jul 2025 16:07:09 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e0d70csm13771713f8f.62.2025.07.14.16.07.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534431; 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: in-reply-to:in-reply-to:references:references; bh=nq46ULtCQdBYCwUYnfPbjV/Hw+qzSwlVVyuG3rjxrJQ=; b=GvvKOTIYQwwG8+2axyDJ9/gr2jyLKfbW1ZoYLMYMq+jq6KXGm1qfTNJKfvWRBk73MXBwUZ UpXGJGNdsvG7lxe5oIWu7GD3/KF7Po8a+JHEvfcmIEg8d4j4Eb6SHfwijRVk7DosrJElxr Zh5X1LIj8hbKYW4+pRWheI0ZtkqzwIA= X-MC-Unique: umamgG5oMcq6fIGP3NBCbA-1 X-Mimecast-MFC-AGG-ID: umamgG5oMcq6fIGP3NBCbA_1752534429 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534429; x=1753139229; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=nq46ULtCQdBYCwUYnfPbjV/Hw+qzSwlVVyuG3rjxrJQ=; b=r6zHBzndXTnSzjXGkMJe0BpKz2l/A1E0oqGpUHmJuJg63r+jSxzXHFvWmZxJ/8zgvn 8mlu1WJ2uYRocL9QGvxKJsKd09nv/jdKDB+v9R4awx+syxCm3YXaybzve7KWkEOysKGi zJROngoRM2NFyZgZesIAdUvE5B3Tp8ng+NauLgNTDYmJ04bBFGP7K107vtD5JXX+XnOX dtZ+g8lr889GfOV0nOJtCwcgPBDhyLQDgd3Du76pOfP4WDv4Synik4yy8iAeZW4AnzH9 eIM+V+TDb2B1ZFe2XdBUT7ppWb1eKqCeEFx52Z4qC1PdBjHV3EbUxWbi04SdYChdjiKV JTlA== X-Gm-Message-State: AOJu0YzPn51P9FtY39HU6V6nXeu39J9yc0NRyzwGzoS8EyCxEzdeWqHk +09PIJT8hRWzMQEpuQ0z1/sUeKT5Lba3FtGFHpEwI3zhYO9QkEVR1uwCQOOm53Na3GOWklhMqQz o1QEmNnxkN8GuFCRGwrm0yJ0iazjMgRfgyzpeM7lKFTD4XN+Anon4VV6BvDSOJX9O3ucbrKRlsH bG6QKKt6q1E0rkQ/m/mCeKRSJHMN2cEKmDSw== X-Gm-Gg: ASbGnctgiFd0AqSk+WVfVB2RSYvunlHfUVmQWvlEZeftR6+TcUFk2bRbT5FQT9E6fCS c8dLMlNqkLjNtLfNPw8B6t+VLNSSD8Mp8bBfFGrHoTXmzPf/Mt6iTRBb9lxyStb8xI9YRxPjxXJ 0Qc9uw5jDrgeILbeMt6FFFZigcYqQ7ORjeqHv/JhYv8bbJjPx9UAvn26PRM5uCTbTYRpeDpsCmZ BreYfqy072IJFM+TPUOGPJVpzilC4iKr4MdEjfujZrHTnVIbJmB0OWghJhhnrbN+EjoZSosq4Wt ziZ/7D265cgGDBvy6K9+63Nq0N7wW1zU X-Received: by 2002:a05:6000:188e:b0:3a5:1241:c1a3 with SMTP id ffacd0b85a97d-3b60a1a8fbfmr225010f8f.50.1752534428704; Mon, 14 Jul 2025 16:07:08 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEVKT1LYUCqLY8RUD86Fvv4VgAUyjcpyXpoPs2jPZQKGncMVn5mwZAZ96CasGV91bfKfeDvwg== X-Received: by 2002:a05:6000:188e:b0:3a5:1241:c1a3 with SMTP id ffacd0b85a97d-3b60a1a8fbfmr224985f8f.50.1752534428214; Mon, 14 Jul 2025 16:07:08 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:06 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Alejandro Jimenez , qemu-stable@nongnu.org, Vasant Hegde , Paolo Bonzini , Richard Henderson , Eduardo Habkost , Marcel Apfelbaum Subject: [PULL 21/97] amd_iommu: Fix mask to retrieve Interrupt Table Root Pointer from DTE Message-ID: <123cf4bdd378f746dfa2f5415ba084148dded3e3.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535850603116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Alejandro Jimenez Fix an off-by-one error in the definition of AMDVI_IR_PHYS_ADDR_MASK. The current definition masks off the most significant bit of the Interrupt Table Root ptr i.e. it only generates a mask with bits [50:6] set. See the AMD I/O Virtualization Technology (IOMMU) Specification for the Interrupt Table Root Pointer[51:6] field in the Device Table Entry format. Cc: qemu-stable@nongnu.org Fixes: b44159fe0078 ("x86_iommu/amd: Add interrupt remap support when VAPIC= is not enabled") Signed-off-by: Alejandro Jimenez Reviewed-by: Vasant Hegde Message-Id: <20250617150427.20585-6-alejandro.j.jimenez@oracle.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/amd_iommu.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/i386/amd_iommu.h b/hw/i386/amd_iommu.h index 988a485f80..96fc5b621e 100644 --- a/hw/i386/amd_iommu.h +++ b/hw/i386/amd_iommu.h @@ -231,7 +231,7 @@ #define AMDVI_IR_INTCTL_PASS 1 #define AMDVI_IR_INTCTL_REMAP 2 =20 -#define AMDVI_IR_PHYS_ADDR_MASK (((1ULL << 45) - 1) << 6) +#define AMDVI_IR_PHYS_ADDR_MASK GENMASK64(51, 6) =20 /* MSI data 10:0 bits (section 2.2.5.1 Fig 14) */ #define AMDVI_IRTE_OFFSET 0x7ff --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535137; cv=none; d=zohomail.com; s=zohoarc; b=f7/m9TVkhf/9hRGYUHIRTyI8oNxx5VNblRlq5n/pXJqO+kaOeiGmkDLjRUkrW4BjkaqASQSAWXErR+H3aj0rxRvj6BiqWwgPe1PpEgKRtTtxol1+5tKL/HZWYa0zRQVLWOBH0zQVrSB8iNoqs79996f+4dunNEATu/AFmtZx+80= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535137; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=y6HCjFtnqBbcdRuGAnX2gaWDHRpcN82xm4JfTd+zMno=; b=oAzgWhtXXCz4ItztD9RqfEPy3YO1jzaUlz0X1J3W4mqnQAiX6JFYvd9nHZI22sWgz7yOgg9SPLcf4xAsz2dtUKJJ688x2h/9f+f3osuUO8Kv5yhm/j5iAr4YDqiGqmdefglfvNXFREU5qLRG28/MJx/IB24PIfWh5XmRnuzi35w= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175253513753662.169958634459476; Mon, 14 Jul 2025 16:18:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSGq-0004mr-Fn; Mon, 14 Jul 2025 19:07:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGW-0003cg-F3 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:23 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGV-0005UW-2B for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:20 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-113-2B12DhC3NfqCFjMAFLIOgw-1; Mon, 14 Jul 2025 19:07:12 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-45526e19f43so12569915e9.3 for ; Mon, 14 Jul 2025 16:07:12 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e2710bsm13507621f8f.99.2025.07.14.16.07.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534438; 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: in-reply-to:in-reply-to:references:references; bh=y6HCjFtnqBbcdRuGAnX2gaWDHRpcN82xm4JfTd+zMno=; b=HgpDAgdp8a6Z0J+vMWZPxWlGowY1KtqgJ8kwHW9+gBsI1N3XWTn1nyyOYp1XwI6yxoT/Uu zO9Lq98+dqDK4jBRiOuw5UjEDawexq/7sKwPBmufciSu9bPZsMN1nTyQ5kQSNSiudy5K8N baAl+i0Ps0zZhr/EoU3nEUqN+xXFNyI= X-MC-Unique: 2B12DhC3NfqCFjMAFLIOgw-1 X-Mimecast-MFC-AGG-ID: 2B12DhC3NfqCFjMAFLIOgw_1752534431 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534431; x=1753139231; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=y6HCjFtnqBbcdRuGAnX2gaWDHRpcN82xm4JfTd+zMno=; b=aQs8jRyGnJ955B+mGJFKuAcbIpwX9pP5Rv/M3+PUJyEOuREdks6fUeEBQ7XIZF1STD hfGmNAeICSiEXM6rWs7X0Jrxvmy+0PEtTJOK7/NkAp6SPcjI2aIobTFstGrO9FFvzkpS JzRXdfMMrO7V3byw1zsAC7FY3+QwtwECQHKP8XGZhjXYrqZf3tymYb6DhSicetYweSHp x5nNugQWdV4j1ER+mmUHW986WDtuYvHE5hbohsTcbL9i4e0+yKfsbXS9bAKHN2OgRvGE 9buUkMydBsJWCtNmOyjMkf1KDvwcjIU1p5BbrAM4KHJET1uItjqQClFgbN1tTqak/nyY WmTg== X-Gm-Message-State: AOJu0YzQ2gL5kXnwZqD+09C15wgUeegGtdGOtVi0ZAscc0c+yKgDiJdA qQIm9b9Zrcdjxi6uvO0qa6Iw3de1Q8X/pOFw6gTwWfZsriyIrwmtSzWKLEmNe77GI1FatJzsWTs DuATD5k0oJFND8wx1ZvS7P9ezJqPx0C1coDLkRvLKMN2wYuB4V2ND//VZNg595uVBkk8qVeeWQw O++EpctjksEsZo2zeGjb1q4/KIng6Wm+7jkg== X-Gm-Gg: ASbGncvuVhspnURpvjkf/f6bF0yOKaY68rI7zK1J9I1ce76Z0X+kq29m12eMln7QOrK K+ti/TrIS8yedhfD288nMuCFHV+eo45bczBjvdHAOGlXaqIAQYBoNCH4A2O8ixTkmIphbcoSmqa uxK2Kt7TQgCCcXycKQ9bBQSNT696UQET9u9A36YS8ZWmHf1mm1k21W4dqvEOPBRRBhd6K+DNONW vCen1AM9K0+ojqnTc0/M7ewp7OPtBI92qbnCzay6adDAzig7JHsOVGknMZtedxST6oJzAnaSPgl xwZHQ4FCLIvhCrQD/puRKENlG9bBnfX5 X-Received: by 2002:a5d:4c4c:0:b0:3b3:e3f6:4a9b with SMTP id ffacd0b85a97d-3b5f18d9726mr9692390f8f.41.1752534430865; Mon, 14 Jul 2025 16:07:10 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHguxpAnwlpuCW/9IP+TlatV47K/ROse7sMo3C9gQoqtiqbvyNxP8t12j9Daz4UFQ58eQ58Cg== X-Received: by 2002:a5d:4c4c:0:b0:3b3:e3f6:4a9b with SMTP id ffacd0b85a97d-3b5f18d9726mr9692356f8f.41.1752534430345; Mon, 14 Jul 2025 16:07:10 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:08 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Alejandro Jimenez , qemu-stable@nongnu.org, Vasant Hegde , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 22/97] amd_iommu: Fix the calculation for Device Table size Message-ID: <67d3077ee403472d45794399e97c9f329242fce9.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535139468116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Alejandro Jimenez Correctly calculate the Device Table size using the format encoded in the Device Table Base Address Register (MMIO Offset 0000h). Cc: qemu-stable@nongnu.org Fixes: d29a09ca6842 ("hw/i386: Introduce AMD IOMMU") Signed-off-by: Alejandro Jimenez Reviewed-by: Vasant Hegde Message-Id: <20250617150427.20585-7-alejandro.j.jimenez@oracle.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/amd_iommu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/i386/amd_iommu.c b/hw/i386/amd_iommu.c index 6e78047919..92f94dc788 100644 --- a/hw/i386/amd_iommu.c +++ b/hw/i386/amd_iommu.c @@ -665,8 +665,8 @@ static inline void amdvi_handle_devtab_write(AMDVIState= *s) uint64_t val =3D amdvi_readq(s, AMDVI_MMIO_DEVICE_TABLE); s->devtab =3D (val & AMDVI_MMIO_DEVTAB_BASE_MASK); =20 - /* set device table length */ - s->devtab_len =3D ((val & AMDVI_MMIO_DEVTAB_SIZE_MASK) + 1 * + /* set device table length (i.e. number of entries table can hold) */ + s->devtab_len =3D (((val & AMDVI_MMIO_DEVTAB_SIZE_MASK) + 1) * (AMDVI_MMIO_DEVTAB_SIZE_UNIT / AMDVI_MMIO_DEVTAB_ENTRY_SIZE)); } --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534530; cv=none; d=zohomail.com; s=zohoarc; b=BvsXVECZ2SqqVVUfDGW7YWWfcBR/R8guN7vd3Bp758aLld9ZEXFkvpkpK0z5X6v8ZQm9uihH73wgHX4/6MPmCaGKAnxERfKnLt0Iuy+dijjjftmsOrI5GOoirhaw1Bacp+yoVQzq11mWKI64JW/VX++Tpcb1TELRO+wK2nsL94o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534530; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ZL6gIy6E1EGKwHnookoXDuH71GEOS/u/ejdom3UITfo=; b=VQHpvNX3Zu8x539KKVNv9g0MQt9tPkHUJheXgkUl0uB48ybSPohd77NMNYqYMYWLBVzKOLWzJL5QODdi6Zbk94Iz/9oZCzTuwT4IwdVo06TmR0wzo9EfsRc1Dvzy58SaA6qme4U6509q+WP4lThigTI6o5BpnJ7e+Ux966Hk+94= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534530150506.91306777255556; Mon, 14 Jul 2025 16:08:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSGw-0005KS-4q; Mon, 14 Jul 2025 19:07:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGV-0003cT-Ev for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:23 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGU-0005UD-0n for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:19 -0400 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-275-wMQ1kxtANfmWDXuQ0q2aSQ-1; Mon, 14 Jul 2025 19:07:15 -0400 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-45597cc95d5so18204875e9.1 for ; Mon, 14 Jul 2025 16:07:15 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454d50fa9b4sm188290535e9.27.2025.07.14.16.07.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534437; 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: in-reply-to:in-reply-to:references:references; bh=ZL6gIy6E1EGKwHnookoXDuH71GEOS/u/ejdom3UITfo=; b=I2hnDO9MtfsZ7iPWBw/kQf4qa2Zz2jMj2ETqJp14cilgf2yYqTrIHKl7Bdj1ytrVTwj01J 4Z8VxDBJPFF4kHUerZKV4b+u6UGBsQtEg5dJLWbIRj9TDUWTxrNaK+CxhPhKpizkQXJOZ3 KxcTQaGSMmXPu8LvRIngBUYeMOnWmX8= X-MC-Unique: wMQ1kxtANfmWDXuQ0q2aSQ-1 X-Mimecast-MFC-AGG-ID: wMQ1kxtANfmWDXuQ0q2aSQ_1752534435 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534434; x=1753139234; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=ZL6gIy6E1EGKwHnookoXDuH71GEOS/u/ejdom3UITfo=; b=uPAZxB52T9oLZKRwmh4BhAg8JAQwxUunh0IJjjmTM3uDSV+HXsg75FaGiQosBVpOS8 +/HOUz/i1F90y4Je3qEMrodSDOF6d2juC8cG+MoNIUa6zht1jlCpfKoGmrfPpjQRb3LU jlGRAnJZga56VtdPUqTnpklWzbY/BjlHhezYj8PDpSsDxdQ4gcCeTRY3ARU4Qg7v3q5E mthwF2avwbsYKigCWDHPhLQX50MA33gRdqlbPFvKYXvTrVmtCmV00VCESWUC7OR0AvZ7 O6o6xEf/2BC0eczLfljjh5qwprXsL/lfm8KCO1jLyCJviQR9QHrxzWIuULJNAA3fygu5 El+Q== X-Gm-Message-State: AOJu0Yxkjswndj6MdgkdiY1i0mAfkAdrZVOQF07i2avxAfoi6Z4njaH8 FMccrhLYn0vQZX4xk39Ak0IghPR+Isml8YambrEN51rPKxSZMlyHlB/0bDn/LzQtHPx4zjDlVxD 4+/TawKXnAJ1YD3NFcefz2Qt6ewrkV7MI/hdAq7gUVvndyIpUQZ00f3f2sGkx6GACyv4iEYEGVO 76jmeSMaAApeG6rh5C1Rxgeo/d5GsYoheYtw== X-Gm-Gg: ASbGncsHvC2fR0zxO6nBLMKfi5P4na6GAIf8/3PoLA4myl7VGkqQTPfDHyinTbflzqR O9sDqXAiwpIeZJPZ9saKraltpnON+s1Pin7DV7nJlTNLvHH/etol9U+IoySBu9dYXplKZYAcuEX PbKASXoccQqyt0qMe54ez+LiA73CNnJsXsvfTDyfEi4NjKxU52UOOxsUJfNgCEwGYMpVTWFjO4+ LJxgTMffjG0G9Mv3Y0ikcAGSwm/1JxMyZ74zMJJF+g/1373US0YRh6XKcNdI1AlkjBWhDGIhB4d 0O8s5iCBa+1POMLPF2h+hnlVkyLQkrYH X-Received: by 2002:a05:600c:1c8f:b0:456:2212:46b8 with SMTP id 5b1f17b1804b1-45622124965mr25396005e9.28.1752534434233; Mon, 14 Jul 2025 16:07:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEWXWVjb6PpjXQxUk5m6v4U91+cq9IAujqFHfVmaLDKbzY/WsKleJ6cWB3JtIfiBtW/skWimg== X-Received: by 2002:a05:600c:1c8f:b0:456:2212:46b8 with SMTP id 5b1f17b1804b1-45622124965mr25395805e9.28.1752534433739; Mon, 14 Jul 2025 16:07:13 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:10 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Alejandro Jimenez , Vasant Hegde , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 23/97] amd_iommu: Remove duplicated definitions Message-ID: <5959b641c98b5ae9677e2c1d89902dac31b344d9.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534532026116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Alejandro Jimenez No functional change. Signed-off-by: Alejandro Jimenez Reviewed-by: Vasant Hegde Message-Id: <20250617150427.20585-8-alejandro.j.jimenez@oracle.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/amd_iommu.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/hw/i386/amd_iommu.h b/hw/i386/amd_iommu.h index 96fc5b621e..8b42913ed8 100644 --- a/hw/i386/amd_iommu.h +++ b/hw/i386/amd_iommu.h @@ -206,10 +206,6 @@ /* Completion Wait data size */ #define AMDVI_COMPLETION_DATA_SIZE 8 =20 -#define AMDVI_COMMAND_SIZE 16 -/* Completion Wait data size */ -#define AMDVI_COMPLETION_DATA_SIZE 8 - #define AMDVI_COMMAND_SIZE 16 =20 #define AMDVI_INT_ADDR_FIRST 0xfee00000 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534824; cv=none; d=zohomail.com; s=zohoarc; b=f9fE9+MGoLtoG9MyTRRK2TskSoky1PXZVF0CLHDlzA0TVnktHFrkOBNmdY8Sh6YY77rkr0ieANxZolh1sSZfjeIVpWJxXBECmIYIsuxhasoCSHimzmBNlO4uPhDAD6uajuGphGXH+CzTtKriqoHSq2PIeb03aVgybsRdoqXU7fs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534824; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=4I4y8d1dQyBgPX2DNvcPSwOHDWsxQQcjuy3NVZekjJE=; b=JHn79Actkc8Vv93QNDBAnYtcoj13+BjeEmPy3DGC4oNtpIh3KQD7oIR1oiUlYbHr7NK60AbwcTQPp+o1/3fx1OjXd3HY0KczqJ/7eYl602CGCABn+ZLakx9ti/eT0KdYLq4TtzKkGO1UKnhu0n15tbfZKk0mZ5LPZJ9ZLJ5KYC0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534824240635.8326483804324; Mon, 14 Jul 2025 16:13:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSHb-0006hK-1Q; Mon, 14 Jul 2025 19:08:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGX-0003dg-Kd for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:23 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGW-0005Uq-3r for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:21 -0400 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-231-j3Yc66qLOYeFIKBJrXLQUQ-1; Mon, 14 Jul 2025 19:07:18 -0400 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3a4fac7fa27so1746326f8f.0 for ; Mon, 14 Jul 2025 16:07:17 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e26c8bsm13388117f8f.88.2025.07.14.16.07.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534439; 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: in-reply-to:in-reply-to:references:references; bh=4I4y8d1dQyBgPX2DNvcPSwOHDWsxQQcjuy3NVZekjJE=; b=LcNmT4kcYhB0v3C7kXDSPv3RktP3gN49TIqLZmAkHXXZYxjC+DuxF1sHPaPOqArfIwLihq xUjwzD/VVSaFjxoYB9bBE7h2io7JYVzEH1w9l4HKW9IIUa8EvW7CvHFqZ4aRFe7kyjQHlh MnKTeXnLC0dGqvU245UJ3JEvvvFpG9s= X-MC-Unique: j3Yc66qLOYeFIKBJrXLQUQ-1 X-Mimecast-MFC-AGG-ID: j3Yc66qLOYeFIKBJrXLQUQ_1752534437 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534437; x=1753139237; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=4I4y8d1dQyBgPX2DNvcPSwOHDWsxQQcjuy3NVZekjJE=; b=pPberbd3CsBnBK48lc2l4w274yEuIRDORaeqTvDjd/42eIlDnx6tlr9OboGriW/ZvN Z+EEN1oxlOH8le9qm5hBSzuSHFhqm3XnIrioOZWvpsTmKuSu2DtMQJgtgFJmiYciAyDg WAZkGVxjvGNUMXQlYzLyewWJ4A9ADZFDn+YyvdL0BEg0eDK5RdegOtZvIIRJqdXK2G3k cwKlFyyWPHYszSTCN7KP4+iM6ya6T/xAeMwnfiY8sN8N45iWUhHqnuwX3J4uBhsU5fES UgqYGCTOJj/bnofBQwNYLVzClw7gMPHPZFjq45Q6+0ZBP+SJXqnsLx1myy3IglerKmdt tfJA== X-Gm-Message-State: AOJu0YyizYzLriBnIOFvtMPgcv/pczeS6H13nViSDj8acPAC210KIlD2 ogq62EMhO0CXgkUh+9rlDUErqhd6hcSxJh4nCQ3QIbvGhSEDNC9zhX7WV3qznuUOWFQb3WffLIO ZJmNxg1EnWeJZ0H8k6/O4hRSxDXgzilbjYhC9SLiGoiZuAHySXv70ZVVSP8bDVx7k9oQjzne358 dolLBATIzk1IZThR3IojLor1sgesN88QUtpA== X-Gm-Gg: ASbGnctV5DKI8tAo17yh0TrlspQO2mfSUdIaHsEEcc/1Plt2xthRbQXMq28xEPdF45a 2HckjFXzNyBhlmDQ9PnROWNlYDom/amXuoDslsQHFr2lRe1xSuTSa2PZuYzFD7XQiXSIRz7Zgey LiUdX9LE+Bru1GSc0qlIf/nA8LgrNWP5CRjZYFw2g8FP/yVe5W+yWcCytpnhPh6DQEcWVkyx/Co y0hDnBEX/KXVa11L2OPT2caf6BiofN08x8Dg1BduFp1FFKrjBr+J13P4rKMcHjizEaI2JPT3ogR BBn++K9VvhllGwAlpTYi0ju8k2VI2/s3 X-Received: by 2002:a05:6000:2913:b0:3a4:f744:e00c with SMTP id ffacd0b85a97d-3b5f2dfd84cmr10701493f8f.29.1752534436789; Mon, 14 Jul 2025 16:07:16 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHcRXJuoYvrhIKEld4juKp2oTrJXNbCSreIBXLecet80NJ2Dw0qFx/qmojN2NM6Je5MypYWpQ== X-Received: by 2002:a05:6000:2913:b0:3a4:f744:e00c with SMTP id ffacd0b85a97d-3b5f2dfd84cmr10701473f8f.29.1752534436331; Mon, 14 Jul 2025 16:07:16 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:13 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Ethan Milon , qemu-stable@nongnu.org, Vasant Hegde , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 24/97] amd_iommu: Fix truncation of oldval in amdvi_writeq Message-ID: <5788929e05e18ed5f76dc8ade4210f022c9ba5a1.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534824788116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Ethan Milon The variable `oldval` was incorrectly declared as a 32-bit `uint32_t`. This could lead to truncation and incorrect behavior where the upper read-only 32 bits are significant. Fix the type of `oldval` to match the return type of `ldq_le_p()`. Cc: qemu-stable@nongnu.org Fixes: d29a09ca6842 ("hw/i386: Introduce AMD IOMMU") Signed-off-by: Ethan Milon Message-Id: <20250617150427.20585-9-alejandro.j.jimenez@oracle.com> Reviewed-by: Vasant Hegde Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/amd_iommu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/i386/amd_iommu.c b/hw/i386/amd_iommu.c index 92f94dc788..5a24c17548 100644 --- a/hw/i386/amd_iommu.c +++ b/hw/i386/amd_iommu.c @@ -140,7 +140,7 @@ static void amdvi_writeq(AMDVIState *s, hwaddr addr, ui= nt64_t val) { uint64_t romask =3D ldq_le_p(&s->romask[addr]); uint64_t w1cmask =3D ldq_le_p(&s->w1cmask[addr]); - uint32_t oldval =3D ldq_le_p(&s->mmior[addr]); + uint64_t oldval =3D ldq_le_p(&s->mmior[addr]); stq_le_p(&s->mmior[addr], ((oldval & romask) | (val & ~romask)) & ~(val & w1cmask)); } --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535786; cv=none; d=zohomail.com; s=zohoarc; b=Sh4t6Nf2qMKL8o7KuAN5C7i6CfoDrDtqts4D+EcCW8tPTG6PJwx0ADhIkcL82KRKTWRBhcC0GlvkPFSuH34lwiA/AmfHBfxKjV2p+PbVerSzC9PIWIL8GpNiIUMDfK3Z36gOAcqmwg4wUCzKxEG0kABHe6aL7xIL5WDJOFkD9pM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535786; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=fR2Rjmec6t5246rVdjtiSBzuumKeTZiDjKCEbittM+Y=; b=W3pNusUWg8uFqhoUjVHes1qbRPNht8W423D6h49+7SBnhmYgnNPRQ0a8Gss7O0/ckf30woVr13u4u6m41NRRQ7cONDTu5IPXHBd1ED67h97rtejYeQQlHnxk1B95gq0vr2kWURsMNxxBBkr+AudYZoBIyE9Ryb8tEaYAjtieqe0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535786864715.1535124086188; Mon, 14 Jul 2025 16:29:46 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSH0-0005ns-8l; Mon, 14 Jul 2025 19:07:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGc-0003oH-KK for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:28 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGZ-0005Vx-EA for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:26 -0400 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-226-6p8HqpE_PgaKGTByFj4nxg-1; Mon, 14 Jul 2025 19:07:21 -0400 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-45597cc95d5so18205135e9.1 for ; Mon, 14 Jul 2025 16:07:21 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4562797b956sm2053405e9.17.2025.07.14.16.07.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534442; 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: in-reply-to:in-reply-to:references:references; bh=fR2Rjmec6t5246rVdjtiSBzuumKeTZiDjKCEbittM+Y=; b=TEa9QKRrIp6CujgLZTNUtfqAcuGpF22e2BBLQ1drKS6D8+jmRqB9WqkcFhLvu6OKfKV0Ab 5sCllbcRxsS/wG5n9NBgfGNxZfmDEKDwPRpoWEfDiLrqP669YY6jxVTTwFXxLZ3TY2WlwY nzr0D/CVdd3IsZUeglGXZLLZgKxyBbE= X-MC-Unique: 6p8HqpE_PgaKGTByFj4nxg-1 X-Mimecast-MFC-AGG-ID: 6p8HqpE_PgaKGTByFj4nxg_1752534440 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534440; x=1753139240; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=fR2Rjmec6t5246rVdjtiSBzuumKeTZiDjKCEbittM+Y=; b=Rk+sHJ3YEyOMoKi+8UI9hyQLJbDNwW7KulwEB15GJdYBZBxKYx5O5ODbaseBPyYGIR kx2yiQrm/h+/54eiEgwLHrV3x2Br8gOIl355AmD+O22z4KPpJsInTM8xhUBsctyW6G+v oLzS2fE2XGq7Ry1fPNCYuK3JBHPsjJ9iAhAuc4TyWboZreizXWBtU6QTSAhniDwlmJKf EFwOrDIK07xT3T4UpFLtTB3Xt7XCdy1Q3Ar2x+dVYCQgG/kFcfAVZRaBs2upYjxxmKer anaBeAEpT0Q6sw3/RRLdDz0Jhw9PSk/Ny+fiNCilR5kFYHp7OrgL2Wvvwh/s1ZBdAZy2 TLPQ== X-Gm-Message-State: AOJu0YxtWCfmyeJo5Cmtq/36rTMZkra886D9ddqoFhDQWf+rano+FHXB 0Ocu+hcRNQnK2HFxmmc6tHzBsBoYfL8Wt+lewNIyLzVmMdQSTXdF658Kl/5aIeymCN6+PwgCzae mubBC/HD1MKVhZaAVN4iurgjcFpT85swMzpElQd/HW2G4NN3k/NT09Ag4ksu+aOSdn5nVDzwqyG KLM73R0lpYo6kk8Am+zJWzki5P3kGQ8cVR5g== X-Gm-Gg: ASbGnctwgjSnd9QW0y9a3XPUBqMvU1rvg641j9ItkmwosimOD+bQ2JRDVr1AJdP38Lj ZQd7zMUIIm0EaA8W6G7Rsy7F4Qon8eczssq87Z+4Yt9XLHzOEhabD0BhS5x+JnsAm74iHz7C3xq Izkd/2+pBtTEmgScggazpoLTBW/G5XvmfBYW0szVJrVJ/TmhZ8jDqeKII4KpPfZ8cDdlpeqOXjG i/ixCXb4si940u4zZ5lLUqtzaxVLoBXmJ1wFRCxGXAq5F2g9+SPTMHHexv+gY6Djo2q0XclOCZe Yd7TWth7yrE+fNYZ3dmteQ8fGSJHqr55 X-Received: by 2002:a05:600c:348e:b0:456:24db:2efb with SMTP id 5b1f17b1804b1-45624db321dmr17130795e9.15.1752534439805; Mon, 14 Jul 2025 16:07:19 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHI4aREeHWW+WF/WHiBOoCLF6P2lSeCGErMgOCsa7UTPWDkVtHttogsmk4H6B3iEYd5CDWBiA== X-Received: by 2002:a05:600c:348e:b0:456:24db:2efb with SMTP id 5b1f17b1804b1-45624db321dmr17130415e9.15.1752534439322; Mon, 14 Jul 2025 16:07:19 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:16 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Li Chen , Bibo Mao , Gavin Shan , Sunil V L , Shannon Zhao , Igor Mammedov , Ani Sinha , Eduardo Habkost , Marcel Apfelbaum , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Yanan Wang , Zhao Liu , Song Gao , Jiaxun Yang , Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , qemu-arm@nongnu.org, qemu-riscv@nongnu.org Subject: [PULL 25/97] acpi: Add machine option to disable SPCR table Message-ID: <54401d5abd13c7f2ff5d1cb65e73a067743230e3.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535787957116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Li Chen The ACPI SPCR (Serial Port Console Redirection) table allows firmware to specify a preferred serial console device to the operating system. On ARM64 systems, Linux by default respects this table: even if the kernel command line does not include a hardware serial console (e.g., "console=3DttyAMA0"), the kernel still register the serial device referenced by SPCR as a printk console. While this behavior is standard-compliant, it can lead to situations where guest console behavior is influenced by platform firmware rather than user-specified configuration. To make guest console behavior more predictable and under user control, this patch introduces a machine option to explicitly disable SPCR table exposure: -machine spcr=3Doff By default, the option is enabled (spcr=3Don), preserving existing behavior. When disabled, QEMU will omit the SPCR table from the guest's ACPI namespace, ensuring that only consoles explicitly declared in the kernel command line are registered. Signed-off-by: Li Chen Reviewed-by: Bibo Mao Acked-by: Michael S. Tsirkin Reviewed-by: Gavin Shan Reviewed-by: Sunil V L Message-Id: <20250528105404.457729-2-me@linux.beauty> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/boards.h | 1 + hw/arm/virt-acpi-build.c | 5 ++++- hw/core/machine.c | 22 ++++++++++++++++++++++ hw/loongarch/virt-acpi-build.c | 4 +++- hw/riscv/virt-acpi-build.c | 5 ++++- qemu-options.hx | 5 +++++ 6 files changed, 39 insertions(+), 3 deletions(-) diff --git a/include/hw/boards.h b/include/hw/boards.h index f424b2b505..f94713e6e2 100644 --- a/include/hw/boards.h +++ b/include/hw/boards.h @@ -443,6 +443,7 @@ struct MachineState { SmpCache smp_cache; struct NVDIMMState *nvdimms_state; struct NumaState *numa_state; + bool acpi_spcr_enabled; }; =20 /* diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c index 0dfb8ec2c3..782b17b966 100644 --- a/hw/arm/virt-acpi-build.c +++ b/hw/arm/virt-acpi-build.c @@ -1023,7 +1023,10 @@ void virt_acpi_build(VirtMachineState *vms, AcpiBuil= dTables *tables) } =20 acpi_add_table(table_offsets, tables_blob); - spcr_setup(tables_blob, tables->linker, vms); + + if (ms->acpi_spcr_enabled) { + spcr_setup(tables_blob, tables->linker, vms); + } =20 acpi_add_table(table_offsets, tables_blob); build_dbg2(tables_blob, tables->linker, vms); diff --git a/hw/core/machine.c b/hw/core/machine.c index e869821b22..ceee058cad 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -577,6 +577,20 @@ static void machine_set_nvdimm(Object *obj, bool value= , Error **errp) ms->nvdimms_state->is_enabled =3D value; } =20 +static bool machine_get_spcr(Object *obj, Error **errp) +{ + MachineState *ms =3D MACHINE(obj); + + return ms->acpi_spcr_enabled; +} + +static void machine_set_spcr(Object *obj, bool value, Error **errp) +{ + MachineState *ms =3D MACHINE(obj); + + ms->acpi_spcr_enabled =3D value; +} + static bool machine_get_hmat(Object *obj, Error **errp) { MachineState *ms =3D MACHINE(obj); @@ -1281,6 +1295,14 @@ static void machine_initfn(Object *obj) "Table (HMAT)"); } =20 + /* SPCR */ + ms->acpi_spcr_enabled =3D true; + object_property_add_bool(obj, "spcr", machine_get_spcr, machine_set_sp= cr); + object_property_set_description(obj, "spcr", + "Set on/off to enable/disable " + "ACPI Serial Port Console Redirection " + "Table (spcr)"); + /* default to mc->default_cpus */ ms->smp.cpus =3D mc->default_cpus; ms->smp.max_cpus =3D mc->default_cpus; diff --git a/hw/loongarch/virt-acpi-build.c b/hw/loongarch/virt-acpi-build.c index 2cd2d9d842..8c2228a772 100644 --- a/hw/loongarch/virt-acpi-build.c +++ b/hw/loongarch/virt-acpi-build.c @@ -557,7 +557,9 @@ static void acpi_build(AcpiBuildTables *tables, Machine= State *machine) acpi_add_table(table_offsets, tables_blob); build_srat(tables_blob, tables->linker, machine); acpi_add_table(table_offsets, tables_blob); - spcr_setup(tables_blob, tables->linker, machine); + + if (machine->acpi_spcr_enabled) + spcr_setup(tables_blob, tables->linker, machine); =20 if (machine->numa_state->num_nodes) { if (machine->numa_state->have_numa_distance) { diff --git a/hw/riscv/virt-acpi-build.c b/hw/riscv/virt-acpi-build.c index 8b5683dbde..ee1416d264 100644 --- a/hw/riscv/virt-acpi-build.c +++ b/hw/riscv/virt-acpi-build.c @@ -894,7 +894,10 @@ static void virt_acpi_build(RISCVVirtState *s, AcpiBui= ldTables *tables) } =20 acpi_add_table(table_offsets, tables_blob); - spcr_setup(tables_blob, tables->linker, s); + + if (ms->acpi_spcr_enabled) { + spcr_setup(tables_blob, tables->linker, s); + } =20 acpi_add_table(table_offsets, tables_blob); { diff --git a/qemu-options.hx b/qemu-options.hx index 1f862b19a6..9b2d5f4b7a 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -38,6 +38,7 @@ DEF("machine", HAS_ARG, QEMU_OPTION_machine, \ " nvdimm=3Don|off controls NVDIMM support (default=3Dof= f)\n" " memory-encryption=3D@var{} memory encryption object t= o use (default=3Dnone)\n" " hmat=3Don|off controls ACPI HMAT support (default=3Do= ff)\n" + " spcr=3Don|off controls ACPI SPCR support (default=3Do= n)\n" #ifdef CONFIG_POSIX " aux-ram-share=3Don|off allocate auxiliary guest RAM a= s shared (default: off)\n" #endif @@ -105,6 +106,10 @@ SRST Enables or disables ACPI Heterogeneous Memory Attribute Table (HMAT) support. The default is off. =20 + ``spcr=3Don|off`` + Enables or disables ACPI Serial Port Console Redirection Table + (SPCR) support. The default is on. + ``aux-ram-share=3Don|off`` Allocate auxiliary guest RAM as an anonymous file that is shareable with an external process. This option applies to --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534839; cv=none; d=zohomail.com; s=zohoarc; b=TC1SKLcv5PGdyKmIJVZg/m/IvuyAm+YxyTbBe2wY+s30H/FKFD/0vAYEcMRpmCwTR4pOB3BwtxEobq359EyVh4rpGaERu7qHVdKZjrxkTahmjkzrbdDh57JZRVh6jLESCnF9naMalN8a+RgBDj5ws8sGH4GZhspEotqWp/Oi+Ps= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534839; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=RJv/YmIjonHQlMT0SQkrle2ZJPKdQ/3itH7NXNzClac=; b=e1XoGUlILy1JCVCGo+306+D76I0UUIrSLrVYcLu05kNjWEFuogPM0NgblDihoWdMj73pQg9ynI8JW7L0mCYu83/GVZ8qwHlYhuP72b6QYK6M2UBNgwDNaVb2utuHinWmyaZov4offWRwf5ki4H2qwWfFPK2808qBFa5QuFWDB5A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534839361149.0645866204262; Mon, 14 Jul 2025 16:13:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSGv-0005Gw-QE; Mon, 14 Jul 2025 19:07:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGe-0003rj-6D for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:28 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGc-0005WX-Lb for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:27 -0400 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-540-2yLOjqqGNXmcWIpdLyNn5A-1; Mon, 14 Jul 2025 19:07:24 -0400 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-4561dbbcc7eso4644795e9.2 for ; Mon, 14 Jul 2025 16:07:23 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4561a052729sm48139675e9.33.2025.07.14.16.07.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534445; 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: in-reply-to:in-reply-to:references:references; bh=RJv/YmIjonHQlMT0SQkrle2ZJPKdQ/3itH7NXNzClac=; b=JbQ+OFXrcePBTJAWUbofyoPPq7rfuJCxtwLEoNargBjnfXyoGWUazq267GKWGCWy7PIxhN rOYLsqBHao76y5KZDcQYXjOhIAs1teROxOPwk1561Iu+RqfFBcyD7teZwwmLpRng+PJeJj rJd5Yp94yFuaHAVAUvV8XyHsTwqJ5AU= X-MC-Unique: 2yLOjqqGNXmcWIpdLyNn5A-1 X-Mimecast-MFC-AGG-ID: 2yLOjqqGNXmcWIpdLyNn5A_1752534443 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534442; x=1753139242; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=RJv/YmIjonHQlMT0SQkrle2ZJPKdQ/3itH7NXNzClac=; b=ThXw3XsZhFfeA/1/5srtcLX3O0/C31fmUVzj1YLuxd8ScrTGTHlpMCxCrzvhCp9lFP alabTpMyIFDijUqH+GZWg79sapf8E7kw6yBbO+Dna0k5MmcVBnveVbGWNfVXIE7JfnOH 5zP+1KZCjnLVixkS987zdYBsl5rgTgv8J3QHzUibyPK0nDJs1vKpFkW109g8TunE6kDd LrJS/SFF3mYFh6Srr8mTIrsOMxdyS4fg5ogq6A3d6zZ9CkpoTxhyvBbG+8F0fADB7IBz YhZskETWliAXyDL0TPL4/x6y3T2QB8X1jfnieS1KiAvKst7+kv/UE/DvFhqGUKfQpoh+ nxOQ== X-Gm-Message-State: AOJu0Yy+0GeTxnCrL8vBYr28Yl0BTwEJPPPCo9ebh4Y1YOmdWUkDd20v GuIydwWiYbvgjoZgK2cmpaPwIQS4UMuwLXo1I0TFw0cb8gX30ZjExZ/IincRismrZyheQIRSMv5 9Egu7PjgLJRwdGydkxuU8obZbOPhLIJjhGAULpKY9xJMze002N6olnENQ9Gtxqoh6i0Kdm23fT3 UVu8GvHpj/cR+PJP0SAxo5eCVXAZKkWc8B6A== X-Gm-Gg: ASbGncsIb+npcPYiYEf7Po2S98TNSybg90NKm24MM6T8RIa1441/FhvoEXUAaRf9T6J yqgHCpNPEtk1/ko1Gll8VZQvdfHqmQSg4X6Zg196F+NflC6U4eoJsWB4pXp/WHk1rleYFI2hfLX XJSUjg2qHRzHYUjCuOmm5YTbCcaktrWMQEsLRIQTvBzZp9N0Cwp0/K9Oq3PEprQ6UHLC4UzLRIX nQIXyGcK72VbU2jfe2uR2kiI+L+xQ16KtvG7gG7YJLDmZgWnU0QPCppbSmD8BFZmjN6z1Oaqtci w4XzhB6AQryPF7QV3X/CjejAI0hKUb+B X-Received: by 2002:a05:600c:3595:b0:442:f8e7:25ef with SMTP id 5b1f17b1804b1-454ec15e5c5mr131981795e9.11.1752534442271; Mon, 14 Jul 2025 16:07:22 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFdTOtbZq8Kx063i3ZxrpbYGmrMGCPGdabNJ/KZtaCZbC5wZWtRq4ZwiSKHHRZjmaXGYnyaEw== X-Received: by 2002:a05:600c:3595:b0:442:f8e7:25ef with SMTP id 5b1f17b1804b1-454ec15e5c5mr131981625e9.11.1752534441827; Mon, 14 Jul 2025 16:07:21 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:19 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Li Chen , Igor Mammedov , Ani Sinha Subject: [PULL 26/97] tests/qtest/bios-tables-test: Add test for disabling SPCR on AArch64 Message-ID: <9ce87106c7bcb1c2ada17e578db87f13ac29ae92.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534841333116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Li Chen Add ACPI SPCR table test case for ARM when SPCR was off. Signed-off-by: Li Chen Message-Id: <20250528105404.457729-3-me@linux.beauty> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c index f41e638014..c84cf1070d 100644 --- a/tests/qtest/bios-tables-test.c +++ b/tests/qtest/bios-tables-test.c @@ -1789,6 +1789,24 @@ static void test_acpi_aarch64_virt_tcg_pxb(void) free_test_data(&data); } =20 +static void test_acpi_aarch64_virt_tcg_acpi_spcr(void) +{ + test_data data =3D { + .machine =3D "virt", + .arch =3D "aarch64", + .tcg_only =3D true, + .uefi_fl1 =3D "pc-bios/edk2-aarch64-code.fd", + .uefi_fl2 =3D "pc-bios/edk2-arm-vars.fd", + .cd =3D "tests/data/uefi-boot-images/bios-tables-test.aarch64.iso.= qcow2", + .ram_start =3D 0x40000000ULL, + .scan_len =3D 128ULL * 1024 * 1024, + .variant =3D ".acpispcr", + }; + + test_acpi_one("-cpu cortex-a57 " + " -machine spcr=3Doff", &data); + free_test_data(&data); +} static void test_acpi_tcg_acpi_hmat(const char *machine, const char *arch) { test_data data =3D {}; @@ -2672,6 +2690,8 @@ int main(int argc, char *argv[]) qtest_add_func("acpi/virt/pxb", test_acpi_aarch64_virt_tcg_pxb= ); qtest_add_func("acpi/virt/oem-fields", test_acpi_aarch64_virt_oem_fields); + qtest_add_func("acpi/virt/acpispcr", + test_acpi_aarch64_virt_tcg_acpi_spcr); if (qtest_has_device("virtio-iommu-pci")) { qtest_add_func("acpi/virt/viot", test_acpi_aarch64_virt_vi= ot); } --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535672; cv=none; d=zohomail.com; s=zohoarc; b=V22ZqZA9LgCZDyUo6Hb04+cm8NZBt41CpKQwzAvnwVnM4Vl4euw39Cse4A8gr6bPMnz7U/F6o372h/c1gBK5k4owpSONWUYAoAHwpuhJ1sRg0/eKOCKk3CjrSAmd/1CLTi2RFIJMHI53SAOKtCdtEixiBlKdMBYyrdPlKE081f0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535672; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=43SwpP7LqsZkv1SwArkQUMqFNNuviE/llERHShW6waE=; b=XjFYRnmJRdtFJuTN+sS3YaICed1lsvzEljZQ0XhSzs/wsRpkJSJLMy7cP93F98FYB796DoAMCZQXCknrlVxtSqwXfovdHFZLIPMBYJVglv2c5yYVNCSA6iPOhSa36nqh9HlyAspceRYtV9X2ZgBzN0s4VP8pesHaWT4p7Og5hpc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535672886504.5867239571061; Mon, 14 Jul 2025 16:27:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSHj-0007qj-Nt; Mon, 14 Jul 2025 19:08:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGl-0004Kk-1o for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:35 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGi-0005Y8-VA for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:34 -0400 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-90-Z384lALhMI-k8kxxxXuMAg-1; Mon, 14 Jul 2025 19:07:26 -0400 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3a4f3796779so2163206f8f.1 for ; Mon, 14 Jul 2025 16:07:26 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e1f4edsm13340584f8f.83.2025.07.14.16.07.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534452; 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: in-reply-to:in-reply-to:references:references; bh=43SwpP7LqsZkv1SwArkQUMqFNNuviE/llERHShW6waE=; b=b265TZqB1ACVlp7nOT2LJ9sFZqx/ip+8Tvn/znt0SFILNBYLAdA+QEASeFttpi2AmIuCRV 8SDltoGlwDBTfyhMc/TX+EvOA3yUMjlNTwKyYajWb8wBHdJ16aS9pbiVoNq6mGf10euyDr 3n6sfn+p1phY3Vy4aGSbDNzKZNOv9/4= X-MC-Unique: Z384lALhMI-k8kxxxXuMAg-1 X-Mimecast-MFC-AGG-ID: Z384lALhMI-k8kxxxXuMAg_1752534445 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534445; x=1753139245; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=43SwpP7LqsZkv1SwArkQUMqFNNuviE/llERHShW6waE=; b=bgGIqTc6iXB3ZZPym7lOP4JcrwtoyRu9gBP3RgKs0iTL25O/1FXb0JjNcMW7HvmiLz m4jejz0rEis9CJ2YY6U7Daq+0DR4a/W+MDEgu+vvX28wgi+qE+fSve6GfXFlYBarm7dc xqkp0xLKL43/JpwpsHYqU8a0n64YIuKaDg/EIFxt9faTa8d1sbFqz3NWgeytblddUuvX AQHeXvnPhOVpJOOJDxgYyVe4DHjxlIH89Sy95BRqfLWegqROh6gmxAtKR/5NLBG0znVi wAJJ6eEznDzFA/TeWlfwY/aoQxK3O3skHtJ+BRRZ73ghP0tqRNUAltolqioHb0Nh/hlZ 4XjQ== X-Gm-Message-State: AOJu0YxKHYNsIfq8lL6LXEsDywRnW94pPYZKqeSk/iyrNaZ1SbrUa/SS aoAae3ie1FWVUd0fUbBq8Exl5eHSB7Ln0sFA4SCnNrGqwNCxn6Tq1l9Q2YDrYAECsLaR26G3VEc xiaEXZ2J0I9nsV5YBmtcv6DbT9y/DAzGCIDV9S+Teb04+NWaKU834GvUqhSPWoOX+JuDF3FJ26b fmBDqjR893+mb7hGpr108ZRquUvFm8DhJbtQ== X-Gm-Gg: ASbGnct7aN01vpgLmDox2ivZ34Ce315vRwXKxRrFNFfl+mfCRDq/Anwd5cqanKUj23B hdV2lCx2cWK2L2PNn5fEim9zZm9giXdCW3Pw8Fqj/4u9NzsujsPA6hoq52RXlW/UcqCcNJ8qyID kkFtTFvUBVOopvqaf8Y/MOxE7Ou0VhTcn4K57WaUYHcsspbAxAv2l3rRQoHgLtKZBPXkqlR0jJF HYBsizSZoMJE7doRWptINAkXx6d5/R4KYR7gXm3vWkT+YfHrNDuk3GiaqtEme8HL+KlaaF8PjIm ecDQLnJL/bNrz/ICttBfoXLH1J7tWDCg X-Received: by 2002:a05:6000:1e4a:b0:3a4:f50a:bd5f with SMTP id ffacd0b85a97d-3b60a1939d6mr209003f8f.31.1752534444775; Mon, 14 Jul 2025 16:07:24 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHte4/xKkHSzr4bDOZy+jXaQY01TTvojzmgDFgYCUcR/L17XN84XuxQjauI9NUrp17Fcx0H9w== X-Received: by 2002:a05:6000:1e4a:b0:3a4:f50a:bd5f with SMTP id ffacd0b85a97d-3b60a1939d6mr208989f8f.31.1752534444363; Mon, 14 Jul 2025 16:07:24 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:22 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Li Chen , Sunil V L , Igor Mammedov , Ani Sinha Subject: [PULL 27/97] tests/qtest/bios-tables-test: Add test for disabling SPCR on RISC-V Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535675575116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Li Chen Add ACPI SPCR table test case for RISC-V when SPCR was off. Signed-off-by: Li Chen Reviewed-by: Sunil V L Message-Id: <20250528105404.457729-4-me@linux.beauty> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c index c84cf1070d..e988deac02 100644 --- a/tests/qtest/bios-tables-test.c +++ b/tests/qtest/bios-tables-test.c @@ -1807,6 +1807,26 @@ static void test_acpi_aarch64_virt_tcg_acpi_spcr(voi= d) " -machine spcr=3Doff", &data); free_test_data(&data); } + +static void test_acpi_riscv64_virt_tcg_acpi_spcr(void) +{ + test_data data =3D { + .machine =3D "virt", + .arch =3D "riscv64", + .tcg_only =3D true, + .uefi_fl1 =3D "pc-bios/edk2-riscv-code.fd", + .uefi_fl2 =3D "pc-bios/edk2-riscv-vars.fd", + .cd =3D "tests/data/uefi-boot-images/bios-tables-test.riscv64.iso.= qcow2", + .ram_start =3D 0x80000000ULL, + .scan_len =3D 128ULL * 1024 * 1024, + .variant =3D ".acpispcr", + }; + + test_acpi_one("-cpu rva22s64 " + "-machine spcr=3Doff", &data); + free_test_data(&data); +} + static void test_acpi_tcg_acpi_hmat(const char *machine, const char *arch) { test_data data =3D {}; @@ -2701,6 +2721,8 @@ int main(int argc, char *argv[]) qtest_add_func("acpi/virt", test_acpi_riscv64_virt_tcg); qtest_add_func("acpi/virt/numamem", test_acpi_riscv64_virt_tcg_numamem); + qtest_add_func("acpi/virt/acpispcr", + test_acpi_riscv64_virt_tcg_acpi_spcr); } } else if (strcmp(arch, "loongarch64") =3D=3D 0) { if (has_tcg) { --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534804; cv=none; d=zohomail.com; s=zohoarc; b=D+xkx5elIzkJlEH5jbWBLFl+/6CJ3rCQ1DiL6RNiczEbSYtR1wAVOi3W9bRxYILKkCp4hTS01K15LBTJ/mt84mLUMhcfM4M84fteNznnMV3QNBFITqrYlomBS8Q4BHcJck/v7u55pbNK+R2uFId8Ng60WkJwu6y2zjAAlzu/HZ4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534804; 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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=m9bYQ5u6pgRJHAntarcEw+lqU/yhh0ZBAg0JEBQxhXo=; b=fGWW0yolEsOqqhrMnLGMRGMHx2MeXyppNaoksSFcvh5UqS7dwDc7jdw1hWDtLKSh4TPwKJApUq60aLNJY5EVF9dB0ev0t5QNA80D3egVoTxnQlxSBcGBRogb42ag7BUyJNA8mB/ahPDq5Rnff/kEftX1AR9Nj4B11sb/jjMhf9U= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534804002286.26683750376753; Mon, 14 Jul 2025 16:13:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSHg-0007Ow-53; Mon, 14 Jul 2025 19:08:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGh-00040r-UW for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:32 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGg-0005XE-5W for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:31 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-621-V5Gz25wzPH-GDepb5GsNpg-1; Mon, 14 Jul 2025 19:07:28 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-45626532e27so1766495e9.1 for ; Mon, 14 Jul 2025 16:07:27 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-455f222e4f4sm104491225e9.10.2025.07.14.16.07.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534449; 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=m9bYQ5u6pgRJHAntarcEw+lqU/yhh0ZBAg0JEBQxhXo=; b=ax55UOrvu0gao6V0kztua9lA3AgE2zQ5IxTK2ICr3Zgn8OsbVj/XVjY2VWXDMy0oJQH/yH 9XjfECJ2YfjorgH3kkU51YB1v/HNuQjlJXyqUyp5FRVlDZ9XVdKpMzs9ApfaDre5XSwnd6 Y5k+UI2LNpx8VLvgXvajpsCIYgYuozA= X-MC-Unique: V5Gz25wzPH-GDepb5GsNpg-1 X-Mimecast-MFC-AGG-ID: V5Gz25wzPH-GDepb5GsNpg_1752534447 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534447; x=1753139247; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=m9bYQ5u6pgRJHAntarcEw+lqU/yhh0ZBAg0JEBQxhXo=; b=NJd3CHrqDztZTSkc05UFzNVDvCCTU+ses3yXijGVrhnIEZxhIeAsgGr1GMOVoujujQ DjyqVj063kzrbKDMetjj3SkhDzB9ZzxZppeEJ6n0bellcK5FuilXvt04gXlDEPcIvAC0 3KpKquA22T2N8cU3Y2XFRUczEmnERrBL3THWPG0E6TFuh9MkdI+7FhYo6g4hiPkmRsAV LvvnYBUosPyZ60kjmqmXbW7eRGGls//CtL62ha3FaiBOtoBFZtPx5mXYgvNlnqvCuGRB rk1eccY0mZ5/5xqDsIw/Ta9u05krpeaTnqSeF1fHBO3CFTHYdZcqjhHD5qypj52LGKCh 8LrA== X-Gm-Message-State: AOJu0Yxmob2clV2JLD7y07LRbet8bG+5pG8WZzUBkMxhBXSCcVa0W7Ov dhaUIyRBQzdD2y7PpQX1hF9o3ItAEWTumcWDmcl5tnJx25ypeqyEsYpCTsyqG20qoTz/nIQAdM5 q/EQnxqOSMiSNFyTqCmm+++zX+ak7y+zDhSeDppAEY/bAf5VMtF1Zq7K0pL+CgbfNoxvqyegKWZ mJZNwUcXmqy8tyf6oq0kgeYUC1i+ZZMtT+6A== X-Gm-Gg: ASbGncvHr1xg/7pJGr8o4XGco+Xk3YGKTl2QZjptON7e56bbokz0Ptp1YXwjgJ9JM6L cgwLirQLWbdo8QcPm7PHvXpqvUMf3luiZr0eOkgqiqy0+W1iR3e9li6ntss+gtLOR+kju3NHwQ7 WNXGEOfXJKKf9HI42fDsMCjZid83Hl3Wluj5g7xOSykR82YeKd8dHyO5yw8HR4YyQzmp9bjVFCR 7pMOURPgX6GPklOMuPKaKmpY3dqAYqcMa/qKd6Wal1aGyoKzE9NbnPJu6sT+tgCbiQk52yGHdue dlp0SxEwtyRHYbFM6dNZsgdtrR+qsol6 X-Received: by 2002:a05:600c:46c5:b0:442:f4a3:b5f2 with SMTP id 5b1f17b1804b1-4555f895bb0mr129278545e9.6.1752534446650; Mon, 14 Jul 2025 16:07:26 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEl/PhahyPwKcaZ9Lf3VUbFnCA7UevHuv+u45o4ZgPQ45GdGCRRRpU0cp498vZ+Au0xGwD20A== X-Received: by 2002:a05:600c:46c5:b0:442:f4a3:b5f2 with SMTP id 5b1f17b1804b1-4555f895bb0mr129278355e9.6.1752534446185; Mon, 14 Jul 2025 16:07:26 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:24 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Manos Pitsidianakis , qemu-rust@nongnu.org Subject: [PULL 28/97] rust: bindings: allow any number of params Message-ID: <04130b3dc5af620213a90d300933517b39f43bba.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534804492116600 We are going to be adding more parameters, and this makes rust unhappy: Functions with lots of parameters are considered bad style and reduce readability (=E2=80=9Cwhat does the 5th parameter mean?=E2=80=9D). Cons= ider grouping some parameters into a new type. Specifically: error: this function has too many arguments (8/7) --> /builds/mstredhat/qemu/build/rust/qemu-api/rust-qemu-api-tests.p/st= ructured/bindings.inc.rs:3840:5 | 3840 | / pub fn new_bitfield_1( 3841 | | secure: std::os::raw::c_uint, 3842 | | space: std::os::raw::c_uint, 3843 | | user: std::os::raw::c_uint, ... | 3848 | | address_type: std::os::raw::c_uint, 3849 | | ) -> __BindgenBitfieldUnit<[u8; 4usize]> { | |____________________________________________^ | =3D help: for further information visit https://rust-lang.github.io/ru= st-clippy/master/index.html#too_many_arguments =3D note: `-D clippy::too-many-arguments` implied by `-D warnings` =3D help: to override `-D warnings` add `#[allow(clippy::too_many_argu= ments)]` I didn't want to disable this globally, so I just shut it off for this file. Message-Id: Signed-off-by: Michael S. Tsirkin --- rust/qemu-api/src/bindings.rs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/rust/qemu-api/src/bindings.rs b/rust/qemu-api/src/bindings.rs index 057de4b646..b4692f9b4b 100644 --- a/rust/qemu-api/src/bindings.rs +++ b/rust/qemu-api/src/bindings.rs @@ -18,11 +18,15 @@ =20 //! `bindgen`-generated declarations. =20 -#[cfg(MESON)] -include!("bindings.inc.rs"); +#[allow(clippy::too_many_arguments)] +mod gen { + #[cfg(MESON)] + include!("bindings.inc.rs"); =20 -#[cfg(not(MESON))] -include!(concat!(env!("OUT_DIR"), "/bindings.inc.rs")); + #[cfg(not(MESON))] + include!(concat!(env!("OUT_DIR"), "/bindings.inc.rs")); +} +pub use gen::*; =20 // SAFETY: these are implemented in C; the bindings need to assert that the // BQL is taken, either directly or via `BqlCell` and `BqlRefCell`. --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534905; cv=none; d=zohomail.com; s=zohoarc; b=X8GWD7mMmccG6XMx4EnZ5ZNRV7VUz3WdEatApDqY0CeVBtgFHUZFqswBprO9Apduq+QbYX+Bk1SB8mhU2TA0HYAOO/aiIbAVjBasKwe/qYaGnSRBE3RhvpuDYWtH93DgT8N19X0zhY2E8++FpodP7TlpwWTRh0tBxZnIJs6NdMw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534905; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=uhGqUwTLjS2ARoAcmn4Djkgcyrtq4txVik2vc56G05k=; b=hg6cIb+EX9aHOatZo57Fkty2bV04IRXM50dcOEaoPy7GqhPTd5n4IrMA9pOmU8K4dVfrPhxnvA8TiQ5b6/wYSJbTu3OGQKV3NLo2OtVMEOF9QC8xDw1aWYc+kO97zVZigtKG+XoQNHDH+G1LG29TFufXjga9jMInNzKy92k9KTc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534905212766.0770219234987; Mon, 14 Jul 2025 16:15:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSHn-0008FL-A8; Mon, 14 Jul 2025 19:08:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGj-0004CM-O7 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:33 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGh-0005XW-OI for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:33 -0400 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-634-KVjk3MX0Ntqf1OhhiI6OHA-1; Mon, 14 Jul 2025 19:07:30 -0400 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-45626e0d3e1so1101335e9.1 for ; Mon, 14 Jul 2025 16:07:29 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45626c9ac1dsm3528435e9.0.2025.07.14.16.07.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534451; 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: in-reply-to:in-reply-to:references:references; bh=uhGqUwTLjS2ARoAcmn4Djkgcyrtq4txVik2vc56G05k=; b=cJTwncFh601yLWTZGET6bb3k0LJX47g8g33XAAZ6Z+ilvkIC+h53wFJb1q5U7oYj7aQCbq j5uW/KHsCCAK/qhkyxRinBW36gMoO7peniSuOqR37nx32+gbk0R3MgkBL5F+PQ85YugFlA cEc0J00I/SpgR6xNH5W8PSoXPIPhQD0= X-MC-Unique: KVjk3MX0Ntqf1OhhiI6OHA-1 X-Mimecast-MFC-AGG-ID: KVjk3MX0Ntqf1OhhiI6OHA_1752534449 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534448; x=1753139248; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=uhGqUwTLjS2ARoAcmn4Djkgcyrtq4txVik2vc56G05k=; b=TWbddBdMMh+6KEv0BQxKWrQLMvOAYg5IW0oR0hVtWjCWfCL8BGeeuLBFk0k9NjFrHD KjzgVED+tsk8V1fcHdumPWjF6Anwa6s7T+t+z5ORE3foQRWYGexdiYBV5ExH/DNAV/qa dqQ8S0pppuiWhNPql4qqV2O8CoOGYu7JRQl3qjOah4k6fcf9j8jP8e/OKjhIoQr61+VJ EzPpgTMkIXKCNnqb4yPu6SunkTQtmSRKVUrzwT2/gVqMG2U6Zf0ebtMTvoQpKPpL1I/Q jfJA+6+MiF/mZ2xXs3URwMoodgJ9te1fKmArtpFFvD6x44TTm1hKldtlJ61L/s/gcZ+U dMwQ== X-Gm-Message-State: AOJu0Yw8N9mo8u60Q82xbMMqhFDlK3dQJfQ18hqLNjyFVu3oPwytk/G8 NkfRd4mAJB5iJFJ90/F6+QHwO/l1t8UZtzF8xQxLOlvRFRPyrnU0T7HFz9p/ggSTF4if3hS4zjU Tlhyelwn84idTkpyy58BQPFQZ97Xhc/zPdPnTBdjrkUq6595TX22QzJiaDgMa7RVWYi84Vq6HEI uUyMA8RAFbwfgpTBlLaxCeXiX+38mZuY0OIA== X-Gm-Gg: ASbGncsWTUEqRoF0F2l3CuNYN7YaV3UYIV0gZIS2KhpoQa7gJp/D+21xc5hBjS+21Bx 8mscbvK0i4TvRKojuWbTMIIVdATHBKVMoE8GuB55gyom4zwegQkhGAOLHexIT6h78vzgKKxmsnO Xv9WZlgSnGqsw45loyGSTB/p+7nalNdoELf0TLa5zA4JEfYheLQZ0ocscmiuw4haJJ83bdg5/sp oupNaNzcogWlnT1YeB/XwDnxzb0hRoxFIioiV1nmu90Q2gx+Wr35hEWRgENUGsWs5vJnjbqXYmo ue/bJLOLt5Ya9ju4hkT18vas475QqZ82 X-Received: by 2002:a05:6000:41fa:b0:3b2:fe84:a10 with SMTP id ffacd0b85a97d-3b5f181c283mr13773558f8f.0.1752534448436; Mon, 14 Jul 2025 16:07:28 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGQ/M/8T5iJmS75P7VdxU06uufMVT8mkEnTxNK8jVZlna9ATE0cbVNsGVnyjGz94oN5NDa69g== X-Received: by 2002:a05:6000:41fa:b0:3b2:fe84:a10 with SMTP id ffacd0b85a97d-3b5f181c283mr13773535f8f.0.1752534447991; Mon, 14 Jul 2025 16:07:27 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:26 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , CLEMENT MATHIEU--DRIF , Marcel Apfelbaum Subject: [PULL 29/97] pci: Add a memory attribute for pre-translated DMA operations Message-ID: <2dd51fc52a8b85e6f39d1297f338344ed03dc5b1.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534907783116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: CLEMENT MATHIEU--DRIF The address_type bit will be set to PCI_AT_TRANSLATED by devices that use cached addresses obtained via ATS. Signed-off-by: Clement Mathieu--Drif Message-Id: <20250628180226.133285-2-clement.mathieu--drif@eviden.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/exec/memattrs.h | 3 +++ include/hw/pci/pci.h | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/include/exec/memattrs.h b/include/exec/memattrs.h index 8db1d30464..52ee955249 100644 --- a/include/exec/memattrs.h +++ b/include/exec/memattrs.h @@ -54,6 +54,9 @@ typedef struct MemTxAttrs { */ unsigned int pid:8; =20 + /* PCI - IOMMU operations, see PCIAddressType */ + unsigned int address_type:1; + /* * Bus masters which don't specify any attributes will get this * (via the MEMTXATTRS_UNSPECIFIED constant), so that we can diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h index df3cc7b875..6b7d3ac8a3 100644 --- a/include/hw/pci/pci.h +++ b/include/hw/pci/pci.h @@ -134,6 +134,15 @@ struct PCIHostDeviceAddress { unsigned int function; }; =20 +/* + * Represents the Address Type (AT) field in a PCI request, + * see MemTxAttrs.address_type + */ +typedef enum PCIAddressType { + PCI_AT_UNTRANSLATED =3D 0, /* Default when no attribute is set */ + PCI_AT_TRANSLATED =3D 1, +} PCIAddressType; + typedef void PCIConfigWriteFunc(PCIDevice *pci_dev, uint32_t address, uint32_t data, int len); typedef uint32_t PCIConfigReadFunc(PCIDevice *pci_dev, --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752536054; cv=none; d=zohomail.com; s=zohoarc; b=QPVG+XwV6WmkgTMcZ7FkN8VCUuOPEYmpKPKZ7DdgfH4m576pR4afR321cQfZPOQjzw9MkobAp15oMRb9lAxXOtjK0jvCUqQROixkcNaBgYbtK2zvjT2A1L7ci4VH4AzhnWpmsuUe0UUO41D8QoPA/uWX6ive1YDhy+sHdkAES44= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752536054; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=L7vnOqE9vYNzXZo7bToAkIslT5GpERjhTAHR0WEOusY=; b=VVLwRtDOMjxKujSdTZGZkbzw3pgt7aT+YrsmK/0v7qx0m60rn70Awm41B5bMnboZM6wkm5OMQ86bfRPeLJhYi4ZaPnJtxhaZmadmvD1c6hxPkaRk5RYgqqsIH399zi7Q/x6FYxSlHffvINhJAcUC3adDknRiFJwCNnCQBNMJqGw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752536054339379.3762520595534; Mon, 14 Jul 2025 16:34:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSHh-0007Yd-Ic; Mon, 14 Jul 2025 19:08:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGm-0004Ph-1X for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:37 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGk-0005Yb-BW for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:35 -0400 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-681-6tKhiRKWOYK-UbkGmFMcXA-1; Mon, 14 Jul 2025 19:07:32 -0400 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-4538f375e86so39562005e9.3 for ; Mon, 14 Jul 2025 16:07:32 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454d5050d34sm186355975e9.9.2025.07.14.16.07.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534453; 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: in-reply-to:in-reply-to:references:references; bh=L7vnOqE9vYNzXZo7bToAkIslT5GpERjhTAHR0WEOusY=; b=Zd8eogKraZla5l/0zG8hi5Prn60+PDd5Lxyxa+QfHJ2dGE292DjCWeW3+om8a+HAs0tcr6 CIj12Fqvc/2SxsE+ChfKoc4cjCf8K8vXUfRsoLJvGdTSghq9fBgGp8pB++lEFEovldB01w LSsLeUJwJ3/EjyQ9/SvDQX21Ith4ijw= X-MC-Unique: 6tKhiRKWOYK-UbkGmFMcXA-1 X-Mimecast-MFC-AGG-ID: 6tKhiRKWOYK-UbkGmFMcXA_1752534452 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534451; x=1753139251; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=L7vnOqE9vYNzXZo7bToAkIslT5GpERjhTAHR0WEOusY=; b=Cit84Lxw2q4p1LC0juOTVNCgq+aZS4svLTf26YCnEr1ipOp2mOc0fjpi9fqBndhErQ FsQAy4eCr7XWFm2w8SL+B3bLQmVLCM87PX2AWXQmLO9vRXffBZCDD9ERyoZpH95wlLT3 Bu3Sfh57jCRDSxG22AVhi4SCH+SmXnB/F7tkl8aAxUunZvJQldotWIE7yu2pluyzEZjE jTt6JEdRwW5DTNfuVgq6Us4g/QR4cnrWNCBas+UU0If1wxF2fw6VzoNW6hRh/zbmtkFw Vg9jgB98+yvIx5K61j8R5WQwcJBzAjIyJ4N24UxrtOYQkTRCSPyYGCTejbzwwSeU3dek nP/A== X-Gm-Message-State: AOJu0YxHqD9oIyd/8pBsT2ZS/GTkey3gQLad337aIgDfBFDLtQVG1oNe V4JEOAEcA9fSkV0zpnY2hbNGsgWsZAchwa3uRq0NLP8khPkbkB71el8TVUDd7Hj7PJH4N1vb2d2 COW4LiDuNJ+urQu+WWjbQVbQousSgXGrkz9lWyaZpEwujrLf+njD5SHdJp3kBU6nns8Q6ClTPYL KU7URxPzT1kHHnS4LPSDzSYwCYQZ3JqmJh6w== X-Gm-Gg: ASbGncuFJtPzEeOl4MXqdcbdnwpRhnUEJOH0Zl1Hf9fmGvDhQUdpLm5QHhH+R6kVIpd tJmtzyBo6Z9FEauY17cacL6PwI6CM/hXXko+zr1AxEukcCPelATyJlWFg/YrR6IqUpc4l8U3Yv0 mR9bQJEunjr/Acd9WDT/sMeQea5WErybTW6Eda9BU9jzZ3q1nvaVsVpJKOYsE5roeaU5gaAkiA/ OpfbFCy7+8xTUDQFQ2p4RYcoP5cVSt2iT0c1gxT59/PLNP6FeNq8bE6FBgwqmt9A1VedQc7D6Yd H68RK3HRCQbMScYziE6FIHgbVfk7fXQJ X-Received: by 2002:a05:600c:4ecf:b0:456:1dd2:4e47 with SMTP id 5b1f17b1804b1-456273e2869mr4110885e9.15.1752534451280; Mon, 14 Jul 2025 16:07:31 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEMOWjx9YuSIHblq9C7KVh/Aeqjo2JAvJlZGv5t2sJVY748iPKsynCobQ31Mm0vyfik5lavfQ== X-Received: by 2002:a05:600c:4ecf:b0:456:1dd2:4e47 with SMTP id 5b1f17b1804b1-456273e2869mr4110685e9.15.1752534450739; Mon, 14 Jul 2025 16:07:30 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:28 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , CLEMENT MATHIEU--DRIF , Paolo Bonzini , Peter Xu , David Hildenbrand , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= Subject: [PULL 30/97] memory: Add permissions in IOMMUAccessFlags Message-ID: <945a6b11323b353f7f404eef748b708f1cb335dc.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752536056846116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: CLEMENT MATHIEU--DRIF This will be necessary for devices implementing ATS. We also define a new macro IOMMU_ACCESS_FLAG_FULL in addition to IOMMU_ACCESS_FLAG to support more access flags. IOMMU_ACCESS_FLAG is kept for convenience and backward compatibility. Here are the flags added (defined by the PCIe 5 specification) : - Execute Requested - Privileged Mode Requested - Global - Untranslated Only IOMMU_ACCESS_FLAG sets the additional flags to 0 Signed-off-by: Clement Mathieu--Drif Message-Id: <20250628180226.133285-3-clement.mathieu--drif@eviden.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/system/memory.h | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/include/system/memory.h b/include/system/memory.h index 46248d4a52..1672622d70 100644 --- a/include/system/memory.h +++ b/include/system/memory.h @@ -109,15 +109,34 @@ struct MemoryRegionSection { =20 typedef struct IOMMUTLBEntry IOMMUTLBEntry; =20 -/* See address_space_translate: bit 0 is read, bit 1 is write. */ +/* + * See address_space_translate: + * - bit 0 : read + * - bit 1 : write + * - bit 2 : exec + * - bit 3 : priv + * - bit 4 : global + * - bit 5 : untranslated only + */ typedef enum { IOMMU_NONE =3D 0, IOMMU_RO =3D 1, IOMMU_WO =3D 2, IOMMU_RW =3D 3, + IOMMU_EXEC =3D 4, + IOMMU_PRIV =3D 8, + IOMMU_GLOBAL =3D 16, + IOMMU_UNTRANSLATED_ONLY =3D 32, } IOMMUAccessFlags; =20 -#define IOMMU_ACCESS_FLAG(r, w) (((r) ? IOMMU_RO : 0) | ((w) ? IOMMU_WO : = 0)) +#define IOMMU_ACCESS_FLAG(r, w) (((r) ? IOMMU_RO : 0) | \ + ((w) ? IOMMU_WO : 0)) +#define IOMMU_ACCESS_FLAG_FULL(r, w, x, p, g, uo) \ + (IOMMU_ACCESS_FLAG(r, w) | \ + ((x) ? IOMMU_EXEC : 0) | \ + ((p) ? IOMMU_PRIV : 0) | \ + ((g) ? IOMMU_GLOBAL : 0) | \ + ((uo) ? IOMMU_UNTRANSLATED_ONLY : 0)) =20 struct IOMMUTLBEntry { AddressSpace *target_as; --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535547; cv=none; d=zohomail.com; s=zohoarc; b=Gh6WxI4a8p8OKfgr3k3mKKs/MVwRS4BSAEINSZaJqT7WOMe+09SIEknQErpro3zIxYivjArE9XRgIq+VNjSLY0GmtMr6fgDzyJ6q7o63sKXjEnXpS5N1o+AQvoOCrX4g95bRrxCVNdsekYA4GnO5lAzCNLnBOe42LEzg8uMWj2g= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535547; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=wPt6vb4NOguzLj5ZSl/5mm8TsvLvcr6KKJ0kJGd7+D8=; b=Al02OM7CEeAMD+oB23jJ2PNBNTxnYkmRE4OFTwD80OOoZPLCjtX2FMmT2/z1B5JGtNsoVoYrs+kvyRJS18Us9CLVQH6ZyrmQeS9LVUcm071mg7K/gQg5hYGOKmpSEK/VvraL1E67pMP6jVuAJgdLFuiQXB7pH3vTyzPCg9G4DA8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535547352842.3867768180155; Mon, 14 Jul 2025 16:25:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSHt-0000Te-7y; Mon, 14 Jul 2025 19:08:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGo-0004gj-P5 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:39 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGn-0005ZC-7O for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:38 -0400 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-635-jh4mwPQRN-Wq6FGr6Ow5qQ-1; Mon, 14 Jul 2025 19:07:35 -0400 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-455ea9cb0beso26553885e9.0 for ; Mon, 14 Jul 2025 16:07:35 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4560f22cd14sm74606775e9.30.2025.07.14.16.07.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534456; 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: in-reply-to:in-reply-to:references:references; bh=wPt6vb4NOguzLj5ZSl/5mm8TsvLvcr6KKJ0kJGd7+D8=; b=TjIoCOE1jdhTWQ6GbzROhiUKIcBt91fS+KhPdJeRddOImm33Ht8c4En3TMiSPM8NTcLIgW zN1RsD3R174vYjnLIn4rwEYn/ZHJg5d9oFwMSqRh1P59UVFD35InWJuoRS2YeVJhn6/xNJ T4RAVo9yFgM2/XHeLwXIYJh2yqEearI= X-MC-Unique: jh4mwPQRN-Wq6FGr6Ow5qQ-1 X-Mimecast-MFC-AGG-ID: jh4mwPQRN-Wq6FGr6Ow5qQ_1752534454 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534454; x=1753139254; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=wPt6vb4NOguzLj5ZSl/5mm8TsvLvcr6KKJ0kJGd7+D8=; b=Q1Teqr1V5xcX8yaQNR9c0P9RKY3M/KrtKpL699bqJG4PdlnYq9WG0Ry9B9qhuMuY40 hSPY48MvWGk+dKcEyObVE4YsMNvpMM1aPV5HFdZDCmGp2lV7J5wfj+eRofuwPfo8Vhdk 2jaR023u7sLd/iTNauuGbJfBwCYV+8TOUOEkROAOsrnDdfRqiboWzHDoQkbObUkLnmjc hEuyM+j5YXngSRvvB2UKYb6rLgXUBRzO7B59VLcMqU40nBa6wqctJeXfMqHT3Ff0YlLJ JB3z/UUbtdvpobNrPr4aVXadA7qr6sJf8vTYc2A79CK9iVpAKbWJw+5q08XmVPcvfaAC DC1w== X-Gm-Message-State: AOJu0Yxxwu6pDjRiBHoX8NNnZNBSwrlpppJ4us5VnKw9UoRSni3rHkZr 8If59bV0jgHwyDkHIkKkwfVYOAmJg/BlVqF21Vy9alx67WUTy3SIa9MIUT84h6QtvIrj/fP+VXe hwDVOJ4xCbodNC5eUCbbmltsZ262ghoD7vZFax0KKZaJ7o3XPvr9xMuk/Lqf6WPyZd58jV+Ie1b z2M1FdMsJu+wWt6H4tAH+ydLUNm3oSxcUNtw== X-Gm-Gg: ASbGncucIydQWwPjan7k0gxNLT5wI50o0MbbPth7pWWAlEbydpbFED/aalqLj+EadNe P2+Ja+6akTgz9z5davjFDAGbzDfL1GsjK2labAm+WiYjeGRWi/jPRjtTeIqh4mUbzMOUMu+x+zX trViWPOUQS6m2N77k9628bL9TpqDcvekUz8GE/lN9QFPZbvx4js9Ux+X3+u9xtzRANIDAZAc3lZ F+qo2h6152h8cDI/C+QQk8hab0V6LlToZge0tUpWO58+0msfh/zhp0uywmMZFb6Y4Ziy/ONqgTW Xp2s+b39eXhWANZsvlXLb+YfR+eIU1PI X-Received: by 2002:a05:600c:350f:b0:456:11a6:a511 with SMTP id 5b1f17b1804b1-45611a6a7e3mr58872465e9.20.1752534453792; Mon, 14 Jul 2025 16:07:33 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEeOnn0D2d5TgSXbI8ldCKzoxgB9X5VfRRbvOro2/Ha8vVbqDigC/JTCBEBmqNWxzXhDYNiPQ== X-Received: by 2002:a05:600c:350f:b0:456:11a6:a511 with SMTP id 5b1f17b1804b1-45611a6a7e3mr58872295e9.20.1752534453379; Mon, 14 Jul 2025 16:07:33 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:30 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , CLEMENT MATHIEU--DRIF , Paolo Bonzini , Peter Xu , David Hildenbrand , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= Subject: [PULL 31/97] memory: Allow to store the PASID in IOMMUTLBEntry Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535549431116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: CLEMENT MATHIEU--DRIF This will be useful for devices that support ATS and need to store entries in an ATC (device IOTLB). Signed-off-by: Clement Mathieu--Drif Message-Id: <20250628180226.133285-4-clement.mathieu--drif@eviden.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/system/memory.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/system/memory.h b/include/system/memory.h index 1672622d70..d6d069fd50 100644 --- a/include/system/memory.h +++ b/include/system/memory.h @@ -144,6 +144,7 @@ struct IOMMUTLBEntry { hwaddr translated_addr; hwaddr addr_mask; /* 0xfff =3D 4k translation */ IOMMUAccessFlags perm; + uint32_t pasid; }; =20 /* --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534678; cv=none; d=zohomail.com; s=zohoarc; b=hI9dv+46WCfnEn9JgvYVHvuOe2UC14JhPWGNkojlYf+0DAGqgU+75SBOzrMCzpByOPbv3mRYuhBZ65GFlKZi6GWwz9sGnOrvBZbMe4rwjVkStP7CQvjk/fzEy5ButjllbvWwrJzqxtVuORODPigdezd++j8U8DASV2cC3VRkC98= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534678; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=LY1CafZoPIMOlw/PLwu/eKU/EDB03DMpyVt647qA4CY=; b=B6R+RpS9sfkcZZFruiQfXYhvQSvfRK8+aqgvb0elCkWaWN6miBk2eNbUUtwvStgsp2A+pJirzf/rIeESR5hvXFwur2GXZqWYwQ1FId8mrSoHUD5RuGDxHuxJn2NKlNQhS2NlFu+EApssbFJ14qjm6HI+GzqVYWsEe3EnTNFjPio= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534678936175.52056133870144; Mon, 14 Jul 2025 16:11:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSHd-00072I-5R; Mon, 14 Jul 2025 19:08:29 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGs-00056O-JZ for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:44 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGq-0005Zh-MG for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:42 -0400 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-488-_dugEBA7MVO0qakTdqpjSg-1; Mon, 14 Jul 2025 19:07:38 -0400 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-4561bc2f477so9107445e9.0 for ; Mon, 14 Jul 2025 16:07:38 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8dc2025sm13799780f8f.31.2025.07.14.16.07.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534460; 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: in-reply-to:in-reply-to:references:references; bh=LY1CafZoPIMOlw/PLwu/eKU/EDB03DMpyVt647qA4CY=; b=az0e0lVchND8xE7rJr2wcUCHm3lyzkA4k7aG/uJRIuBV1UDpix3fcIjDRyS/r/poCdwuIf idNwC8NsuQeR0XtQg+KWPUeNLzkqllrExpFo5/pKZ/dAD62dVPpQRCAfIAZB7bbkDiexvs lp6k74JMQIFsG0n0n3LowJeS0iX++BM= X-MC-Unique: _dugEBA7MVO0qakTdqpjSg-1 X-Mimecast-MFC-AGG-ID: _dugEBA7MVO0qakTdqpjSg_1752534458 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534457; x=1753139257; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=LY1CafZoPIMOlw/PLwu/eKU/EDB03DMpyVt647qA4CY=; b=qiv9gWED1li7HJucDB/o65omZd1V+DPUXh4fzk3Jiyc8moWzhF/RkSHNgfiU/tEvOa RJ3vfN8A+TDblTPu/CFMqoxmshCjPlEx0jRIvg6N56sFONXfIkNHryHMID6j0U+fQzG6 5PAlxL/aBEP6w+935etQCUJM55hnp02EWqXwx9otjjMlBaVIIZIixhd+bQuyQ9T4rITI vXst/EGB2xdSCQpxQuCqc4hmw10/3J7RMq+bY2EAL+BigG+XQEpnZK8Ntp4ewnRXSMW4 SEvajIGVGCU/qkRD+mMYhJH/ZHEurj7f4ohxkfAr7EsHhggzPmVdi4uCaFcwru4P+sDL ssHg== X-Gm-Message-State: AOJu0Yw2WmzspmJ92Zpl82g9Gfr/pIVvPJ3nzMQna4N3DWnzLoigjAHn 8qKjg2YEF2s5NWnsJP6cCFDtBc9WrzBddnTJFTVblA+VF7gsyc4PNeBADt8aFWC6o3+WyW1SjSk 4ILMUDhisO/F/num8NnKbTmZAy3pjEp/0HxZblL6jprGxMffQgP6htweKlZyiYfeshRuPlTEah7 oIHv8ACqvyBXZX2Y/KdZz6APqfahPU0CufCQ== X-Gm-Gg: ASbGncuo5W/Pez0Nse4WYvfkvDZyQMPLHgAzBKHQZK2sj+xWwffVUA8mAn0rm9nMWq4 WEKWlmXAVs22IvZLy9cyGWXUilkoMyTYwp9w5OvtCQNqQRzOQBDTYdo2rCNlPWSIuHhY5n1igE3 aZVsvaJRnvvStpRi3k1k9oVmnXkCcRjj96GkyOgIj4cTPKfR52OvWLMSQeNAs97ECSrkFZ7w+S0 p4mj/+tRyIi8y7an7lBbXBGgmqsQgAg2ZcM0gM2Ag+QySsVOZYNSCGlWzXyRPgh5eQdql9UdGEY DG5ZGxc5Gk6OGWRpFC8K4zh8t16k4RCv X-Received: by 2002:a05:600c:5304:b0:456:207e:fd83 with SMTP id 5b1f17b1804b1-456207efef8mr37274975e9.4.1752534457334; Mon, 14 Jul 2025 16:07:37 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHcFYybJggufEbzOX96y2d2esVowJa8RFy3Jo8JJYmaYVQSByVesTs8TgD2sFEsOnGtO76Xcg== X-Received: by 2002:a05:600c:5304:b0:456:207e:fd83 with SMTP id 5b1f17b1804b1-456207efef8mr37274715e9.4.1752534456835; Mon, 14 Jul 2025 16:07:36 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:33 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , CLEMENT MATHIEU--DRIF , Jason Wang , Yi Liu , Paolo Bonzini , Richard Henderson , Eduardo Habkost , Marcel Apfelbaum Subject: [PULL 32/97] intel_iommu: Fill the PASID field when creating an IOMMUTLBEntry Message-ID: <6d968a2728ec46bb18eaa4c7e5f1ccea8987927f.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534679440116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: CLEMENT MATHIEU--DRIF PASID value must be used by devices as a key (or part of a key) when populating their ATC with the IOTLB entries returned by the IOMMU. Signed-off-by: Clement Mathieu--Drif Message-Id: <20250628180226.133285-5-clement.mathieu--drif@eviden.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/intel_iommu.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 69d72ad35c..0fb4350d48 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -2503,6 +2503,7 @@ static void vtd_iotlb_page_invalidate_notify(IntelIOM= MUState *s, .translated_addr =3D 0, .addr_mask =3D size - 1, .perm =3D IOMMU_NONE, + .pasid =3D vtd_as->pasid, }, }; memory_region_notify_iommu(&vtd_as->iommu, 0, event); @@ -3090,6 +3091,7 @@ static void do_invalidate_device_tlb(VTDAddressSpace = *vtd_dev_as, event.entry.iova =3D addr; event.entry.perm =3D IOMMU_NONE; event.entry.translated_addr =3D 0; + event.entry.pasid =3D vtd_dev_as->pasid; memory_region_notify_iommu(&vtd_dev_as->iommu, 0, event); } =20 @@ -3672,6 +3674,7 @@ static IOMMUTLBEntry vtd_iommu_translate(IOMMUMemoryR= egion *iommu, hwaddr addr, IOMMUTLBEntry iotlb =3D { /* We'll fill in the rest later. */ .target_as =3D &address_space_memory, + .pasid =3D vtd_as->pasid, }; bool success; =20 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534834; cv=none; d=zohomail.com; s=zohoarc; b=LkSm+Xn3d5Wu7I9K6c9iqoBa3Sbh+2z2dCUN3XloqF0CakzBz/E//AlGWaovRRPypaYnvAckS9vjbsEmLyL/jY8kzkdlKxsz/rrMGCkv1vZUtA0L2lDg4Umu7l9/KVnB0qAXzd5U9eAlPErcQp5X+Yd1d9b28aARvb+OYQE+IrU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534834; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=/e0EHOrB7ZCBA2nwdmyUuJgNrg4LS48+Pg1+NbLqEN8=; b=SwbvklVhMrz+Z/RWJR+04fMFbTtvWjEBnS20kUs33yrSd9aDSgHhN5NbcfC/N1vwT/z2Gf5HO9u9IXO6UtemcY0mUAAPtoh6PrCV9H0jL/hvz0P2MOMzp+WGyjnZPjeZzeIE3LBoo7Cicek6F83kx9W9wa9w5xZpHX8s74DuCE4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175253483459424.777803038539673; Mon, 14 Jul 2025 16:13:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSHn-0008J8-IX; Mon, 14 Jul 2025 19:08:40 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGu-0005El-7i for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:44 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGs-0005aE-Mj for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:43 -0400 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-152-4Mr7tG7pNhyc-3YyRAb0Dw-1; Mon, 14 Jul 2025 19:07:40 -0400 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-4561611dc2aso14152445e9.0 for ; Mon, 14 Jul 2025 16:07:40 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e285e0sm13239143f8f.101.2025.07.14.16.07.37 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534462; 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: in-reply-to:in-reply-to:references:references; bh=/e0EHOrB7ZCBA2nwdmyUuJgNrg4LS48+Pg1+NbLqEN8=; b=BseU2w+Uv0FkoGl2zNqPYDRhHbnJHQkJB4144k3/3pvlJmYt+gDK1buIb+UTpxdNBUlg92 tArNMiC9mLgM9rgjHLkLx8xRLoWqz1jgEkK3zBWuOSSgbiYMrGRzNx91l3JUgT6E91k/y4 pAtiJ+5KLbtxoGyNl4qyV1lYpL3PodE= X-MC-Unique: 4Mr7tG7pNhyc-3YyRAb0Dw-1 X-Mimecast-MFC-AGG-ID: 4Mr7tG7pNhyc-3YyRAb0Dw_1752534460 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534459; x=1753139259; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=/e0EHOrB7ZCBA2nwdmyUuJgNrg4LS48+Pg1+NbLqEN8=; b=qMoz16UCQlM0fjZaD7WIUod9OVa0tws/C5Lx2SFLuERrsR6mMyI5L1ZpIDKEEy8DoH 210OaDIzVPUK3p8b+YOVJSTVU4+codhyoexMzsI+tBfcQfLfAAco0CD1s5sht8jbsiwz ZVWztmKTQPZgNaZ42emU3FVhC2iWK+nT0EHJwlmjl/fOcXPB+12+22RsNGUDapKiVnKE cy+wWoWOxaw04qPaJgCfERbinWw7IqW0H2CT6FtXKcxTZcw6IikGQMVmBApEZKhc8rgO C4awN/gq4AaPs5HGVO12OZBdws2L500Qhg0tPcFSbHRsPMv4x1HB+cuxh0whLyDWne3t cTeQ== X-Gm-Message-State: AOJu0Yx34DI1CyEPghE2i2k+KhgzCm1BMnhri+Pdil7Bir0SZJJdj73P F+lAZmkm8uOlYcKgdlh06KBNDFMw43mrgJCXmTObWtYGgt+dW35wVwfYaQzSkNS7NKxygU/Ae3J VBiregXziEHggT1+OTaMNKnlbH+hI8jxw0WDoYaXZpjvERTwpyqiZzGJ35+yN4KkiJmeF5j1bHv b23bam5iKOje3l75xNuJynuQJ1V/tjwQmVSw== X-Gm-Gg: ASbGncuWrtwI3xQSasGXagol90+MUzubOj1LXOSPl4vO/YferKxI5ieh5iTiBadrhSh EKZWkCpmJjaw23ZbZTHXBd99WfMeNFRI9e31ZnFESrjmagThV9Fot2AmcsXKMJG8WO+0YWEYEKT 5KkN+tEgruxZgtCwTkHGq9NvmcB/GW4O0Oi4hYvThtbOZOYI5Et6x2cpXDEX1xs0e9BpJxhQocv DpofkdkqPzzslw+r4khG9cBEtY5ruQfujnE3vUoLxiJnxlTyF7rz57QOkGAqVF5WoWF9m+/VC7E B9kRgF3AIS8IjvcsAdkK8cU/oqg7m/1F X-Received: by 2002:a05:6000:bcc:b0:3a5:1222:ac64 with SMTP id ffacd0b85a97d-3b60a195aaemr190736f8f.38.1752534459401; Mon, 14 Jul 2025 16:07:39 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGcHhHVFLiZUb8hcieSC3bxuB3oIa+/Rf9chOWSeUD8xSlPXFGzD9eKwWBCXhGW1HPKy/uIhQ== X-Received: by 2002:a05:6000:bcc:b0:3a5:1222:ac64 with SMTP id ffacd0b85a97d-3b60a195aaemr190721f8f.38.1752534458966; Mon, 14 Jul 2025 16:07:38 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:37 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , CLEMENT MATHIEU--DRIF , Jason Wang , Yi Liu , Paolo Bonzini , Richard Henderson , Eduardo Habkost , Marcel Apfelbaum Subject: [PULL 33/97] intel_iommu: Declare supported PASID size Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534836710116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: CLEMENT MATHIEU--DRIF the PSS field of the extended capabilities stores the supported PASID size minus 1. This commit adds support for 8bits PASIDs (limited by MemTxAttrs::pid). Signed-off-by: Clement Mathieu--Drif Message-Id: <20250628180226.133285-6-clement.mathieu--drif@eviden.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/intel_iommu_internal.h | 1 + hw/i386/intel_iommu.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/i386/intel_iommu_internal.h b/hw/i386/intel_iommu_internal.h index e8b211e8b0..360e937989 100644 --- a/hw/i386/intel_iommu_internal.h +++ b/hw/i386/intel_iommu_internal.h @@ -192,6 +192,7 @@ #define VTD_ECAP_SC (1ULL << 7) #define VTD_ECAP_MHMV (15ULL << 20) #define VTD_ECAP_SRS (1ULL << 31) +#define VTD_ECAP_PSS (7ULL << 35) /* limit: MemTxAttrs::pid= */ #define VTD_ECAP_PASID (1ULL << 40) #define VTD_ECAP_SMTS (1ULL << 43) #define VTD_ECAP_SLTS (1ULL << 46) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 0fb4350d48..71497f1936 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -4590,7 +4590,7 @@ static void vtd_cap_init(IntelIOMMUState *s) } =20 if (s->pasid) { - s->ecap |=3D VTD_ECAP_PASID; + s->ecap |=3D VTD_ECAP_PASID | VTD_ECAP_PSS; } } =20 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535484; cv=none; d=zohomail.com; s=zohoarc; b=EGxwuss6WC1lM35JOMXyoXjLHIGXg19RBFQcSI8Is7nzXMR93vsG2zIbu7DJ5Jv/H4oFLemKv8NruwWtaxdlwEPKNE9NZrzgnjtFDUbTAxqfu1HGFiHOSNUZPEErzsq++4eeHsIoJMQulOiw+ZYawmXX1qWXzVvaX3vJRRxRejA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535484; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=HayVIjzAuMFMde366rDMxb9WI+k5iPArbzwUirFkhKc=; b=bzQbVqQDZt3R9mS0++XJzAtl+mUbULZ8ZYTo0aAOgYdSXGLWBYuWkLjZ7hF2rOiS+4T8axSKwUW55GSF8gJuSXMtyIKv1eQfLk8Caya2VQZHhF2btWj8+i2NV72wg9EpmK99EZUn2PceIrF5UE2SDtg6ChlE1/zrIPj/VdUQdpA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175253548412898.92456808713291; Mon, 14 Jul 2025 16:24:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSHt-0000Wd-IO; Mon, 14 Jul 2025 19:08:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGw-0005Yl-R2 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:46 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGv-0005ai-Ab for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:46 -0400 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-116-OMPWg11INdmIjCiP_BMkaQ-1; Mon, 14 Jul 2025 19:07:43 -0400 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3b604541741so926399f8f.3 for ; Mon, 14 Jul 2025 16:07:43 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4561dd91072sm32582915e9.14.2025.07.14.16.07.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534464; 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: in-reply-to:in-reply-to:references:references; bh=HayVIjzAuMFMde366rDMxb9WI+k5iPArbzwUirFkhKc=; b=XZ4vGV0ZkO5PF9HqpQ1ZqcmzqWKMm7O+Ftoj8nDbGpDLfQuTTqvtC3YEQ/h8B7/YQs6s5O a7eXd8YC/d6f1aNOzdVr2a2lN2uEwFWMvXaEzwm/MXa2x7DFRbwQq/7RWCLC9jyvwD+MSJ GTqrEVqw7L9oxC6C3i0vxJESWqDzcsk= X-MC-Unique: OMPWg11INdmIjCiP_BMkaQ-1 X-Mimecast-MFC-AGG-ID: OMPWg11INdmIjCiP_BMkaQ_1752534462 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534462; x=1753139262; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=HayVIjzAuMFMde366rDMxb9WI+k5iPArbzwUirFkhKc=; b=WlSb3mHQtubFyfLd5DZm/Q6eKqn8RSIXEsBrAuoZZpc8HM9yEeUciSPqtNW4eq+Atl 4v12zRP6/AZZi5grhKhVGp88ZJ0ZYJMC3bZM/P6FNE9iOXVL51ApZGuBjW1Oc/p1qbcb 81x0sw3sswtHMFCCC8NhDWM7/KKMJfOJg++cGgxrQjI391mTMzJa2bjrL0P2IIlQCEPd hhIovzZrxJifHYLfY2XBkV4eCERh7FxDnrvIffeCGKIUsjkqfPBuZtqmFGZbiWwc3ZB6 wbLVZh0QbkpNgsSKS+tB5vmcqruZ9v8FSoP/b5GgNxuNDDaoTcceWzj4/XohhxAnC2Ts 66CA== X-Gm-Message-State: AOJu0YytVwoAc3vJlovygJGys1vaY3izz5JxyHMa8+nKCopQpSJG7vx3 +Z/XAAdInZeB28OJMCuiz5RnxhAoxzXhs4W6yowEDc+NEdbj+A8cz8LYIfyiexDBSP+LCg7+Ht0 /yLSHdgYGi++35o4gCBrHb07xFxdX4cWeVSbtelT78mlfMNvXzeq9Y9qdql3zlTYUcF8ItTeaVL cyIjYAZC8VhxPUqL6nXICw0WsBRH/a65xXjQ== X-Gm-Gg: ASbGncs+WsrfAiKxIAPQmxMpAjfxYaQXrQo9BtL/vqIRQ6pUiXx/YEQ5rJ+BiGFmPo1 8Sqa1OT5yXvVZUiGTh+e9B0UWToQfBuMlTG6HeSFXaA2ARZ6bGNg1v9RcJx5++yxlRhfZr5SLFY 4jK7pDHlsYyOLge0DfTm4eajjU2/VW3EHX1rbKBXaNhQGbop8x0WnQAlKhGPFy4qq4BkaSMwrLb qGETEsjoWq/j5bEbEOLc8tWg46VmH/Q2o9yvkqlRcMBwfY8nRFtvFTFptbLzejJbGMnvxNsXCRr VPYYR+9r5sAgznrngrnQkP+ZeFSoYdGQ X-Received: by 2002:a05:6000:1a85:b0:3a6:d7e9:4309 with SMTP id ffacd0b85a97d-3b5f2e1b7c9mr11408937f8f.29.1752534462147; Mon, 14 Jul 2025 16:07:42 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEcA0V1PSlQEy/73nklhQV5wQuTs8JHELTpaahLdOBjrOFTLkOAMv5zJvhbCNOmviEHzZmfGA== X-Received: by 2002:a05:6000:1a85:b0:3a6:d7e9:4309 with SMTP id ffacd0b85a97d-3b5f2e1b7c9mr11408919f8f.29.1752534461697; Mon, 14 Jul 2025 16:07:41 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:39 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , CLEMENT MATHIEU--DRIF , Jason Wang , Yi Liu , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 34/97] intel_iommu: Implement vtd_get_iotlb_info from PCIIOMMUOps Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535484986116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: CLEMENT MATHIEU--DRIF Signed-off-by: Clement Mathieu--Drif Message-Id: <20250628180226.133285-7-clement.mathieu--drif@eviden.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/intel_iommu.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 71497f1936..affa7768e6 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -4733,10 +4733,20 @@ static AddressSpace *vtd_host_dma_iommu(PCIBus *bus= , void *opaque, int devfn) return &vtd_as->as; } =20 +static void vtd_get_iotlb_info(void *opaque, uint8_t *addr_width, + uint32_t *min_page_size) +{ + IntelIOMMUState *s =3D opaque; + + *addr_width =3D s->aw_bits; + *min_page_size =3D VTD_PAGE_SIZE; +} + static PCIIOMMUOps vtd_iommu_ops =3D { .get_address_space =3D vtd_host_dma_iommu, .set_iommu_device =3D vtd_dev_set_iommu_device, .unset_iommu_device =3D vtd_dev_unset_iommu_device, + .get_iotlb_info =3D vtd_get_iotlb_info, }; =20 static bool vtd_decide_config(IntelIOMMUState *s, Error **errp) --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535301; cv=none; d=zohomail.com; s=zohoarc; b=hIkbwxtwJLgqSS87OVVuRSuRdkDOEfYu7YlJjzBFiMfE9Ztl2UdgNk5Pa9vvHzHL2mibm2A34XEvB8lAN6EXj6t+F2J0XS+QnRo/F6X1vEcOa9n1+bLw+vBuAPrMJtzKmSoBhzlj1wAORsqQtAzGujTzDYVYf9Pn7OrKOAaBsc0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535301; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=aX8PwjZ6oBQhpAKZNBDNaO0YS+5HfJ6iXi58366fCfo=; b=N6RZVqy8OQgj0S/BmqZpHE8MDmHDAI2BaR6uCkghrIlNggMxZ5v6e7UNGQWw+/lfN95hTqxKMVuWbfKvtRYqIq5DIrclVn/3rMMp15gYy6q9klIkfJV20ic+YGUeYbyiT1NnAPWzCb7WlYcl34F6Owza37DmQoUYeZA+NQILvjA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535300995970.6074788182073; Mon, 14 Jul 2025 16:21:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSHy-000175-0V; Mon, 14 Jul 2025 19:08:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGz-0005p8-EN for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:50 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSGx-0005bE-Qg for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:49 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-79-g37Ed-SkOOOJ00ZjWxZL3w-1; Mon, 14 Jul 2025 19:07:45 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-456013b59c1so14810585e9.3 for ; Mon, 14 Jul 2025 16:07:45 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454dd55b1absm145273575e9.40.2025.07.14.16.07.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534467; 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: in-reply-to:in-reply-to:references:references; bh=aX8PwjZ6oBQhpAKZNBDNaO0YS+5HfJ6iXi58366fCfo=; b=i8mciDo135HeNXXO3dhNmJp9c4/eRq3AsLHbe4j9T03gVZUY6qqlawFNHNXEeDwr1fmIgu +vk1pDofN0b/Asvb7if4E+1O6jOq5dHWC8OYrDSUOhhphwVpPOyFOTJOvPh0hUg+PKoV4l ETNTSK/euq14WbonfMd/Fq9wnpF43lU= X-MC-Unique: g37Ed-SkOOOJ00ZjWxZL3w-1 X-Mimecast-MFC-AGG-ID: g37Ed-SkOOOJ00ZjWxZL3w_1752534465 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534464; x=1753139264; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=aX8PwjZ6oBQhpAKZNBDNaO0YS+5HfJ6iXi58366fCfo=; b=iAT+xOu6cENW2iyLbS9BRFkD2+J7O55wsq264XsmqPmZgIOQO2/4myZr4ou9UnlHAU lZZmM+n9tq4SntrEQAJqxg9S8f70js0Qy3mKmdO2uecghN4+/SW/H4h650c+RJ84r2jM S4xKDJIReLpIZofzHMxBwWvYjFItln6M01SzaBpFB6NHiQnGzIFmxjsluyBvww4h9nIj Oj+lIui/t9NG1CGkc3UrBWlpViPxxeYHghv8qKnYYhMY3IJFxdb0lryCjkD965GnbmjO tlU13i3Bw3BsvdxhWwmI/Q7GS/nx9+84exNvsvFK1SIRZqngx6Ub8cVejnxyVbHn97Kh pwFQ== X-Gm-Message-State: AOJu0YzKxFR9Wj1MOQ4P8uxBh20Lk5enZXCp3krTCXwpIMikO1oBveKx Z4cafQloWcPVEcic6QU3nXrCWgXE34TN3GsWHMf/v/EbgVfDo/OOZMrVjwc4dxoCf1WiCkOrdXv FhQboiBPlgbOyuuYydvIxdPqPZaGw4mfivwibkWv88ghx/b0uEoCXxw3gu1C15wjmMYej98u1qY nhN1WbwQ7Yy8TyRMw8onvLkaoNrGFS0DshRw== X-Gm-Gg: ASbGncsSDhQvbMf4drr5QoBFVm9CmwXIvxV7ENhxu58zitcgHS+IsYTDsybhB8pC0C0 xuI8+Qm229k3qw6nFqjhY5rESp+1YT3RKHyhGzM5TV1Y2buGzKd/wNgh8wR0r+w3/Zel+DHn2qq emS2PoJQv8+t5kLuYB2ITohQnMPUP+/qt71bRhU03LqnGaSq1RdVxbeBoQl7apNn9+l6Z7+jjqE cTWvjYMv3QetS4qZDnGsdt+Uv6Q5fGtlyr83fszvWjkswL+MYn7VsGsP3iDx655TrVLjK6250yN BDHMz5G5rphZKPlGFLw66IkS2cZ4GNtl X-Received: by 2002:a05:600c:c056:b0:456:10a8:ff7 with SMTP id 5b1f17b1804b1-45610a814b4mr42572205e9.28.1752534464338; Mon, 14 Jul 2025 16:07:44 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEnieEq7OObwcn9Acpatn02P90R1cHIKg2RQXQkhRHSBmRIByIDfwy0/+uIwdOnTQeNv+Jdhg== X-Received: by 2002:a05:600c:c056:b0:456:10a8:ff7 with SMTP id 5b1f17b1804b1-45610a814b4mr42572045e9.28.1752534463803; Mon, 14 Jul 2025 16:07:43 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:41 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , CLEMENT MATHIEU--DRIF , Jason Wang , Yi Liu , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 35/97] intel_iommu: Implement the PCIIOMMUOps callbacks related to invalidations of device-IOTLB Message-ID: <1fa16d5c3a81bc6434cbc7afe483b3791b295ac6.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535303514116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: CLEMENT MATHIEU--DRIF Signed-off-by: Clement Mathieu--Drif Message-Id: <20250628180226.133285-8-clement.mathieu--drif@eviden.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/intel_iommu.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index affa7768e6..234c452849 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -4733,6 +4733,15 @@ static AddressSpace *vtd_host_dma_iommu(PCIBus *bus,= void *opaque, int devfn) return &vtd_as->as; } =20 +static void vtd_init_iotlb_notifier(PCIBus *bus, void *opaque, int devfn, + IOMMUNotifier *n, IOMMUNotify fn, + void *user_opaque) +{ + n->opaque =3D user_opaque; + iommu_notifier_init(n, fn, IOMMU_NOTIFIER_DEVIOTLB_EVENTS, 0, + HWADDR_MAX, 0); +} + static void vtd_get_iotlb_info(void *opaque, uint8_t *addr_width, uint32_t *min_page_size) { @@ -4742,11 +4751,37 @@ static void vtd_get_iotlb_info(void *opaque, uint8_= t *addr_width, *min_page_size =3D VTD_PAGE_SIZE; } =20 +static void vtd_register_iotlb_notifier(PCIBus *bus, void *opaque, + int devfn, uint32_t pasid, + IOMMUNotifier *n) +{ + IntelIOMMUState *s =3D opaque; + VTDAddressSpace *vtd_as; + + vtd_as =3D vtd_find_add_as(s, bus, devfn, pasid); + memory_region_register_iommu_notifier(MEMORY_REGION(&vtd_as->iommu), n, + &error_fatal); +} + +static void vtd_unregister_iotlb_notifier(PCIBus *bus, void *opaque, + int devfn, uint32_t pasid, + IOMMUNotifier *n) +{ + IntelIOMMUState *s =3D opaque; + VTDAddressSpace *vtd_as; + + vtd_as =3D vtd_find_add_as(s, bus, devfn, pasid); + memory_region_unregister_iommu_notifier(MEMORY_REGION(&vtd_as->iommu),= n); +} + static PCIIOMMUOps vtd_iommu_ops =3D { .get_address_space =3D vtd_host_dma_iommu, .set_iommu_device =3D vtd_dev_set_iommu_device, .unset_iommu_device =3D vtd_dev_unset_iommu_device, .get_iotlb_info =3D vtd_get_iotlb_info, + .init_iotlb_notifier =3D vtd_init_iotlb_notifier, + .register_iotlb_notifier =3D vtd_register_iotlb_notifier, + .unregister_iotlb_notifier =3D vtd_unregister_iotlb_notifier, }; =20 static bool vtd_decide_config(IntelIOMMUState *s, Error **errp) --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535626; cv=none; d=zohomail.com; s=zohoarc; b=IXhDVG6hua56lI++lIbtFJavFxr1Zs0Jz18RJHUFI1Vxv5uS7Gv+ch+iX1OVkeVvuYCu/hv/swpwCzTwnuFgTkHSl89lYck1RGSP2c5pwKNdI/+30VNGlhoqM1p6CEKciRm5WvlswOOEhkjvcmrWDTyYCKE2mwIx9OXNgpS/+TU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535626; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=MOHStGMxU1OhGbAb8/Tgd5Xkkc+adSNHryY5YcQQ/VU=; b=cbrIxAR/BfxnnsYUDxB58GiwNRFEcNCe41YQEWDAmkPD9jN6Ok6u0KJSOAp+jt9Qzj9sGIRhUpUM1+ICNVh6jDjHvLwYYY67ZvqkbRgZ53yr4pwnUoAKNB05MqYBXQ5Mr8wgjwqjc6zd37ZXqNWvsT6vjpCI4e3iKGV/n6291hg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535626939205.364931310389; Mon, 14 Jul 2025 16:27:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSI2-0001fQ-1m; Mon, 14 Jul 2025 19:08:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSH3-000613-Me for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:04 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSH1-0005bm-01 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:52 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-78-5EUp6dpaP_uKbUOBNXcSFQ-1; Mon, 14 Jul 2025 19:07:49 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-45359bfe631so29217785e9.0 for ; Mon, 14 Jul 2025 16:07:49 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8dc217esm13158702f8f.28.2025.07.14.16.07.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534470; 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: in-reply-to:in-reply-to:references:references; bh=MOHStGMxU1OhGbAb8/Tgd5Xkkc+adSNHryY5YcQQ/VU=; b=MBmIE1HLqHUdBlRqQeODXgvrYiXFc6+32uT2xfwJ8Ds2G9rLatMLSwt3ghJNTECTpn0/Is q892U/sYBnMQp+XbnIDYO3OggROpgVtMluhdjLauynWOVLkMwcXJflpWaUHfQTuFHZ9f9c ZGdxkk1PjOKLYaBJFvSNNfx6LIBICPs= X-MC-Unique: 5EUp6dpaP_uKbUOBNXcSFQ-1 X-Mimecast-MFC-AGG-ID: 5EUp6dpaP_uKbUOBNXcSFQ_1752534468 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534468; x=1753139268; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=MOHStGMxU1OhGbAb8/Tgd5Xkkc+adSNHryY5YcQQ/VU=; b=BovObFTY8knJcX1F7fnfw5OJMROz9ulnXufh2gTKqrm3SkFaYkqj55+k/vk7U5QaF/ uXtsHowowCZ+17wASIXPWTjh69BsVzTnGdYvLyfLgpunPPMsAH2XCPfEK7Xa7qf13d8D 52sp4L9EFFRGh88Unm3bQNYMuGVLJsb9efEzCOWQgKrNcBRCDpMwH/6S1/0b3MwnnqMT dqeYJiGigvwHZH9c13w4GBxYA5Qp1KlIdG/9mYIlJI5nT01x4w+Myoz6YxHM+f6HNmR/ Q+RyWRIbE834aN4D5jU4ZeSUfqQB5UncPchUMAQwr+me7+v4MhZk2JNLUqQuUxOB//m0 tZow== X-Gm-Message-State: AOJu0YzF3PanBi9ePSMIoMEr1S9frZztcZ5CeowshFxSJdpieYIihcSR LESYe4T7MI/25qCS/A1DnaQR1FwOFP9jv6gokUdW6kAH0z6rhHnOB6JzlZk9tuDt7RBsKnUvgTZ 5+KGgFuuoxmyTvdCh8jdaighKeL/wxTvxd4N9DW3JL7P9CF7+CEn9XjPGiys9wgjVX1A7NNDMcJ o88xcGyVt4zXAEEFrb9BXU7JGO5N/giWZE+w== X-Gm-Gg: ASbGncuV5nEK2UHVbPjd/1ScBD9mUdfagztsFPIPVH0KVj3hm7ouQjHKh4DlAzmOsZy 5hopoZfdpueYerhSItg+6278VvWpn4Y0gMi0dliLYQ/vM/VVOnxFvgtvlZlj496lm9X/YhcBE6w pXTdWKhjFbh5XokV08saotct9LKP9TqmthD1+QSVQ6oEMhkNBAb2aOs19pVKyQ/DsyY2OsVBW2e lgK3bikvOyJKrd7h5GEu0bdumajph+GgK6t29RycJQX39X2lB3ZUc6SID6++K9zd3oMaMYi0KGI cZJvMgHdrb20GRXNGxPQGnlFTCs6Qt3Y X-Received: by 2002:a05:600c:4693:b0:456:496:2100 with SMTP id 5b1f17b1804b1-456049621efmr97626945e9.31.1752534467737; Mon, 14 Jul 2025 16:07:47 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEXnSYpUdGR5XXR0qOkhLIh7FZghoxo7vTTlQfUrbgtPTAIFdT+2ahq+4TlkVGoIhKgfWI/tA== X-Received: by 2002:a05:600c:4693:b0:456:496:2100 with SMTP id 5b1f17b1804b1-456049621efmr97626725e9.31.1752534467324; Mon, 14 Jul 2025 16:07:47 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:44 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , CLEMENT MATHIEU--DRIF , Jason Wang , Yi Liu , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 36/97] intel_iommu: Return page walk level even when the translation fails Message-ID: <4ecafbaec7c52c4d4ce88315766b9ad0be063a7c.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535628400116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: CLEMENT MATHIEU--DRIF We will use this information in vtd_do_iommu_translate to populate the IOMMUTLBEntry and indicate the correct page mask. This prevents ATS devices from sending many useless translation requests when a megapage or gigapage is not present. Signed-off-by: Clement Mathieu--Drif Message-Id: <20250628180226.133285-9-clement.mathieu--drif@eviden.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/intel_iommu.c | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 234c452849..bff307b9bc 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -1987,9 +1987,9 @@ static int vtd_iova_to_flpte(IntelIOMMUState *s, VTDC= ontextEntry *ce, uint32_t pasid) { dma_addr_t addr =3D vtd_get_iova_pgtbl_base(s, ce, pasid); - uint32_t level =3D vtd_get_iova_level(s, ce, pasid); uint32_t offset; uint64_t flpte, flag_ad =3D VTD_FL_A; + *flpte_level =3D vtd_get_iova_level(s, ce, pasid); =20 if (!vtd_iova_fl_check_canonical(s, iova, ce, pasid)) { error_report_once("%s: detected non canonical IOVA (iova=3D0x%" PR= Ix64 "," @@ -1998,11 +1998,11 @@ static int vtd_iova_to_flpte(IntelIOMMUState *s, VT= DContextEntry *ce, } =20 while (true) { - offset =3D vtd_iova_level_offset(iova, level); + offset =3D vtd_iova_level_offset(iova, *flpte_level); flpte =3D vtd_get_pte(addr, offset); =20 if (flpte =3D=3D (uint64_t)-1) { - if (level =3D=3D vtd_get_iova_level(s, ce, pasid)) { + if (*flpte_level =3D=3D vtd_get_iova_level(s, ce, pasid)) { /* Invalid programming of pasid-entry */ return -VTD_FR_PASID_ENTRY_FSPTPTR_INV; } else { @@ -2028,15 +2028,15 @@ static int vtd_iova_to_flpte(IntelIOMMUState *s, VT= DContextEntry *ce, if (is_write && !(flpte & VTD_FL_RW)) { return -VTD_FR_SM_WRITE; } - if (vtd_flpte_nonzero_rsvd(flpte, level)) { + if (vtd_flpte_nonzero_rsvd(flpte, *flpte_level)) { error_report_once("%s: detected flpte reserved non-zero " "iova=3D0x%" PRIx64 ", level=3D0x%" PRIx32 "flpte=3D0x%" PRIx64 ", pasid=3D0x%" PRIX32 = ")", - __func__, iova, level, flpte, pasid); + __func__, iova, *flpte_level, flpte, pasid); return -VTD_FR_FS_PAGING_ENTRY_RSVD; } =20 - if (vtd_is_last_pte(flpte, level) && is_write) { + if (vtd_is_last_pte(flpte, *flpte_level) && is_write) { flag_ad |=3D VTD_FL_D; } =20 @@ -2044,14 +2044,13 @@ static int vtd_iova_to_flpte(IntelIOMMUState *s, VT= DContextEntry *ce, return -VTD_FR_FS_BIT_UPDATE_FAILED; } =20 - if (vtd_is_last_pte(flpte, level)) { + if (vtd_is_last_pte(flpte, *flpte_level)) { *flptep =3D flpte; - *flpte_level =3D level; return 0; } =20 addr =3D vtd_get_pte_addr(flpte, aw_bits); - level--; + (*flpte_level)--; } } =20 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534752; cv=none; d=zohomail.com; s=zohoarc; b=OarZGK1I0XojzUWHfRDKZ7tkjAHqUr4VTfHEqZA77NSnNcLoz8lKYzzEhXfGk2UpQuPuPm3CnTkuLwS0Bzra57vefjwlea07J3mj1JW5ujsaW+MQvUROINeu4EazeU4L14eW9jVPTUSFbmEw6bWxdFqAp3vsc8SERRHLBlnnBek= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534752; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=XprGgK2MBOB8+UJMgMLEb0m5O0TZWRbGViPuc5uwIx8=; b=McVODcJUsPcx9mP+Poo1SPrHCriwCfe/boLJj19m2A13I6BUNyH36VIWQ7HmpVZzLUVPqA47iV2yhWCgqiTI5zW3cVRbBAF4sJeYHc5VCIf7HZB0k0NCWLLxy8Mfs51si+JoRg30Kmelh+RrbtX1t42HmJ1svxrXiMCdcVGZZtA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTP id 1752534752513836.555023359106; Mon, 14 Jul 2025 16:12:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSHg-0007Sq-RS; Mon, 14 Jul 2025 19:08:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSH7-00064E-Ph for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:04 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSH5-0005cH-P8 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:07:57 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-211-v_NTOkiaPeSoihPDCi9Qag-1; Mon, 14 Jul 2025 19:07:52 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-455ea9cb0beso26554925e9.0 for ; Mon, 14 Jul 2025 16:07:52 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8dc21e7sm13562742f8f.36.2025.07.14.16.07.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534474; 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: in-reply-to:in-reply-to:references:references; bh=XprGgK2MBOB8+UJMgMLEb0m5O0TZWRbGViPuc5uwIx8=; b=ZdfGMS7Bk8PiuCWGnA6bRLoxqJZN+eToIwnTy9CsRlTVb7Vgcahcjzr866XCz/D33Esv1p 55RbyLgKCE3nn6vH1LIC/qtLGik3cwlPZGiq4S+9Eoyo70+1//tyGl/pvPdF3ZJPyHV4hJ eCC9kJRvYcw0SGXOPFC3sBaBMG9jmwA= X-MC-Unique: v_NTOkiaPeSoihPDCi9Qag-1 X-Mimecast-MFC-AGG-ID: v_NTOkiaPeSoihPDCi9Qag_1752534471 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534471; x=1753139271; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=XprGgK2MBOB8+UJMgMLEb0m5O0TZWRbGViPuc5uwIx8=; b=hiEbLBb1xOZ8KvDJ9YXWfOrL0OLiSB/Zc1WGCbAbHCAluI/Zt6F4FfOZOG2eZ4z/Jg SAZ+g8B9vbHbqojSp9uKrFLHJQOEZTOR/1i7MHNAOlWsgkdoj+NV4R9vTeogP9DCn5WB WoxZqDfofty9W91y8JRquXHBd6vXZNcyjaN4gyULoT+lIUn9PBrJVoG6wHQ2gXJFO2uQ eW8xOWCUhWePD27lqCcwOSaqVufDiLsbZLypQeTzmg4yvAkJA69GoX+ZxWj4LjLEyBE9 z8oojhbNeDAiV9HOO3gSdPGKpHefZW8CRqHq5NSnntvzlSs1HV9ul9q6Gou8pYgZy2fF mz2Q== X-Gm-Message-State: AOJu0YxJjTyKn7Xmt6UctV7LHucWF6kr/7twe05RI+OA6JMWP3O+5WMT u2MJUBWzLKxOCsh8I5IjLIKrrMOGeys7NgtBStTycQn4NSKD2gtRm89m26jcSc1OyxAQK/33KSQ CMPjcRvWRkqp8kkL1oTwI23JS61FwScu2A5T1HpRJVCtBlfJQTgaF55MHkpb3QbdeEOmif55wJB 79fznav/UiHZxFAI9Q/kfvSQPjaFcLiVdHbw== X-Gm-Gg: ASbGncsg+PwKn7MhzRZkNq2V0g7ymx1sQDzQ4/k3s2CiH0pPhFL8jeTeJhUnjMjuRYD O0pw/clvycju89ab6GaDn1XiDLdePJYoie902CGAyApMhmc3ezbIgxwM3xLsI+wqq5SA5yMnVev HtLVbIxlMGT6lMaCcip7jpTPIubRqt/UMzyskp2M11tme6ivKHZSoPB5Q5MAeyiRn/4C9xB8qAD IKL8qyB892q8KehyJukq3DS08QllUwXN9bMth5riOOZ6hJq6aF+gHAReaX2ENY7UZQKyIj0Xb9W 3oP5JNNHr23NJwrpE+YeposCzvagOHSq X-Received: by 2002:a05:600c:4f52:b0:43d:3df:42d8 with SMTP id 5b1f17b1804b1-454ec14a5ebmr145453645e9.6.1752534471234; Mon, 14 Jul 2025 16:07:51 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFdD0ZXD1NFDfHr54aO1LMhl3gRpQn2xa9zINZsX8G+lZZXrjrinX9Ijrzdz1wdAlu6iVXtIg== X-Received: by 2002:a05:600c:4f52:b0:43d:3df:42d8 with SMTP id 5b1f17b1804b1-454ec14a5ebmr145453395e9.6.1752534470755; Mon, 14 Jul 2025 16:07:50 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:47 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , CLEMENT MATHIEU--DRIF , Jason Wang , Yi Liu , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 37/97] intel_iommu: Set address mask when a translation fails and adjust W permission Message-ID: <74b9d1654d0eb89e7052d21bc861dc807a06b562.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534755114116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: CLEMENT MATHIEU--DRIF Implements the behavior defined in section 10.2.3.5 of PCIe spec rev 5. This is needed by devices that support ATS. Signed-off-by: Clement Mathieu--Drif Message-Id: <20250628180226.133285-10-clement.mathieu--drif@eviden.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/intel_iommu.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index bff307b9bc..1b1b0b5632 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -2091,7 +2091,8 @@ static bool vtd_do_iommu_translate(VTDAddressSpace *v= td_as, PCIBus *bus, uint8_t bus_num =3D pci_bus_num(bus); VTDContextCacheEntry *cc_entry; uint64_t pte, page_mask; - uint32_t level, pasid =3D vtd_as->pasid; + uint32_t level =3D UINT32_MAX; + uint32_t pasid =3D vtd_as->pasid; uint16_t source_id =3D PCI_BUILD_BDF(bus_num, devfn); int ret_fr; bool is_fpd_set =3D false; @@ -2250,14 +2251,19 @@ out: entry->iova =3D addr & page_mask; entry->translated_addr =3D vtd_get_pte_addr(pte, s->aw_bits) & page_ma= sk; entry->addr_mask =3D ~page_mask; - entry->perm =3D access_flags; + entry->perm =3D (is_write ? access_flags : (access_flags & (~IOMMU_WO)= )); return true; =20 error: vtd_iommu_unlock(s); entry->iova =3D 0; entry->translated_addr =3D 0; - entry->addr_mask =3D 0; + /* + * Set the mask for ATS (the range must be present even when the + * translation fails : PCIe rev 5 10.2.3.5) + */ + entry->addr_mask =3D (level !=3D UINT32_MAX) ? + (~vtd_pt_level_page_mask(level)) : (~VTD_PAGE_MASK_= 4K); entry->perm =3D IOMMU_NONE; return false; } --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534677; cv=none; d=zohomail.com; s=zohoarc; b=UQpMXE1ZrPcTao46h55CHA7u2E94EGvgiHd5mjMgrOJ1QM9niSuw3A3yXc9YqNEtLP8Xq+4IQnXuu3ru6WkXqFmbuoQvAWZWzgiDbqcfONrIi39zTUEZQlYu1X16c35nUYv+pSVTpAxNmcZUmx5KmXpQCrmpF9PdGWLHRGfBSd0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534677; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ZnCiPK9qjMPW1GxC0I9MN0RmWn7FrkbvPqd5JVEOfwc=; b=FqvXN8RyMHbzGullkevjn7VUkI3hvSHjVwLqcHW73eKClEqbBnHMShYRNzyHiGdj8QDrR33dO9dgQjMJLCzspcQah2luKxM7SH+ww0QIZDY1AnUH/gMFeN9R9kXWB2V6mC1D+H7WuZRr27O1YkuvgywxurmxVMLLCWmYUcsxIS4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534677384490.70886667191905; Mon, 14 Jul 2025 16:11:17 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSIS-00036P-8f; Mon, 14 Jul 2025 19:09:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHC-00068q-Cx for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:05 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHA-0005ct-Mo for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:02 -0400 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-282-Oqz4j4abOIeaxu6RviGqiA-1; Mon, 14 Jul 2025 19:07:56 -0400 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3a4eeed54c2so2649442f8f.3 for ; Mon, 14 Jul 2025 16:07:55 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8bd180fsm13366964f8f.2.2025.07.14.16.07.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534478; 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: in-reply-to:in-reply-to:references:references; bh=ZnCiPK9qjMPW1GxC0I9MN0RmWn7FrkbvPqd5JVEOfwc=; b=KRJRy+kAbNevPqbjUSbhZakhfWXQjNopxkhjpTl8Sn++Umfl0J1U/MBylgiiHa4x9HMIlA 98J39OLG8eFAP0J9Ju21E1IFNXZ8wjlRcqZppMGoc2QS5apHqhZiA6w+IA/GP2uZhp4D5k Eb49a3lomYetDQWLB09BbzQy5m/4KFY= X-MC-Unique: Oqz4j4abOIeaxu6RviGqiA-1 X-Mimecast-MFC-AGG-ID: Oqz4j4abOIeaxu6RviGqiA_1752534474 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534474; x=1753139274; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=ZnCiPK9qjMPW1GxC0I9MN0RmWn7FrkbvPqd5JVEOfwc=; b=YgFaFku5IVgJg4ajM9YUYFdjcNSp8nhlVzHWJ0+Tes836zMwSNQRmjOBrSeS0M2ALt ZLEWXv4//tL9u3c276UU4JkrvPd/AmtOnvDyxH4FvVUe+iXn999wJKXOwG52nr1Y7EdU xS7nVi8IHNJ55ENfSBgv1DofR9RDVDNkBTsiHMsyjhhd/B8/FyKH6Kc2evEf0bv7/ZHa PS08P9JlDM74aZoqbsu3M5aDpTNpw/S46J+zltayXM3+eRbWCk6BtZiPfeeXFVhCOKL6 JgzB6w85B7A9Rj0cnGtSTI3lhZgOyMYU+ZvrVibtxdaAlWtw0Ck4vORdOjYMXSOavvpk hNPg== X-Gm-Message-State: AOJu0YxiXVY7KaEwcNC7hbYJ8QjLH67ggQXR4sN14ihy+LTeUhRYVkqu fMsTIjoa/Pzg9qpZB0wEg6+RD/J02KcuZtStNmKV0TNn6psMCsBdfNYQXF3b0uBJi7dJqMJxaLy TBA1U3OA8DK9lkVHN0Kq/aSOmozlkbs+ZKV0XbVnUgOEsEZSlUTDnR2G1ikUiJWpzWQWsC0QWbq nMjbBtEurn3i3L4Qb7OHYtw0b8lqXz9shrcw== X-Gm-Gg: ASbGncuc3qOrsIeGdBzw1XCBccjAMYuDTlEQNHEJM+SDxO5wAFO0OsTA4OAKSaX/ySF KHj9iXwWPLzkzaTbAmODgy0TDRRnM0O1sDF6VdelDfCAkNOf17yLCDRNG0w78J3saV/oQt5RWzU KB7TYu5CEnEM8mvQVt+u/H5u5OBfzt3GVv2Pxj5bKCefZUavj+7ayXo4EHwFSl9UkRPVlXonEes uHei5bU3AdfJA4Rh9flA1r1enP2FD3mJ4e1eCVqbc7eJDx1SGzg1nZz402xHc9iOFZllmqOOLoN 2UBTa/XXf8ku4pFSK7JDVHnX2xTAUz+m X-Received: by 2002:a05:6000:2c0f:b0:3a4:d4cd:b06 with SMTP id ffacd0b85a97d-3b5f18d98c1mr14125309f8f.34.1752534473771; Mon, 14 Jul 2025 16:07:53 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE6pEKK3EPDqVZib5+SFZk7ZHqkDLC3XsS5JHU/WFt9XPKUX9gOExa/rRNntoFfMnO/iCOwCA== X-Received: by 2002:a05:6000:2c0f:b0:3a4:d4cd:b06 with SMTP id ffacd0b85a97d-3b5f18d98c1mr14125284f8f.34.1752534473285; Mon, 14 Jul 2025 16:07:53 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:50 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , CLEMENT MATHIEU--DRIF , Jason Wang , Yi Liu , Paolo Bonzini , Richard Henderson , Eduardo Habkost , Marcel Apfelbaum Subject: [PULL 38/97] intel_iommu: Add support for ATS Message-ID: <47c3dcd3ffc6d187b97fe494a14fb61dd3911ccd.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534679499116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: CLEMENT MATHIEU--DRIF Signed-off-by: Clement Mathieu--Drif Message-Id: <20250628180226.133285-11-clement.mathieu--drif@eviden.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/intel_iommu.c | 63 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 1b1b0b5632..fe9a5f2872 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -4738,6 +4738,68 @@ static AddressSpace *vtd_host_dma_iommu(PCIBus *bus,= void *opaque, int devfn) return &vtd_as->as; } =20 +static IOMMUTLBEntry vtd_iommu_ats_do_translate(IOMMUMemoryRegion *iommu, + hwaddr addr, + IOMMUAccessFlags flags) +{ + IOMMUTLBEntry entry; + VTDAddressSpace *vtd_as =3D container_of(iommu, VTDAddressSpace, iommu= ); + + if (vtd_is_interrupt_addr(addr)) { + vtd_report_ir_illegal_access(vtd_as, addr, flags & IOMMU_WO); + entry.target_as =3D &address_space_memory; + entry.iova =3D 0; + entry.translated_addr =3D 0; + entry.addr_mask =3D ~VTD_PAGE_MASK_4K; + entry.perm =3D IOMMU_NONE; + entry.pasid =3D PCI_NO_PASID; + } else { + entry =3D vtd_iommu_translate(iommu, addr, flags, 0); + } + + return entry; +} + +static ssize_t vtd_ats_request_translation(PCIBus *bus, void *opaque, + int devfn, uint32_t pasid, + bool priv_req, bool exec_req, + hwaddr addr, size_t length, + bool no_write, IOMMUTLBEntry *r= esult, + size_t result_length, + uint32_t *err_count) +{ + IntelIOMMUState *s =3D opaque; + VTDAddressSpace *vtd_as; + IOMMUAccessFlags flags =3D IOMMU_ACCESS_FLAG_FULL(true, !no_write, exe= c_req, + priv_req, false, false= ); + ssize_t res_index =3D 0; + hwaddr target_address =3D addr + length; + IOMMUTLBEntry entry; + + vtd_as =3D vtd_find_add_as(s, bus, devfn, pasid); + *err_count =3D 0; + + while ((addr < target_address) && (res_index < result_length)) { + entry =3D vtd_iommu_ats_do_translate(&vtd_as->iommu, addr, flags); + entry.perm &=3D ~IOMMU_GLOBAL; /* Spec 4.1.2: Global Mapping never= set */ + + if ((entry.perm & flags) !=3D flags) { + *err_count +=3D 1; /* Less than expected */ + } + + result[res_index] =3D entry; + res_index +=3D 1; + addr =3D (addr & (~entry.addr_mask)) + (entry.addr_mask + 1); + } + + /* Buffer too small */ + if (addr < target_address) { + return -ENOMEM; + } + + return res_index; +} + static void vtd_init_iotlb_notifier(PCIBus *bus, void *opaque, int devfn, IOMMUNotifier *n, IOMMUNotify fn, void *user_opaque) @@ -4787,6 +4849,7 @@ static PCIIOMMUOps vtd_iommu_ops =3D { .init_iotlb_notifier =3D vtd_init_iotlb_notifier, .register_iotlb_notifier =3D vtd_register_iotlb_notifier, .unregister_iotlb_notifier =3D vtd_unregister_iotlb_notifier, + .ats_request_translation =3D vtd_ats_request_translation, }; =20 static bool vtd_decide_config(IntelIOMMUState *s, Error **errp) --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535308; cv=none; d=zohomail.com; s=zohoarc; b=joJs4IY84+hi5+tKeGO9l8B0qE9WMTYZPYapSTFMYoyMsZMBSIciD6vUuE4s+ods0nx1qHq5vnaPLfb7KTWKvqPclogxJcqXhYeMDy2dEPIrOHmJQ9BQqE9MhPEcyu6QtdDFXew3ZrXZLOVxGXEj64RQk5z9A0U72IUhyLhezoQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535308; 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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=/DCXoXH19gfUig4lVOGC7ZRvMR0X5CUGZ6lLZHnPrrw=; b=mWLR4Rk2DY1T4rZoohCjaXq//2UTkD2OSIOBlDndrS5MJ4LaOJUi4/HKbR9L43ES6ZNMmc/uXtmeF0be975WVLUaNXtY7/8u6lC3SIR8ZcFTmyLER9sbSbFToDBPlzkIofyzCLBx9YxCmLEfjJ/nrEPEQlXTo/nrsRPOyRtuiH8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535308397284.941204781578; Mon, 14 Jul 2025 16:21:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSI6-0002Bc-7i; Mon, 14 Jul 2025 19:08:58 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHB-00068V-4g for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:05 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSH9-0005cv-8Q for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:00 -0400 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-606-4y-s-VuqOX6pVcnr_HCytQ-1; Mon, 14 Jul 2025 19:07:57 -0400 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-453817323afso30140345e9.1 for ; Mon, 14 Jul 2025 16:07:57 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e0d719sm13688185f8f.54.2025.07.14.16.07.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534478; 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=/DCXoXH19gfUig4lVOGC7ZRvMR0X5CUGZ6lLZHnPrrw=; b=Kez5/JRhgMTXpKhpGsgFpMvcdX87by7IuEgQArkwg/9JKFYo+R2l6OpfO95nB0TMbxJQuv 5AFuoGa4fnmE4Wm+J39+mq+Q0AioSYW1FWvreiOCsU43Rj8IM3ukS2U4eWJ3r5xY8Aw007 Kf7JB15CN75uHdvqVgn19TzIOXMlEJc= X-MC-Unique: 4y-s-VuqOX6pVcnr_HCytQ-1 X-Mimecast-MFC-AGG-ID: 4y-s-VuqOX6pVcnr_HCytQ_1752534476 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534476; x=1753139276; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=/DCXoXH19gfUig4lVOGC7ZRvMR0X5CUGZ6lLZHnPrrw=; b=lT3dAk3gkWaBZS5DQfw3jw+LjVRklv24tRZbbMNwbuNcGqFLRxn1P6IFv/sVQrtu9a M5grx0aBE4rFhuEyLp4t3oZphFq/FHfnERxB8xnoF9V+vyI4trkjA6xjJMutr0RJpCKJ AmDMajQ5S6A8RvGF9ucIWZGAg1N5jKvPHtGBvjdYceRqLfYOenJxQHAYIcOFDrQfIe7h s2xF5OLP0+W5gyXMA0GhWR2JWjp2bwAYk/O0zbj69WO7fMW6thFvmIWOwoOp2EbwfTRV I2UMN6mGAPNe2S16UarMSnlxZzsp/VHyaB/H2ZT7rem3Y5kqBlz30KUuhwPe8QkzvnZC 42QQ== X-Gm-Message-State: AOJu0YyxJoayScmee/pEVv1YDkPD7gGMet2ms8b/0NqiZxNgmnrAL8Vv ywY65lvXLmXU/IUgRrXwVlFSMZYcsxkO1jbeZIYZGs0S/XFHCeMLFWodYmJoiLA+tDhbkKdLyub RXSeYfSwCL9sJJeR3BOeEYL7l9z+tlFzaqFI0faqt/QiQn5GUI4Ay6tvRRTjSqPqUvp6gXPovcn o4Yiiju8A8yYA9OqEOoUgxY9M9poyoKmEF6Q== X-Gm-Gg: ASbGnct5opp1AJpwIw12L5RG4CrkR9qbKWRRUXR/+LixUwmO3vw+ByW9+i4u7TrY6yk JrPuWyWpJpIxi33RRP7bKq/pt71/MqP/fRTfaP2dzu9GPZihdJHWTbdtq1LeH37WKKrdkfpcmvW 0Z/TvAhVaOnfhaCbL5yxqCAGlGR4HCt2AUsTsyr/m8s0mGRSXKa8ay40/UqG2a+ZgGEl7xaOgBT sBCvaM876J3anHeqWRRmbw7uUSdYgBbjpQEa8IoNBZ48VDIvHcrVqk+A6wg9oRGxkkLD5LPVKEt r7aJ4WyXdkuvi2eoTC2iGXum4FN5v0Tf X-Received: by 2002:a05:600c:3513:b0:456:f85:469b with SMTP id 5b1f17b1804b1-4560f854858mr69338845e9.25.1752534475979; Mon, 14 Jul 2025 16:07:55 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH/hvhp3+Lc4SCDYGY1djJZvTqk84QAxmDoG0bJVlXqiTSEhPm93Mwt5v091pG+91JnXtqwIQ== X-Received: by 2002:a05:600c:3513:b0:456:f85:469b with SMTP id 5b1f17b1804b1-4560f854858mr69338605e9.25.1752534475541; Mon, 14 Jul 2025 16:07:55 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:53 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Richard Henderson , Pierrick Bouvier , Song Gao , Huacai Chen , Aurelien Jarno , Jiaxun Yang , Aleksandar Rikalo , qemu-arm@nongnu.org Subject: [PULL 39/97] target/qmp: Use target_cpu_type() Message-ID: <877f7c5a419ed48b0bff3833156e23921764280d.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535309464116600 From: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Pierrick Bouvier Message-Id: <20250708215320.70426-2-philmd@linaro.org> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- target/arm/arm-qmp-cmds.c | 3 ++- target/loongarch/loongarch-qmp-cmds.c | 3 ++- target/mips/system/mips-qmp-cmds.c | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/target/arm/arm-qmp-cmds.c b/target/arm/arm-qmp-cmds.c index cefd235263..d292c974c4 100644 --- a/target/arm/arm-qmp-cmds.c +++ b/target/arm/arm-qmp-cmds.c @@ -21,6 +21,7 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "hw/boards.h" #include "kvm_arm.h" #include "qapi/error.h" @@ -241,7 +242,7 @@ CpuDefinitionInfoList *qmp_query_cpu_definitions(Error = **errp) CpuDefinitionInfoList *cpu_list =3D NULL; GSList *list; =20 - list =3D object_class_get_list(TYPE_ARM_CPU, false); + list =3D object_class_get_list(target_cpu_type(), false); g_slist_foreach(list, arm_cpu_add_definition, &cpu_list); g_slist_free(list); =20 diff --git a/target/loongarch/loongarch-qmp-cmds.c b/target/loongarch/loong= arch-qmp-cmds.c index f5f1cd0009..1d8cd32f5f 100644 --- a/target/loongarch/loongarch-qmp-cmds.c +++ b/target/loongarch/loongarch-qmp-cmds.c @@ -7,6 +7,7 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi/qapi-commands-machine.h" #include "cpu.h" @@ -32,7 +33,7 @@ CpuDefinitionInfoList *qmp_query_cpu_definitions(Error **= errp) CpuDefinitionInfoList *cpu_list =3D NULL; GSList *list; =20 - list =3D object_class_get_list(TYPE_LOONGARCH_CPU, false); + list =3D object_class_get_list(target_cpu_type(), false); g_slist_foreach(list, loongarch_cpu_add_definition, &cpu_list); g_slist_free(list); =20 diff --git a/target/mips/system/mips-qmp-cmds.c b/target/mips/system/mips-q= mp-cmds.c index d98d6623f2..b6a2874f2d 100644 --- a/target/mips/system/mips-qmp-cmds.c +++ b/target/mips/system/mips-qmp-cmds.c @@ -7,6 +7,7 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/target-info.h" #include "qapi/error.h" #include "qapi/qapi-commands-machine.h" #include "cpu.h" @@ -40,7 +41,7 @@ CpuDefinitionInfoList *qmp_query_cpu_definitions(Error **= errp) CpuDefinitionInfoList *cpu_list =3D NULL; GSList *list; =20 - list =3D object_class_get_list(TYPE_MIPS_CPU, false); + list =3D object_class_get_list(target_cpu_type(), false); g_slist_foreach(list, mips_cpu_add_definition, &cpu_list); g_slist_free(list); =20 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535798; cv=none; d=zohomail.com; s=zohoarc; b=EHHUiNBfjyLP7Yg0XCt9tdooaS+4Zdhfsn4aYj+LPhOxjGEnl01i2x9gTcfWpYJZEoTW+pVs/7c52Q4NkbKDxv6zTn5n+nTnJTSxm/VQyaa6RFscHrWR2X1EhJvK9wTkzOknAlaW+4ErYJG+mi3m1bz9bk04KiXKwhb10uTvtR0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535798; 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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=xk9frtw4E7yOISGuoGDzjA1OizOnzV8VR73+E5OqM0w=; b=gqcdPVxu8PM/E1VsBD3OiodLo0Dj3+R20Cue5xR0A0z4gLtmoS24xiIn6xQCQkvblgOZhZ4QLnfrWB/iTijs9P/K7Otda7xkIrGvlvjC1ubCl/GAXUKT2ajCdodiatflLRPE7Jr/dB0VybaW0i8gS/ijFzoTv6b+BSwontISseg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535798093775.4862018640405; Mon, 14 Jul 2025 16:29:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSIM-0002eb-Ub; Mon, 14 Jul 2025 19:09:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHE-00069c-DB for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:07 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHC-0005dm-9J for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:03 -0400 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-466-X523O4J_NAiWP9dFmCAU8w-1; Mon, 14 Jul 2025 19:08:00 -0400 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3a4f8192e2cso2713147f8f.3 for ; Mon, 14 Jul 2025 16:08:00 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-456101b616csm72731345e9.4.2025.07.14.16.07.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534481; 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=xk9frtw4E7yOISGuoGDzjA1OizOnzV8VR73+E5OqM0w=; b=SDg9pFz0u9vkC0BE2mFTv3y6/DexY7zdarIeyZtG7g0DvesTCOgV8k1mFVR+jgbL5QAqfh 7XOoVwAf8rsTFYqw4osjtiEACO1eS5woozoddZNCR9XNPOR9Y2Oo7OczU+akWGE2HD3zsI tyRhsmZh2HD+OOUOvvzNLl0ije4kbh0= X-MC-Unique: X523O4J_NAiWP9dFmCAU8w-1 X-Mimecast-MFC-AGG-ID: X523O4J_NAiWP9dFmCAU8w_1752534479 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534479; x=1753139279; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=xk9frtw4E7yOISGuoGDzjA1OizOnzV8VR73+E5OqM0w=; b=Gq7aeaYbi/hB5E9jWz++/8IDU++4BKhThYwnsJ53Bk2kSGXP0jDDF/9uIyeWTyh4Od 3a2E4skyxtn8tgQkr9Ou3ALwuZJdkiPbBDi/PvuI6n01XSUs6jVsdt23gOIhqoKLoa2n FtttTD0BB9GGhyQoWU5p4apdhoHYU5DARIGOnESbP4Qpm81pnF3dFJBriHxUdrzvZpV5 WQQe9tAZpFKOsXrIpLud4yQs29WNWrPLYFkAWeOLxjnvWf1Se13LqlHbhB1Ks3WiIaJG sans8MfmxysgtVpyuHlzlzCiKaELPX3aMsuaU5BHGTKJMmnaOVjoSl1Os+JJs8ZIa52l +trw== X-Gm-Message-State: AOJu0YzNFhdcb1+rwh29xcw1ebXOxHPCF6PaQ/kDpj2aPS36aikDe5Vc gtmopVniU2mhQ8Zv1S+skFhL9uc3cNPYtLZcDyQgAWLcz/C6TdfGblIeQwyLFFEh0helRNuaSJP HJ86IfP5VfU/nyXlbAR7k1Z+wjP53u25ceV1kXSD+EJvtmLs8Uq6H2r+H2elUO6Ao0Vp3RsBV80 9FpGY/2r486Sh6SJPYJ8yWcjKsTq0l7n2/rg== X-Gm-Gg: ASbGncuRgrqBrncRGlpHBB3Uzw7UWv4miqukwrFrwxMTl5e4tH4+Y3ScgJf5DW+v/g5 NakaOdtEmrOtzjPFBwz/xGHzbOMaVIoYbudI2sI96omDGFJkj/KW3wOPMWFpGeBTY84ZGcAjBFT t2S5AOysOwZ+OmCmXNq956irJgaT1OmLB4I4t6Cq1b9C7fbsZE0iEHn/8PLpGM65UqdgK1Fayru kbik0rnOgbr+T/pmoY6XhuPDqEIEwo716edeGB6rVynG2ZIfueFpR6RqpcGWM7jH5FfHPDi2RrL VUrgO3ZF4OjBLxjJPoG+aczxX7z4PbcX X-Received: by 2002:a05:6000:4389:b0:3b3:9c85:6b17 with SMTP id ffacd0b85a97d-3b5f2dfd8c0mr10430325f8f.34.1752534478836; Mon, 14 Jul 2025 16:07:58 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFFbMrBFuQ03LH212VroaJbgOLNKTIAVsJmeSymGBKRazZ8RvYU7P4DlT+HnQc4Qzf6/ZzbOw== X-Received: by 2002:a05:6000:4389:b0:3b3:9c85:6b17 with SMTP id ffacd0b85a97d-3b5f2dfd8c0mr10430303f8f.34.1752534478281; Mon, 14 Jul 2025 16:07:58 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:55 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Richard Henderson , Pierrick Bouvier , Eduardo Habkost , Marcel Apfelbaum , Yanan Wang , Zhao Liu Subject: [PULL 40/97] qemu/target-info: Factor target_arch() out Message-ID: <777aa9af48426cf40f6262a3fca2b3c67a916b14.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535799989116600 From: Philippe Mathieu-Daud=C3=A9 To keep "qemu/target-info.h" self-contained to native types, declare target_arch() -- which returns a QAPI type -- in "qemu/target-info-qapi.h". No logical change. Keeping native types in "qemu/target-info.h" is necessary to keep building tests such tests/tcg/plugins/mem.c, as per the comment added in commit ecbcc9ead2f ("tests/tcg: add a system test to check memory instrumentation"): /* * plugins should not include anything from QEMU aside from the * API header. However as this is a test plugin to exercise the * internals of QEMU and we want to avoid needless code duplication we * do so here. bswap.h is pretty self-contained although it needs a * few things provided by compiler.h. */ Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Reviewed-by: Pierrick Bouvier Message-Id: <20250708215320.70426-3-philmd@linaro.org> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/qemu/target-info-qapi.h | 21 +++++++++++++++++++++ include/qemu/target-info.h | 2 +- hw/core/machine-qmp-cmds.c | 8 +++----- target-info.c | 8 ++++++++ 4 files changed, 33 insertions(+), 6 deletions(-) create mode 100644 include/qemu/target-info-qapi.h diff --git a/include/qemu/target-info-qapi.h b/include/qemu/target-info-qap= i.h new file mode 100644 index 0000000000..a337c867bf --- /dev/null +++ b/include/qemu/target-info-qapi.h @@ -0,0 +1,21 @@ +/* + * QEMU target info API (returning QAPI types) + * + * Copyright (c) Linaro + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#ifndef QEMU_TARGET_INFO_EXTRA_H +#define QEMU_TARGET_INFO_EXTRA_H + +#include "qapi/qapi-types-machine.h" + +/** + * target_arch: + * + * Returns: QAPI SysEmuTarget enum (e.g. SYS_EMU_TARGET_X86_64). + */ +SysEmuTarget target_arch(void); + +#endif diff --git a/include/qemu/target-info.h b/include/qemu/target-info.h index 850a2958b9..dde0e7d968 100644 --- a/include/qemu/target-info.h +++ b/include/qemu/target-info.h @@ -1,5 +1,5 @@ /* - * QEMU target info API + * QEMU target info API (returning native types) * * Copyright (c) Linaro * diff --git a/hw/core/machine-qmp-cmds.c b/hw/core/machine-qmp-cmds.c index d82043e1c6..cd98daedd1 100644 --- a/hw/core/machine-qmp-cmds.c +++ b/hw/core/machine-qmp-cmds.c @@ -19,7 +19,7 @@ #include "qapi/qobject-input-visitor.h" #include "qapi/type-helpers.h" #include "qemu/uuid.h" -#include "qemu/target-info.h" +#include "qemu/target-info-qapi.h" #include "qom/qom-qobject.h" #include "system/hostmem.h" #include "system/hw_accel.h" @@ -37,8 +37,7 @@ CpuInfoFastList *qmp_query_cpus_fast(Error **errp) MachineState *ms =3D MACHINE(qdev_get_machine()); MachineClass *mc =3D MACHINE_GET_CLASS(ms); CpuInfoFastList *head =3D NULL, **tail =3D &head; - SysEmuTarget target =3D qapi_enum_parse(&SysEmuTarget_lookup, target_n= ame(), - -1, &error_abort); + SysEmuTarget target =3D target_arch(); CPUState *cpu; =20 CPU_FOREACH(cpu) { @@ -139,8 +138,7 @@ QemuTargetInfo *qmp_query_target(Error **errp) { QemuTargetInfo *info =3D g_malloc0(sizeof(*info)); =20 - info->arch =3D qapi_enum_parse(&SysEmuTarget_lookup, target_name(), -1, - &error_abort); + info->arch =3D target_arch(); =20 return info; } diff --git a/target-info.c b/target-info.c index 16fdca7aaa..9ebabec988 100644 --- a/target-info.c +++ b/target-info.c @@ -8,7 +8,9 @@ =20 #include "qemu/osdep.h" #include "qemu/target-info.h" +#include "qemu/target-info-qapi.h" #include "qemu/target-info-impl.h" +#include "qapi/error.h" =20 const char *target_name(void) { @@ -20,6 +22,12 @@ unsigned target_long_bits(void) return target_info()->long_bits; } =20 +SysEmuTarget target_arch(void) +{ + return qapi_enum_parse(&SysEmuTarget_lookup, target_name(), -1, + &error_abort); +} + const char *target_cpu_type(void) { return target_info()->cpu_type; --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534570; cv=none; d=zohomail.com; s=zohoarc; b=h2DzTA/vtxLQEoNzNWcokcJOZzEdX1GJ+uKAi4OmO3MIz/hCMAY1NS34eydjisOsFuiAoMsQxrmwriZR1yDWOoviZL9V4//5IBUgbVbu079PpMR0AQTWpPWJvfvkrcxVzukLmNxnw0GJh44mEVUnuBhqz/+aOv4hnnnhTm/G5c0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534570; 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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ZUQMsD0OTjK6NSdPR5fnk3SR/AQMl7B+vWC0iuHgWB4=; b=HEF4qHCLJhJfbs4c3PRYJgQU167monR7BU8sMY/wgQjHgtR25gvVTjc7OjzgPXEEtbOBfbjcVp+SiNVLI35maF0OYUsqOSh5vBcAkSHiLG6v6BPZqm6YS8UkynRK6K5wCuwPLGzgSMXBBn1gnGd7l1R6iT0wKkN3daK/JPHhwQQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534570612354.9534972737264; Mon, 14 Jul 2025 16:09:30 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSIS-0003T8-Vc; Mon, 14 Jul 2025 19:09:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHG-0006B1-9M for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:11 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHE-0005e4-OE for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:06 -0400 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-231-iTchXHfUOym9GeJQJTYONQ-1; Mon, 14 Jul 2025 19:08:02 -0400 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3a503f28b09so3030293f8f.0 for ; Mon, 14 Jul 2025 16:08:02 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e1e1a5sm13318956f8f.74.2025.07.14.16.07.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:07:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534484; 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=ZUQMsD0OTjK6NSdPR5fnk3SR/AQMl7B+vWC0iuHgWB4=; b=cogMnvdcaWVyHeMNoCgFJi4DHsi7UzfQjDr3G1zg7HEz+dOriLJ2td+VJPjEsEwXHzQ7HF enRciG1DvZdtSx/XVmJXTZHKtkOhJqH71nwz1VQlltD2cxl+u6+lu7DGKQfWLprm/9MR9Y Y8vjpSKMlaw3U9j7/AfG5M0FaXlUtUw= X-MC-Unique: iTchXHfUOym9GeJQJTYONQ-1 X-Mimecast-MFC-AGG-ID: iTchXHfUOym9GeJQJTYONQ_1752534481 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534481; x=1753139281; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ZUQMsD0OTjK6NSdPR5fnk3SR/AQMl7B+vWC0iuHgWB4=; b=H3H/eLWzmKZENkXvesWRWwx+9rPQdFVrJ18OOx69Y5t+JJUWr6qNM1Szx06R2pynvh Po4szUsk9wulNzS4ce8VZGzDbHmsOJ0p778xbBPo8vFsjbr+yz7anBAqtZNn5kRFj+xq 9a2NzL7ZzqALW1lScpWOtzwhbFu2xFzY9xhoO/5IyKwoNEiaOpDKa0Ld3ssclIi/2kVx mCgjhLlm58OGyBOlEkrEgrX/rVi7aGNevrhX5/4Fwc+Rpv9Y8XVPxZk8RSUmOJN9vC14 4kqsZ6rfBMWApOtufrCfbT6xZDAGof6YMtDzFCPo+kS7jMzVsezkGCUiKXjoQvOdxy4w 47Kg== X-Gm-Message-State: AOJu0YxcKYdSRBAaDewdX6OSck9VuIN9Q65v0tcHwztqk3xZxGEAExfR FLv4yeXdaNt5MXf017rKSrBrnRi8qWJnuRqEVctInI3oDaWkAfUUNHJsfx3/KArVxZn8VCiZQaJ XfE+A1IHtaZ9bCLQx5pqEF88AsRlMdysmgz07AhO3+Am4QD1/Auf4OONzEyJLzbOhx05VAf7Xmv YQblYWrCgP1WEIkMY3L50cFcc0/JwC9XM43A== X-Gm-Gg: ASbGnctrNw4HO1X6iwKiRADOGlj+p+FzPHC2BtJ8jxHcYd0gcPDN4B6uTemCS+6j9I9 0xVPdiu8xPONai8sA14PUdmeZ2l3XNw9iEQNpR3aOmlsFx6nY/d4vzw2fBJfpiqZAtGL1z3Ez9a eWhh0dTtQ8J/xcC0MnbBPJj1MdHT+LGAQbZvZKhNe+TWUShXoe2DA8jVS3BZtAfQgvx509bkclX iPRAfQPg9kME5FlhnQbmXXjRoSV4UVUaOwtqLuKxDtFZ3PwYiU7cE+wGf4+FlHtRtCDVFmuIA2q TB1mRkSWg4AMEDytnfUia6Ekcl3iJDkb X-Received: by 2002:a05:6000:4813:b0:3a5:6860:f47f with SMTP id ffacd0b85a97d-3b609522266mr1202418f8f.6.1752534481298; Mon, 14 Jul 2025 16:08:01 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEicwywIXnry2MwhM5a+JDwbJ7HFqb3x8zLJNA30KZVGdw5vXOlaDU+Fp4g2weqKjwAsKKD8A== X-Received: by 2002:a05:6000:4813:b0:3a5:6860:f47f with SMTP id ffacd0b85a97d-3b609522266mr1202397f8f.6.1752534480906; Mon, 14 Jul 2025 16:08:00 -0700 (PDT) Date: Mon, 14 Jul 2025 19:07:58 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Richard Henderson , Pierrick Bouvier Subject: [PULL 41/97] qemu/target-info: Add %target_arch field to TargetInfo Message-ID: <6d60578759b0fb09a3435c16837b7ecf48c56fed.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534572608116600 From: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Message-Id: <20250708215320.70426-4-philmd@linaro.org> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/qemu/target-info-impl.h | 4 +++- target-info-stub.c | 1 + target-info.c | 9 +++++++-- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/include/qemu/target-info-impl.h b/include/qemu/target-info-imp= l.h index 1b51cbcfe1..a8b34d150a 100644 --- a/include/qemu/target-info-impl.h +++ b/include/qemu/target-info-impl.h @@ -9,11 +9,13 @@ #ifndef QEMU_TARGET_INFO_IMPL_H #define QEMU_TARGET_INFO_IMPL_H =20 -#include "qemu/target-info.h" +#include "qapi/qapi-types-machine.h" =20 typedef struct TargetInfo { /* runtime equivalent of TARGET_NAME definition */ const char *target_name; + /* related to TARGET_ARCH definition */ + SysEmuTarget target_arch; /* runtime equivalent of TARGET_LONG_BITS definition */ unsigned long_bits; /* runtime equivalent of CPU_RESOLVING_TYPE definition */ diff --git a/target-info-stub.c b/target-info-stub.c index fecc0e7128..2e4407ff04 100644 --- a/target-info-stub.c +++ b/target-info-stub.c @@ -14,6 +14,7 @@ =20 static const TargetInfo target_info_stub =3D { .target_name =3D TARGET_NAME, + .target_arch =3D SYS_EMU_TARGET__MAX, .long_bits =3D TARGET_LONG_BITS, .cpu_type =3D CPU_RESOLVING_TYPE, .machine_typename =3D TYPE_MACHINE, diff --git a/target-info.c b/target-info.c index 9ebabec988..8e29553b4e 100644 --- a/target-info.c +++ b/target-info.c @@ -24,8 +24,13 @@ unsigned target_long_bits(void) =20 SysEmuTarget target_arch(void) { - return qapi_enum_parse(&SysEmuTarget_lookup, target_name(), -1, - &error_abort); + SysEmuTarget arch =3D target_info()->target_arch; + + if (arch =3D=3D SYS_EMU_TARGET__MAX) { + arch =3D qapi_enum_parse(&SysEmuTarget_lookup, target_name(), -1, + &error_abort); + } + return arch; } =20 const char *target_cpu_type(void) --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535556; cv=none; d=zohomail.com; s=zohoarc; b=WsNsHZPQjzT8/1HcZNo2Xc5qlbHLS99Sdxj44hevWzigUO+RyBjX9lppSLggSIqMMGOvoo4FLcNXzP9cF/RPdcx6TKmZXQiMBwvs9twrrgSo+1bTQ17H+NWfZruUMlUoMtIcuyDZDE3gqUuaujpEjC3uDiIQhPDlXGvcIxVZYpQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535556; 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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=zwfIzYrv4MBv7GUQsUabPZ6KXkMEaOc7eKieOXGGWEg=; b=h2hCBDbxxDS605iGuc8m160fp3KONuzfwZmFSQdRm1zHMbFNJb7xnm5aDlLVaY0+HrOtNH2/3LzpB5VqL06wpAUN0/beLyt5bvbRSuCNGSQRVBQWRKWxLu7i02od5tqRMNfHK7j88tqcmEnnGqFvBqIGt34E9XnFrHApbdowS30= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535556088448.94703645345976; Mon, 14 Jul 2025 16:25:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSHn-0008AC-3q; Mon, 14 Jul 2025 19:08:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHJ-0006BZ-2e for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:13 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHH-0005eV-Jr for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:08 -0400 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-180-QHQhHS9LPZ2hGJGn-BKyFg-1; Mon, 14 Jul 2025 19:08:05 -0400 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3a4edf5bb4dso3441229f8f.0 for ; Mon, 14 Jul 2025 16:08:05 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8bd1741sm13735871f8f.18.2025.07.14.16.08.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534486; 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=zwfIzYrv4MBv7GUQsUabPZ6KXkMEaOc7eKieOXGGWEg=; b=i9TyUPhuwDuTHYuTcOY2u16AbtV5NXJlhX+DKVqSTkux5/lNNbHRm2sEboUxCvka/nu9ML iOCnjkhIJzcIf12yvDlJ2wZtCplzmDsrT/QfNbfH8SwJ6XT+kNC1xBnw8ktMgyxz18vSgk MwoEU+ie4VQ7FPjzgzUGtaTzfpu37hg= X-MC-Unique: QHQhHS9LPZ2hGJGn-BKyFg-1 X-Mimecast-MFC-AGG-ID: QHQhHS9LPZ2hGJGn-BKyFg_1752534484 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534484; x=1753139284; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=zwfIzYrv4MBv7GUQsUabPZ6KXkMEaOc7eKieOXGGWEg=; b=Bmj/7+pTArLlF9YYq72w+noJoIQGaE0bJ4CGVFgAcQxYjbSQNwTU6h0bg9brtdOX8J Xg91cL9Il4eLV59rkKbCug/5pJ1GxV+U19svoGAo+oIrmkBNPZVvxBIHoA2Ss2D+wgH3 D776GHzounHcN3WfoP83MzKZziU8kjWI9+450Q43gYr2NkGiwVOJFdb2zb4+BMH15VZz Z5eRuBAElVnsHJeJQxSHYP9f87fQk+vysZMQMS54ZcC8Z7FoHG9ssiQmEaFZm/6rF6mF OPDSGQo9HFQiktYStWIHa3tKJmjljgtVwne4NcYBqSXOTzGE+xizROeuHbj5oLF7Vrhx X3iw== X-Gm-Message-State: AOJu0Yw5i7mlVxV4iX9ln6QcLyuCOcmAjy2/fZggXZ+N7izGcTSr1QpU jP+o2LlqvH3Nhuw3+xAXwTGvakM+r1JNRPv6j3iFG7KBdUTQEHoaaJw+5fR6TNRfVSGKvjki0py gWyOYgxLne70ax9Gm/2t8hbDLyGQ7UCDVW2I/BSJcDN+kGhBUkLrsZ+J0m6hItQa429iephzrKi bQgtMs6TjoV0QZIMk158FUbE2VXdJoBK02Fw== X-Gm-Gg: ASbGncvYU3KMhPW+m0u0s4fINDYPuAut93wnSOLxlDM9e1jtOFE1oqoK7F9HmyDlbZm /zFgjOc2eXwJB0m0KvEVaLgF5qd/uiWJTFwJpGG0rjGSGQJcwtWrgpsq3qGtmzQ5pMIOfrTjqoV ShLOXUni1unwTPXUm701pAVXNuRz6Fg+Y5X2bWowLXvs3knxQ2g9qv00Bmf05bHHHPqcTS1kPaX 4GHr1/crwmkfB8Arv2uC0ppR2HYlfldv0HHk7XI/aBDA/nY2kZELItaSSKyDG4bRVshaJxNp9RF 4fd3SRWKuNiY1TU+lcSQ1I4PjToQhG9s X-Received: by 2002:a05:6000:1378:b0:3a4:ee51:8144 with SMTP id ffacd0b85a97d-3b60a14f3c1mr205854f8f.13.1752534483845; Mon, 14 Jul 2025 16:08:03 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEmsZYuT6huZe2wvMM0CjkEFlyytrdcV9WE68nRN16ICd0Zs/XjIANdMDIp5e7cjdCGmSO0DQ== X-Received: by 2002:a05:6000:1378:b0:3a4:ee51:8144 with SMTP id ffacd0b85a97d-3b60a14f3c1mr205833f8f.13.1752534483365; Mon, 14 Jul 2025 16:08:03 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:01 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Pierrick Bouvier , Richard Henderson Subject: [PULL 42/97] qemu/target-info: Add target_endian_mode() Message-ID: <68661aa12085726b71ad43fbf2d3a813bbfdf85e.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535557580116600 From: Philippe Mathieu-Daud=C3=A9 target_endian_mode() returns the default endianness (QAPI type) of a target. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Reviewed-by: Richard Henderson Message-Id: <20250708215320.70426-5-philmd@linaro.org> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/qemu/target-info-impl.h | 2 ++ include/qemu/target-info-qapi.h | 8 ++++++++ target-info-stub.c | 1 + target-info.c | 5 +++++ 4 files changed, 16 insertions(+) diff --git a/include/qemu/target-info-impl.h b/include/qemu/target-info-imp= l.h index a8b34d150a..17887f64e2 100644 --- a/include/qemu/target-info-impl.h +++ b/include/qemu/target-info-impl.h @@ -22,6 +22,8 @@ typedef struct TargetInfo { const char *cpu_type; /* QOM typename machines for this binary must implement */ const char *machine_typename; + /* related to TARGET_BIG_ENDIAN definition */ + EndianMode endianness; } TargetInfo; =20 /** diff --git a/include/qemu/target-info-qapi.h b/include/qemu/target-info-qap= i.h index a337c867bf..d5ce052323 100644 --- a/include/qemu/target-info-qapi.h +++ b/include/qemu/target-info-qapi.h @@ -9,6 +9,7 @@ #ifndef QEMU_TARGET_INFO_EXTRA_H #define QEMU_TARGET_INFO_EXTRA_H =20 +#include "qapi/qapi-types-common.h" #include "qapi/qapi-types-machine.h" =20 /** @@ -18,4 +19,11 @@ */ SysEmuTarget target_arch(void); =20 +/** + * target_endian_mode: + * + * Returns: QAPI EndianMode enum (e.g. ENDIAN_MODE_LITTLE). + */ +EndianMode target_endian_mode(void); + #endif diff --git a/target-info-stub.c b/target-info-stub.c index 2e4407ff04..ca0caa3686 100644 --- a/target-info-stub.c +++ b/target-info-stub.c @@ -18,6 +18,7 @@ static const TargetInfo target_info_stub =3D { .long_bits =3D TARGET_LONG_BITS, .cpu_type =3D CPU_RESOLVING_TYPE, .machine_typename =3D TYPE_MACHINE, + .endianness =3D TARGET_BIG_ENDIAN ? ENDIAN_MODE_BIG : ENDIAN_MODE_LITT= LE, }; =20 const TargetInfo *target_info(void) diff --git a/target-info.c b/target-info.c index 8e29553b4e..a756c0714c 100644 --- a/target-info.c +++ b/target-info.c @@ -42,3 +42,8 @@ const char *target_machine_typename(void) { return target_info()->machine_typename; } + +EndianMode target_endian_mode(void) +{ + return target_info()->endianness; +} --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535614; cv=none; d=zohomail.com; s=zohoarc; b=FQ4t+JMRorfuFFItMJN8Kmg7cnRey+sGiTwL0TeBozZSCnuijLfrwIFjRMm964xJKYANNA03r7POvNqo/qHOv1xvSEl8cCNXjoBFQVVWC0ojRcGMQg5f2mSO61lJS9dPPVOONtDuFFacIwrjiXBtkWQmH0NaPAZ+55j+VXjXjsg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535614; 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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=L8cdFXXzqDzXY75EaUcrZ9O1kHGmzGq5u5QSMVPaWec=; b=QEc93cro4zzV/r+BZrx1kgg/r7YdFf3000ZzU244aUW1gNnSY5CwShhyJtRou6b/63qjmrydLBJfRfE8KGbRl10DOHnrUi4YtiJjJin2TlswSBFe4ElVTR5qEaq8TaSHKggPpUoPjF+wnxNjG+Xjj4ekATji5ZhGUu8pKyGPwKI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535614512571.4484625328118; Mon, 14 Jul 2025 16:26:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSIU-0003VP-Lk; Mon, 14 Jul 2025 19:09:22 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHN-0006GX-BC for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:20 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHL-0005eo-D3 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:12 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-313-F9nkDLxbMyCQGPDZAlEcFg-1; Mon, 14 Jul 2025 19:08:08 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-451ecc3be97so25168635e9.0 for ; Mon, 14 Jul 2025 16:08:07 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-455f13ec67asm105439435e9.4.2025.07.14.16.08.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534489; 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=L8cdFXXzqDzXY75EaUcrZ9O1kHGmzGq5u5QSMVPaWec=; b=Mag7cJDMAEbUvEF+CFvXdkMjlUXIWd0sStuQRRjYq0Cu9QpUphWa6iSFpq/Lx02bo32nIy 290pJZi+NvBcxewvBjGKthcxOXMWawmCHbCse0NbEG4uiyCziWWVW4roxBGKP1NRf8v9jM 0p0HRvExdAyy5kGImguqv71JFT7COp4= X-MC-Unique: F9nkDLxbMyCQGPDZAlEcFg-1 X-Mimecast-MFC-AGG-ID: F9nkDLxbMyCQGPDZAlEcFg_1752534487 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534486; x=1753139286; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=L8cdFXXzqDzXY75EaUcrZ9O1kHGmzGq5u5QSMVPaWec=; b=opFdr/pJHZh7lbkZ/qCMZBmT35SQkAayYPeHiiOC8cjRYxscGtHU0frdy7wWbplmLs C9mxZmRlMVo7UwAsw7Znvd0XobI2ZT6RiE4Xnff+oB7jGa4mzHdlHp8RSCeXoEpEqW2H ZajhDIo82eGDlMuepwFho6GknUUhw8UGb0KQs6JRo+ohQ5iV4/84wkOv9WbAZTVDz+u6 Dy7aFNsE37ZzF5XBPYnQ0c1kZdtn1YpVbHICivXZMkl0/69ClXG5BuCKKCpSQmMAQ5ON mSwHNZkpuBaOc5D9vSIgKP9f8lFFtna9zzsrj6vt6ep1hJkfk1/ELGItztaUQSL9CjXz aoGg== X-Gm-Message-State: AOJu0YzP57HkM1RDq4Yjg8OR8Kqoe6V/7EOjleYuDHmNMmQVjTCAiCuW QiDXyPloiET7OR1DMkT4HFgLqUw6XpCsqtwwOs36BZcyk1cAkFjdChZEUYQ8UYTvl5A9HSKbE0N kIxDoQMbH7o4u3MDs8sflJ0fcSd+/d7b60hcoPgbI3ady12cprD0UgCONd0P5uPiqvT2208vky8 8lybJt1FrVPuFnZhuXH1eM3ef73a5WrCAR6Q== X-Gm-Gg: ASbGncvieMqe7U6Anc0gazYghPXqPvvfd2K7dDRSCRIrRPimdJzNf9DslkqFqQXPJIr 7+XvPm1FGdagMq7W59LhtLHN2C6YjtQtSmA4P+5fT5gYYP5fNAgXTvjxidjo+pNgBgmcluwRWtx Yo9Ij1M7dRUBUvahirvhsXrYw2LkZukExs68Y0r7aZjn1i8RaoXQw13J78fN4ScymwTBODOsTTA EeAuZEvlrhHd726SwOt/F5rL4dtZquoBOmVrXQ0+iEmWFZLpUYdRAqPux6Cpbn6s+pSJmP25HQD f9SopsSS6SgQKF17R/ndZqV8YYFn0KPw X-Received: by 2002:a05:600c:5253:b0:456:2832:f98d with SMTP id 5b1f17b1804b1-4562832fb91mr297795e9.27.1752534486239; Mon, 14 Jul 2025 16:08:06 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE3OpparMvz2Pa5t/Qp00j7WItFeMgA8/YeoeIXl+CQ0++ZSAtVKcrdnXcRGuDAXUYRpri18A== X-Received: by 2002:a05:600c:5253:b0:456:2832:f98d with SMTP id 5b1f17b1804b1-4562832fb91mr297495e9.27.1752534485742; Mon, 14 Jul 2025 16:08:05 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:03 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Pierrick Bouvier , Richard Henderson , Paolo Bonzini , Eduardo Habkost , Marcel Apfelbaum , Yanan Wang , Zhao Liu , Gerd Hoffmann , Peter Xu , David Hildenbrand , Fabiano Rosas , Laurent Vivier Subject: [PULL 43/97] qemu: Convert target_words_bigendian() to TargetInfo API Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535616055116600 From: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Richard Henderson Message-Id: <20250708215320.70426-6-philmd@linaro.org> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/exec/tswap.h | 13 +------------ include/qemu/target-info.h | 12 ++++++++++++ cpu-target.c | 7 ------- hw/core/cpu-system.c | 2 +- hw/display/vga.c | 2 +- hw/virtio/virtio.c | 2 +- system/memory.c | 1 + system/qtest.c | 1 + target-info.c | 5 +++++ 9 files changed, 23 insertions(+), 22 deletions(-) diff --git a/include/exec/tswap.h b/include/exec/tswap.h index 49511f2611..55ffa63359 100644 --- a/include/exec/tswap.h +++ b/include/exec/tswap.h @@ -9,18 +9,7 @@ #define TSWAP_H =20 #include "qemu/bswap.h" - -/** - * target_big_endian: - * Returns true if the (default) endianness of the target is big endian, - * false otherwise. Common code should normally never need to know about t= he - * endianness of the target, so please do *not* use this function unless y= ou - * know very well what you are doing! - */ -bool target_big_endian(void); -#ifdef COMPILING_PER_TARGET -#define target_big_endian() TARGET_BIG_ENDIAN -#endif +#include "qemu/target-info.h" =20 /* * If we're in target-specific code, we can hard-code the swapping diff --git a/include/qemu/target-info.h b/include/qemu/target-info.h index dde0e7d968..abcf25db6f 100644 --- a/include/qemu/target-info.h +++ b/include/qemu/target-info.h @@ -38,4 +38,16 @@ const char *target_machine_typename(void); */ const char *target_cpu_type(void); =20 +/** + * target_big_endian: + * + * Returns: %true if the (default) endianness of the target is big endian, + * %false otherwise. + * + * Common code should normally never need to know about the endianness of + * the target, so please do *not* use this function unless you know very + * well what you are doing! + */ +bool target_big_endian(void); + #endif diff --git a/cpu-target.c b/cpu-target.c index 1c90a30759..20db5ff310 100644 --- a/cpu-target.c +++ b/cpu-target.c @@ -22,7 +22,6 @@ #include "system/accel-ops.h" #include "system/cpus.h" #include "exec/cpu-common.h" -#include "exec/tswap.h" #include "exec/replay-core.h" #include "exec/log.h" #include "hw/core/cpu.h" @@ -85,9 +84,3 @@ void cpu_abort(CPUState *cpu, const char *fmt, ...) #endif abort(); } - -#undef target_big_endian -bool target_big_endian(void) -{ - return TARGET_BIG_ENDIAN; -} diff --git a/hw/core/cpu-system.c b/hw/core/cpu-system.c index 3c84176a0c..a975405d3a 100644 --- a/hw/core/cpu-system.c +++ b/hw/core/cpu-system.c @@ -24,7 +24,7 @@ #include "exec/cputlb.h" #include "system/memory.h" #include "exec/tb-flush.h" -#include "exec/tswap.h" +#include "qemu/target-info.h" #include "hw/qdev-core.h" #include "hw/qdev-properties.h" #include "hw/core/sysemu-cpu-ops.h" diff --git a/hw/display/vga.c b/hw/display/vga.c index 20475ebbd3..90b89cf404 100644 --- a/hw/display/vga.c +++ b/hw/display/vga.c @@ -26,7 +26,7 @@ #include "qemu/units.h" #include "system/reset.h" #include "qapi/error.h" -#include "exec/tswap.h" +#include "qemu/target-info.h" #include "hw/display/vga.h" #include "hw/i386/x86.h" #include "hw/pci/pci.h" diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c index 82a285a31d..0f4d28033d 100644 --- a/hw/virtio/virtio.c +++ b/hw/virtio/virtio.c @@ -20,7 +20,7 @@ #include "qemu/log.h" #include "qemu/main-loop.h" #include "qemu/module.h" -#include "exec/tswap.h" +#include "qemu/target-info.h" #include "qom/object_interfaces.h" #include "hw/core/cpu.h" #include "hw/virtio/virtio.h" diff --git a/system/memory.c b/system/memory.c index e8d9b15b28..38da62f505 100644 --- a/system/memory.c +++ b/system/memory.c @@ -22,6 +22,7 @@ #include "qemu/error-report.h" #include "qemu/main-loop.h" #include "qemu/qemu-print.h" +#include "qemu/target-info.h" #include "qom/object.h" #include "trace.h" #include "system/ram_addr.h" diff --git a/system/qtest.c b/system/qtest.c index 301b03be2d..fa42c9f921 100644 --- a/system/qtest.c +++ b/system/qtest.c @@ -29,6 +29,7 @@ #include "qemu/error-report.h" #include "qemu/module.h" #include "qemu/cutils.h" +#include "qemu/target-info.h" #include "qom/object_interfaces.h" =20 #define MAX_IRQ 256 diff --git a/target-info.c b/target-info.c index a756c0714c..3110ab32f7 100644 --- a/target-info.c +++ b/target-info.c @@ -47,3 +47,8 @@ EndianMode target_endian_mode(void) { return target_info()->endianness; } + +bool target_big_endian(void) +{ + return target_endian_mode() =3D=3D ENDIAN_MODE_BIG; +} --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535016; cv=none; d=zohomail.com; s=zohoarc; b=WR8vrpoWbnFWUMFa1pvDqBKHNqEW4QC835NT6/4JE4BOtawgWHadzaEJ14HXx0RwkENgLJWmX0z3M8SNbrCyfe9prGEUgbmrtoYKh3+z4OLFtdS+1XJ6dAsQwPy74uuSHrKLFgi/XIBK9fN0yR9eO1iN7pLgdrQkpC+bjz5yBmI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535016; 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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=dbxQM6MkMC8CfUCcdkREoYX34HGmxCh+T/dmT65bbE8=; b=PTm9e3sBJBw46B2gbqmpYwK1qgFQpYuRwQvlTNheAXA3zG/6zl273HCiVFaS71xWa+pAp8PXfRbQBg10XW8UirOqstwocBCTvRqp6RhV2IoNk5uPufLkNm9ShAailVgj92HmCQ9iHbcs7Qz8Uj8oLw3JFievYXCjOOE86xnUV7k= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535016159598.3786156175793; Mon, 14 Jul 2025 16:16:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSHv-0000qt-Pb; Mon, 14 Jul 2025 19:08:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHN-0006Gg-Bm for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:20 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHL-0005et-I8 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:12 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-649-jEAMHkKVOICWUa3jJS8B7w-1; Mon, 14 Jul 2025 19:08:09 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-451d30992bcso37909345e9.2 for ; Mon, 14 Jul 2025 16:08:09 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8bd180fsm13367383f8f.2.2025.07.14.16.08.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534490; 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=dbxQM6MkMC8CfUCcdkREoYX34HGmxCh+T/dmT65bbE8=; b=A5sdu4TRDzVAH89L44veXBaHEUMzq8pPtSn7HKBChQb8ptng1nKoyfHM5WiiwnY1V7xZN3 kCN18ZgJfma0evNs5Vy+Uz6Isi8paaJVgSKSz+M3d+k5Q0ElPec9I4T9vb3sshX2hgpkQi KFu+jk+0KjnvQu6b/5dIrhsCbHnubt8= X-MC-Unique: jEAMHkKVOICWUa3jJS8B7w-1 X-Mimecast-MFC-AGG-ID: jEAMHkKVOICWUa3jJS8B7w_1752534488 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534488; x=1753139288; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=dbxQM6MkMC8CfUCcdkREoYX34HGmxCh+T/dmT65bbE8=; b=fmnUz/vi8+XKayw/GHw1cHTw35UjPH9mcyHvad7lkbi2GPXGTRAw0zMbA0RyPRzu6o Ygo3XxUuj+5MBuzWWZadDKUf4cRxlVaG8MPnVU71ygZ2z045VW6e/19FZI+HwQBvB3HP oMwwUmLg4FkcYemLQRGzgicwX44mRRLtHcBLiMl7WS06UyCl+X7aP5Mp0iOjg4HECh3W zjitrzrcNMgRVYMkqoziWvmW0DZRXEpFkQANSIiLwcrxS8th9SICGxl3sF/58N9Ma9e+ EegvjWuY4YxbdN5mx6i2+xURG5ekYhEgcALnyPuWf2gjU2EDMDeFyDnkVPzkAyD5N9vZ LbCA== X-Gm-Message-State: AOJu0YxJ7O1Bdu7Som8pzvdGRuT0itA/weG+VOFgjl2KEN84GFKkWKFO +TkqmhROtRNZIIoN+3Xx/T3F62ueuDpEBruHgoc/PzVvUx4nq50jMoylvEfmardunZdfY8L789F bp8xjwRtgCG05ytIQzXgaFY4FRMUTAyIikDthRjpTrkzXMSy9oV6kft7C52eG9TxR4N2vE2cHF1 aU0+DQX4ieSBHt0WaQ8EzqMxtD1nytg7nx6Q== X-Gm-Gg: ASbGncuqy18poJgHZh0uiWCT0Ide546IUJv4YeIlcd6P0Kws/jGUS6Er0U4gZuRKrTE b9Qk8Xh3yrePVk1fbkjMTgqRkUHyMhwHu2FjpPKz6JC8E6gZ+WoVgCaO099A4dBA9kkDH32Geyg PV7gD+DVznyzl9QEAsefveEisHVyRu+HVktK0R9lJWMF9Ws8NoipFubbVU3yArmZKlsFWNk8e2p tT7adDlMV1Wg8/ldFgVKDtpVghCyHy9GgbBkK5SNpiCTBVXM/Rv3c8z6OaHAeB71d9RVgaDRpjg 8TVBMSJEK0ytS3C1mjRfM3cAmKV2FRT/ X-Received: by 2002:a05:600c:a03:b0:43c:fdbe:4398 with SMTP id 5b1f17b1804b1-454ec14d7a9mr133129945e9.6.1752534488144; Mon, 14 Jul 2025 16:08:08 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHcK+6c/Zuwu4v8gbquTOu2jYiwSmqqsPM6OBxRXI6TfGcuA4e3RJBMMsOKw4r+EcX7BYHMHA== X-Received: by 2002:a05:600c:a03:b0:43c:fdbe:4398 with SMTP id 5b1f17b1804b1-454ec14d7a9mr133129755e9.6.1752534487651; Mon, 14 Jul 2025 16:08:07 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:05 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Richard Henderson , Manos Pitsidianakis , Alex =?utf-8?Q?Benn=C3=A9e?= Subject: [PULL 44/97] gdbstub/helpers: Replace TARGET_BIG_ENDIAN -> target_big_endian() Message-ID: <617017448439fff450932b19c9eab17c8904e4e5.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535018549116600 From: Philippe Mathieu-Daud=C3=A9 Check endianness at runtime to remove the target-specific TARGET_BIG_ENDIAN definition. Use cpu_to_[be,le]XX() from "qemu/bswap.h" instead of tswapXX() from "exec/tswap.h". Suggested-by: Richard Henderson Signed-off-by: Philippe Mathieu-Daud=C3=A9 Message-Id: <20250708215320.70426-7-philmd@linaro.org> Reviewed-by: Manos Pitsidianakis Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/gdbstub/helpers.h | 48 +++++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/include/gdbstub/helpers.h b/include/gdbstub/helpers.h index 6f7cc48adc..b685afac43 100644 --- a/include/gdbstub/helpers.h +++ b/include/gdbstub/helpers.h @@ -16,7 +16,8 @@ #error "gdbstub helpers should only be included by target specific code" #endif =20 -#include "exec/tswap.h" +#include "qemu/bswap.h" +#include "qemu/target-info.h" #include "cpu-param.h" =20 /* @@ -33,40 +34,49 @@ static inline int gdb_get_reg8(GByteArray *buf, uint8_t= val) =20 static inline int gdb_get_reg16(GByteArray *buf, uint16_t val) { - uint16_t to_word =3D tswap16(val); - g_byte_array_append(buf, (uint8_t *) &to_word, 2); + if (target_big_endian()) { + cpu_to_be16s(&val); + } else { + cpu_to_le16s(&val); + } + g_byte_array_append(buf, (uint8_t *) &val, 2); return 2; } =20 static inline int gdb_get_reg32(GByteArray *buf, uint32_t val) { - uint32_t to_long =3D tswap32(val); - g_byte_array_append(buf, (uint8_t *) &to_long, 4); + if (target_big_endian()) { + cpu_to_be32s(&val); + } else { + cpu_to_le32s(&val); + } + g_byte_array_append(buf, (uint8_t *) &val, 4); return 4; } =20 static inline int gdb_get_reg64(GByteArray *buf, uint64_t val) { - uint64_t to_quad =3D tswap64(val); - g_byte_array_append(buf, (uint8_t *) &to_quad, 8); + if (target_big_endian()) { + cpu_to_be64s(&val); + } else { + cpu_to_le64s(&val); + } + g_byte_array_append(buf, (uint8_t *) &val, 8); return 8; } =20 static inline int gdb_get_reg128(GByteArray *buf, uint64_t val_hi, uint64_t val_lo) { - uint64_t to_quad; -#if TARGET_BIG_ENDIAN - to_quad =3D tswap64(val_hi); - g_byte_array_append(buf, (uint8_t *) &to_quad, 8); - to_quad =3D tswap64(val_lo); - g_byte_array_append(buf, (uint8_t *) &to_quad, 8); -#else - to_quad =3D tswap64(val_lo); - g_byte_array_append(buf, (uint8_t *) &to_quad, 8); - to_quad =3D tswap64(val_hi); - g_byte_array_append(buf, (uint8_t *) &to_quad, 8); -#endif + uint64_t tmp[2]; + if (target_big_endian()) { + tmp[0] =3D cpu_to_be64(val_hi); + tmp[1] =3D cpu_to_be64(val_lo); + } else { + tmp[0] =3D cpu_to_le64(val_lo); + tmp[1] =3D cpu_to_le64(val_hi); + } + g_byte_array_append(buf, (uint8_t *)&tmp, 16); return 16; } =20 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535644; cv=none; d=zohomail.com; s=zohoarc; b=EFLasgibC2Yq6ocgXcJUvUuQK1HFz16GDzPawX43kcczQ5mTT4RvyBjSwI8lWl1UOxc5igK9rdwGc698z7C+gExSJBHWx5K2DKexqDUT8gQ8guy6nLjE0gsfYKpX7zI2MqtXvE1WGAWsbPD4O8GMge+LUP6yEB9sCTnN10yhQOQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535644; 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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=znDa8XirYCFJbWIhb2Af4aUAACoax7sDJMNQccypmgY=; b=VKS/EgWIPjtM3kU6f4O7h9VuL1wxD2LrM05mTgPOrnNg31a9egf3z2uQU9KasAkzdz12rz36ZpASkRP+HuUw94cPRYxRPpx/HxkV8mUqdGBGVyeE0ru1cE1mRQwfXresZb9C/K9yuXq6uyLo6erd6xDQVf7OlD7xjCOBRH9Xyy4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535644691961.3197148174263; Mon, 14 Jul 2025 16:27:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSIU-0003VH-Av; Mon, 14 Jul 2025 19:09:23 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHY-0006WO-3s for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:25 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHU-0005fx-CC for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:23 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-675-o5rxuQa4NnS08HCjG41i1A-1; Mon, 14 Jul 2025 19:08:15 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-451d7de4ae3so30616335e9.2 for ; Mon, 14 Jul 2025 16:08:15 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e1e1a5sm13319208f8f.74.2025.07.14.16.08.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534496; 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=znDa8XirYCFJbWIhb2Af4aUAACoax7sDJMNQccypmgY=; b=bmB/g1rNlF0uKwag5pk7E+sX8syP9fYI0wQAqQrSEzkM6eiBKiwHnrsLAUNjFVJAiTPBIQ RqLpsxhV6VHq2g2uVUxLa2WaanRzdG8fB3BmKB/zCD3oTgVV10KTDAI4NIXehceNeFYPi/ BPZY2ivxpfFE4QRHKd9USUKv3AG3T5s= X-MC-Unique: o5rxuQa4NnS08HCjG41i1A-1 X-Mimecast-MFC-AGG-ID: o5rxuQa4NnS08HCjG41i1A_1752534494 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534494; x=1753139294; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=znDa8XirYCFJbWIhb2Af4aUAACoax7sDJMNQccypmgY=; b=VYOLm5i7jQUpJVxOL4eh3kMWEc/IolM8nS6qVWGb6qjva89CeeqNQrbpGTDTERTWGx A/pXq+5a8NWkv1YEtEl21qlDoyh4P8RhsbZ5A3rB9CC1vNtHAW+HnTY/uHAnFpse+pQJ thUEgIauUEJAcBVmtIo0r4F9Eq+j9ZQ0GYfibUucbdvOyXv/0iEw+Q7DHGHvqOQOp/zl 2ulCZ2Eb5ejLCi7g4wfpOw5GEFbiCnTiPG1N13eGmF8/woIurzFRNAMqyHVPTcIIIE6A 1ryp1ICNN7STtdfH+KhlCAcVT6Cz3+bO5P3G+Y/yBzKfegaNGYvelFEgxsH857stGNLo 64xQ== X-Gm-Message-State: AOJu0YwOHZRRqlnfiV41WKwEHPmGALEPULGfzCx6QXwnyEwgg6eeZgJc 7LprAVmVZwGMyNkghzLfVu3Gf05kFoxuoqCTQu1yj92OFLYAf5soQzdV5kkKGQV3ppjrS+4CBvG 8n/5Pbv1Zxjw/FI7HBdC/AytS/lL00B6rjYGvwI31MtGL/F1diklHgrvLn1IPZf/er/U+YIwN3d X3eQpUTgqCIUUfVDeAHsi+nAuEtKDsZ4/9tw== X-Gm-Gg: ASbGncvx+01SlArK9MMyfUyF3kvCm6RhXLQjOy92XmOba4tL9HKeoDPKFX3qNd1guCx SwtVB+lNc3pKVsgax6rSMHO7lEHAgfq6hNvKzSi8DQWtju6Sa0cdZvAUrFnnqE7uKIwxoOwGgRf QMvudo1d/QPszgOcCXGDamvwCph+rksW80Ib3DfSO2ZlSQsZFRAX1C6qAatTuZs4r1DeHzSu943 2tiAHnruu4ETSq21NZMwCztPKwAqTGk+0u3GBypyg1bK82TEWb01Wi8gqbPCrg1FZasv8oATbvc 0FmamXYXbsRAOciLsVn32tcLLAmwVp2Z X-Received: by 2002:a05:600c:828a:b0:43d:9d5:474d with SMTP id 5b1f17b1804b1-455c6197d55mr141928085e9.0.1752534493617; Mon, 14 Jul 2025 16:08:13 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHFOBZwLVasnDGXxo7PcIhkhMSsBXmPalH67I/3pXuAZnmMcCgfXiEqomQSofGdSHOiwHMvsw== X-Received: by 2002:a05:600c:828a:b0:43d:9d5:474d with SMTP id 5b1f17b1804b1-455c6197d55mr141927245e9.0.1752534492838; Mon, 14 Jul 2025 16:08:12 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:07 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Pierrick Bouvier , Igor Mammedov , Ani Sinha , Beniamino Galvani , Strahinja Jankovic , Tyrone Ting , Hao Wu , John Snow , Kevin Wolf , Hanna Reitz , Palmer Dabbelt , Alistair Francis , Weiwei Li , Daniel Henrique Barboza , Liu Zhiwei , =?utf-8?Q?Marc-Andr=C3=A9?= Lureau , Paolo Bonzini , Jonathan Cameron , Fan Ni , Richard Henderson , Helge Deller , Pavel Pisa , Francisco Iglesias , Vikram Garhwal , Jason Wang , Dmitry Fleytman , Aurelien Jarno , Nicholas Piggin , =?utf-8?B?RnLDqWTDqXJpYw==?= Barrat , Bernhard Beschow , Yoshinori Sato , Magnus Damm , Matthew Rosato , Eric Farman , Thomas Huth , Halil Pasic , Christian Borntraeger , David Hildenbrand , Ilya Leoshkevich , Alex Williamson , =?utf-8?Q?C=C3=A9dric?= Le Goater , Alexander Graf , Phil Dennis-Jordan , Peter Xu , Riku Voipio , Eduardo Habkost , Zhao Liu , Alex =?utf-8?Q?Benn=C3=A9e?= , Alexandre Iooss , Mahmoud Mandour , qemu-arm@nongnu.org, qemu-block@nongnu.org, qemu-riscv@nongnu.org, qemu-ppc@nongnu.org, qemu-s390x@nongnu.org Subject: [PULL 45/97] qemu: Declare all load/store helper in 'qemu/bswap.h' Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535647871116600 From: Philippe Mathieu-Daud=C3=A9 Restrict "exec/tswap.h" to the tswap*() methods, move the load/store helpers with the other ones declared in "qemu/bswap.h". Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Pierrick Bouvier Message-Id: <20250708215320.70426-8-philmd@linaro.org> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/exec/tswap.h | 70 -------------------------- include/qemu/bswap.h | 73 ++++++++++++++++++++++++++++ include/system/memory.h | 1 - include/user/abitypes.h | 1 - target/ppc/mmu-hash64.h | 2 - hw/acpi/bios-linker-loader.c | 2 - hw/arm/allwinner-r40.c | 1 - hw/arm/boot.c | 2 + hw/arm/npcm7xx.c | 2 +- hw/block/hd-geometry.c | 1 - hw/char/riscv_htif.c | 1 - hw/cxl/cxl-events.c | 2 - hw/display/artist.c | 1 + hw/display/ati.c | 1 + hw/net/can/ctucan_core.c | 1 - hw/net/lan9118.c | 1 + hw/net/rtl8139.c | 1 + hw/net/vmxnet3.c | 1 - hw/pci-host/gt64120.c | 1 + hw/pci-host/pnv_phb3.c | 1 + hw/pci-host/pnv_phb4.c | 1 + hw/pci-host/ppce500.c | 1 - hw/pci-host/sh_pci.c | 1 - hw/s390x/s390-pci-inst.c | 1 + hw/sensor/lsm303dlhc_mag.c | 1 - hw/smbios/smbios.c | 1 + hw/vfio/migration-multifd.c | 1 - hw/virtio/virtio-pci.c | 1 + hw/vmapple/virtio-blk.c | 1 - target/arm/cpu.c | 1 - target/i386/tcg/system/excp_helper.c | 1 - target/i386/xsave_helper.c | 1 - target/riscv/vector_helper.c | 1 - tests/tcg/plugins/mem.c | 1 + 34 files changed, 87 insertions(+), 93 deletions(-) diff --git a/include/exec/tswap.h b/include/exec/tswap.h index 55ffa63359..72219e2c43 100644 --- a/include/exec/tswap.h +++ b/include/exec/tswap.h @@ -69,74 +69,4 @@ static inline void tswap64s(uint64_t *s) } } =20 -/* Return ld{word}_{le,be}_p following target endianness. */ -#define LOAD_IMPL(word, args...) \ -do { \ - if (target_big_endian()) { \ - return glue(glue(ld, word), _be_p)(args); \ - } else { \ - return glue(glue(ld, word), _le_p)(args); \ - } \ -} while (0) - -static inline int lduw_p(const void *ptr) -{ - LOAD_IMPL(uw, ptr); -} - -static inline int ldsw_p(const void *ptr) -{ - LOAD_IMPL(sw, ptr); -} - -static inline int ldl_p(const void *ptr) -{ - LOAD_IMPL(l, ptr); -} - -static inline uint64_t ldq_p(const void *ptr) -{ - LOAD_IMPL(q, ptr); -} - -static inline uint64_t ldn_p(const void *ptr, int sz) -{ - LOAD_IMPL(n, ptr, sz); -} - -#undef LOAD_IMPL - -/* Call st{word}_{le,be}_p following target endianness. */ -#define STORE_IMPL(word, args...) \ -do { \ - if (target_big_endian()) { \ - glue(glue(st, word), _be_p)(args); \ - } else { \ - glue(glue(st, word), _le_p)(args); \ - } \ -} while (0) - - -static inline void stw_p(void *ptr, uint16_t v) -{ - STORE_IMPL(w, ptr, v); -} - -static inline void stl_p(void *ptr, uint32_t v) -{ - STORE_IMPL(l, ptr, v); -} - -static inline void stq_p(void *ptr, uint64_t v) -{ - STORE_IMPL(q, ptr, v); -} - -static inline void stn_p(void *ptr, int sz, uint64_t v) -{ - STORE_IMPL(n, ptr, sz, v); -} - -#undef STORE_IMPL - #endif /* TSWAP_H */ diff --git a/include/qemu/bswap.h b/include/qemu/bswap.h index 9a11764536..39ba64046a 100644 --- a/include/qemu/bswap.h +++ b/include/qemu/bswap.h @@ -1,6 +1,8 @@ #ifndef BSWAP_H #define BSWAP_H =20 +#include "qemu/target-info.h" + #undef bswap16 #define bswap16(_x) __builtin_bswap16(_x) #undef bswap32 @@ -432,4 +434,75 @@ DO_STN_LDN_P(be) #undef le_bswaps #undef be_bswaps =20 + +/* Return ld{word}_{le,be}_p following target endianness. */ +#define LOAD_IMPL(word, args...) \ +do { \ + if (target_big_endian()) { \ + return glue(glue(ld, word), _be_p)(args); \ + } else { \ + return glue(glue(ld, word), _le_p)(args); \ + } \ +} while (0) + +static inline int lduw_p(const void *ptr) +{ + LOAD_IMPL(uw, ptr); +} + +static inline int ldsw_p(const void *ptr) +{ + LOAD_IMPL(sw, ptr); +} + +static inline int ldl_p(const void *ptr) +{ + LOAD_IMPL(l, ptr); +} + +static inline uint64_t ldq_p(const void *ptr) +{ + LOAD_IMPL(q, ptr); +} + +static inline uint64_t ldn_p(const void *ptr, int sz) +{ + LOAD_IMPL(n, ptr, sz); +} + +#undef LOAD_IMPL + +/* Call st{word}_{le,be}_p following target endianness. */ +#define STORE_IMPL(word, args...) \ +do { \ + if (target_big_endian()) { \ + glue(glue(st, word), _be_p)(args); \ + } else { \ + glue(glue(st, word), _le_p)(args); \ + } \ +} while (0) + + +static inline void stw_p(void *ptr, uint16_t v) +{ + STORE_IMPL(w, ptr, v); +} + +static inline void stl_p(void *ptr, uint32_t v) +{ + STORE_IMPL(l, ptr, v); +} + +static inline void stq_p(void *ptr, uint64_t v) +{ + STORE_IMPL(q, ptr, v); +} + +static inline void stn_p(void *ptr, int sz, uint64_t v) +{ + STORE_IMPL(n, ptr, sz, v); +} + +#undef STORE_IMPL + #endif /* BSWAP_H */ diff --git a/include/system/memory.h b/include/system/memory.h index d6d069fd50..e2cd6ed126 100644 --- a/include/system/memory.h +++ b/include/system/memory.h @@ -19,7 +19,6 @@ #include "exec/memattrs.h" #include "exec/memop.h" #include "exec/ramlist.h" -#include "exec/tswap.h" #include "qemu/bswap.h" #include "qemu/queue.h" #include "qemu/int128.h" diff --git a/include/user/abitypes.h b/include/user/abitypes.h index 7528124b62..be7a876523 100644 --- a/include/user/abitypes.h +++ b/include/user/abitypes.h @@ -6,7 +6,6 @@ #endif =20 #include "exec/cpu-defs.h" -#include "exec/tswap.h" #include "user/tswap-target.h" =20 #ifdef TARGET_ABI32 diff --git a/target/ppc/mmu-hash64.h b/target/ppc/mmu-hash64.h index b8fb12a970..ae8d4b37ae 100644 --- a/target/ppc/mmu-hash64.h +++ b/target/ppc/mmu-hash64.h @@ -1,8 +1,6 @@ #ifndef MMU_HASH64_H #define MMU_HASH64_H =20 -#include "exec/tswap.h" - #ifndef CONFIG_USER_ONLY =20 #ifdef TARGET_PPC64 diff --git a/hw/acpi/bios-linker-loader.c b/hw/acpi/bios-linker-loader.c index 108061828b..c9ffe449aa 100644 --- a/hw/acpi/bios-linker-loader.c +++ b/hw/acpi/bios-linker-loader.c @@ -22,8 +22,6 @@ #include "hw/acpi/bios-linker-loader.h" #include "hw/nvram/fw_cfg.h" =20 -#include "qemu/bswap.h" - /* * Linker/loader is a paravirtualized interface that passes commands to gu= est. * The commands can be used to request guest to diff --git a/hw/arm/allwinner-r40.c b/hw/arm/allwinner-r40.c index 0bf700865c..c8eda39957 100644 --- a/hw/arm/allwinner-r40.c +++ b/hw/arm/allwinner-r40.c @@ -20,7 +20,6 @@ #include "qemu/osdep.h" #include "qapi/error.h" #include "qemu/error-report.h" -#include "qemu/bswap.h" #include "qemu/module.h" #include "qemu/units.h" #include "hw/boards.h" diff --git a/hw/arm/boot.c b/hw/arm/boot.c index becd827af1..d391cd01bb 100644 --- a/hw/arm/boot.c +++ b/hw/arm/boot.c @@ -15,6 +15,7 @@ #include "hw/arm/boot.h" #include "hw/arm/linux-boot-if.h" #include "cpu.h" +#include "exec/tswap.h" #include "exec/target_page.h" #include "system/kvm.h" #include "system/tcg.h" @@ -29,6 +30,7 @@ #include "qemu/config-file.h" #include "qemu/option.h" #include "qemu/units.h" +#include "qemu/bswap.h" =20 /* Kernel boot protocol is specified in the kernel docs * Documentation/arm/Booting and Documentation/arm64/booting.txt diff --git a/hw/arm/npcm7xx.c b/hw/arm/npcm7xx.c index 2f30c49df5..ecfae328a9 100644 --- a/hw/arm/npcm7xx.c +++ b/hw/arm/npcm7xx.c @@ -24,7 +24,7 @@ #include "hw/qdev-clock.h" #include "hw/qdev-properties.h" #include "qapi/error.h" -#include "qemu/bswap.h" +#include "exec/tswap.h" #include "qemu/units.h" #include "system/system.h" #include "target/arm/cpu-qom.h" diff --git a/hw/block/hd-geometry.c b/hw/block/hd-geometry.c index f3939e73f4..db221901cf 100644 --- a/hw/block/hd-geometry.c +++ b/hw/block/hd-geometry.c @@ -33,7 +33,6 @@ #include "qemu/osdep.h" #include "system/block-backend.h" #include "qapi/qapi-types-block.h" -#include "qemu/bswap.h" #include "hw/block/block.h" #include "trace.h" =20 diff --git a/hw/char/riscv_htif.c b/hw/char/riscv_htif.c index c884be5d75..a78ea9b01c 100644 --- a/hw/char/riscv_htif.c +++ b/hw/char/riscv_htif.c @@ -29,7 +29,6 @@ #include "qemu/timer.h" #include "qemu/error-report.h" #include "system/address-spaces.h" -#include "exec/tswap.h" #include "system/dma.h" #include "system/runstate.h" #include "trace.h" diff --git a/hw/cxl/cxl-events.c b/hw/cxl/cxl-events.c index 12dee2e467..f90470930d 100644 --- a/hw/cxl/cxl-events.c +++ b/hw/cxl/cxl-events.c @@ -8,8 +8,6 @@ */ =20 #include "qemu/osdep.h" - -#include "qemu/bswap.h" #include "qemu/error-report.h" #include "hw/pci/msi.h" #include "hw/pci/msix.h" diff --git a/hw/display/artist.c b/hw/display/artist.c index 3fafc8a222..3c884c9243 100644 --- a/hw/display/artist.c +++ b/hw/display/artist.c @@ -12,6 +12,7 @@ #include "qemu/log.h" #include "qemu/module.h" #include "qemu/units.h" +#include "qemu/bswap.h" #include "qapi/error.h" #include "hw/sysbus.h" #include "hw/loader.h" diff --git a/hw/display/ati.c b/hw/display/ati.c index 7de27732cd..f7c0006a87 100644 --- a/hw/display/ati.c +++ b/hw/display/ati.c @@ -22,6 +22,7 @@ #include "vga-access.h" #include "hw/qdev-properties.h" #include "vga_regs.h" +#include "qemu/bswap.h" #include "qemu/log.h" #include "qemu/module.h" #include "qemu/error-report.h" diff --git a/hw/net/can/ctucan_core.c b/hw/net/can/ctucan_core.c index 17131a4e18..6bd99c477b 100644 --- a/hw/net/can/ctucan_core.c +++ b/hw/net/can/ctucan_core.c @@ -28,7 +28,6 @@ =20 #include "qemu/osdep.h" #include "qemu/log.h" -#include "qemu/bswap.h" #include "qemu/bitops.h" #include "hw/irq.h" #include "migration/vmstate.h" diff --git a/hw/net/lan9118.c b/hw/net/lan9118.c index 6dda1e5c94..3017e12971 100644 --- a/hw/net/lan9118.c +++ b/hw/net/lan9118.c @@ -21,6 +21,7 @@ #include "hw/ptimer.h" #include "hw/qdev-properties.h" #include "qapi/error.h" +#include "qemu/bswap.h" #include "qemu/log.h" #include "qemu/module.h" #include /* for crc32 */ diff --git a/hw/net/rtl8139.c b/hw/net/rtl8139.c index 654a087d80..324fb932aa 100644 --- a/hw/net/rtl8139.c +++ b/hw/net/rtl8139.c @@ -57,6 +57,7 @@ #include "system/dma.h" #include "qemu/module.h" #include "qemu/timer.h" +#include "qemu/bswap.h" #include "net/net.h" #include "net/eth.h" #include "system/system.h" diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c index 7c0ca56b7c..af73aa8ef2 100644 --- a/hw/net/vmxnet3.c +++ b/hw/net/vmxnet3.c @@ -22,7 +22,6 @@ #include "net/tap.h" #include "net/checksum.h" #include "system/system.h" -#include "qemu/bswap.h" #include "qemu/log.h" #include "qemu/module.h" #include "hw/pci/msix.h" diff --git a/hw/pci-host/gt64120.c b/hw/pci-host/gt64120.c index b12a25696c..b1d96f62fe 100644 --- a/hw/pci-host/gt64120.c +++ b/hw/pci-host/gt64120.c @@ -28,6 +28,7 @@ #include "qapi/error.h" #include "qemu/units.h" #include "qemu/log.h" +#include "qemu/bswap.h" #include "hw/qdev-properties.h" #include "hw/registerfields.h" #include "hw/pci/pci_device.h" diff --git a/hw/pci-host/pnv_phb3.c b/hw/pci-host/pnv_phb3.c index a4335f44f2..5d8383fac3 100644 --- a/hw/pci-host/pnv_phb3.c +++ b/hw/pci-host/pnv_phb3.c @@ -8,6 +8,7 @@ */ #include "qemu/osdep.h" #include "qemu/log.h" +#include "qemu/bswap.h" #include "qapi/visitor.h" #include "qapi/error.h" #include "hw/pci-host/pnv_phb3_regs.h" diff --git a/hw/pci-host/pnv_phb4.c b/hw/pci-host/pnv_phb4.c index 77ea35299d..18992054e8 100644 --- a/hw/pci-host/pnv_phb4.c +++ b/hw/pci-host/pnv_phb4.c @@ -8,6 +8,7 @@ */ #include "qemu/osdep.h" #include "qemu/log.h" +#include "qemu/bswap.h" #include "qapi/visitor.h" #include "qapi/error.h" #include "target/ppc/cpu.h" diff --git a/hw/pci-host/ppce500.c b/hw/pci-host/ppce500.c index 52269b05bb..975d191ccb 100644 --- a/hw/pci-host/ppce500.c +++ b/hw/pci-host/ppce500.c @@ -20,7 +20,6 @@ #include "migration/vmstate.h" #include "hw/pci/pci_device.h" #include "hw/pci/pci_host.h" -#include "qemu/bswap.h" #include "hw/pci-host/ppce500.h" #include "qom/object.h" =20 diff --git a/hw/pci-host/sh_pci.c b/hw/pci-host/sh_pci.c index de8f6a84aa..62fb945075 100644 --- a/hw/pci-host/sh_pci.c +++ b/hw/pci-host/sh_pci.c @@ -28,7 +28,6 @@ #include "hw/irq.h" #include "hw/pci/pci_device.h" #include "hw/pci/pci_host.h" -#include "qemu/bswap.h" #include "qemu/module.h" #include "qom/object.h" =20 diff --git a/hw/s390x/s390-pci-inst.c b/hw/s390x/s390-pci-inst.c index b5dddb22b8..a3bb5aa221 100644 --- a/hw/s390x/s390-pci-inst.c +++ b/hw/s390x/s390-pci-inst.c @@ -16,6 +16,7 @@ #include "exec/target_page.h" #include "system/memory.h" #include "qemu/error-report.h" +#include "qemu/bswap.h" #include "system/hw_accel.h" #include "hw/boards.h" #include "hw/pci/pci_device.h" diff --git a/hw/sensor/lsm303dlhc_mag.c b/hw/sensor/lsm303dlhc_mag.c index f9e501da84..cd5773ae64 100644 --- a/hw/sensor/lsm303dlhc_mag.c +++ b/hw/sensor/lsm303dlhc_mag.c @@ -28,7 +28,6 @@ #include "qapi/visitor.h" #include "qemu/module.h" #include "qemu/log.h" -#include "qemu/bswap.h" =20 enum LSM303DLHCMagReg { LSM303DLHC_MAG_REG_CRA =3D 0x00, diff --git a/hw/smbios/smbios.c b/hw/smbios/smbios.c index ad4cd6721e..1ac063cfb4 100644 --- a/hw/smbios/smbios.c +++ b/hw/smbios/smbios.c @@ -17,6 +17,7 @@ =20 #include "qemu/osdep.h" #include "qemu/units.h" +#include "qemu/bswap.h" #include "qapi/error.h" #include "qemu/config-file.h" #include "qemu/module.h" diff --git a/hw/vfio/migration-multifd.c b/hw/vfio/migration-multifd.c index 55635486c8..9dc70fdf16 100644 --- a/hw/vfio/migration-multifd.c +++ b/hw/vfio/migration-multifd.c @@ -13,7 +13,6 @@ #include "hw/vfio/vfio-device.h" #include "migration/misc.h" #include "qapi/error.h" -#include "qemu/bswap.h" #include "qemu/error-report.h" #include "qemu/lockable.h" #include "qemu/main-loop.h" diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c index fba2372c93..767216d795 100644 --- a/hw/virtio/virtio-pci.c +++ b/hw/virtio/virtio-pci.c @@ -30,6 +30,7 @@ #include "qemu/error-report.h" #include "qemu/log.h" #include "qemu/module.h" +#include "qemu/bswap.h" #include "hw/pci/msi.h" #include "hw/pci/msix.h" #include "hw/loader.h" diff --git a/hw/vmapple/virtio-blk.c b/hw/vmapple/virtio-blk.c index 532b5649ab..9de9aaae0b 100644 --- a/hw/vmapple/virtio-blk.c +++ b/hw/vmapple/virtio-blk.c @@ -19,7 +19,6 @@ #include "hw/vmapple/vmapple.h" #include "hw/virtio/virtio-blk.h" #include "hw/virtio/virtio-pci.h" -#include "qemu/bswap.h" #include "qemu/log.h" #include "qemu/module.h" #include "qapi/error.h" diff --git a/target/arm/cpu.c b/target/arm/cpu.c index 08c43f674a..e2b2337399 100644 --- a/target/arm/cpu.c +++ b/target/arm/cpu.c @@ -23,7 +23,6 @@ #include "qemu/timer.h" #include "qemu/log.h" #include "exec/page-vary.h" -#include "exec/tswap.h" #include "target/arm/idau.h" #include "qemu/module.h" #include "qapi/error.h" diff --git a/target/i386/tcg/system/excp_helper.c b/target/i386/tcg/system/= excp_helper.c index c162621587..50040f6fca 100644 --- a/target/i386/tcg/system/excp_helper.c +++ b/target/i386/tcg/system/excp_helper.c @@ -25,7 +25,6 @@ #include "exec/page-protection.h" #include "exec/target_page.h" #include "exec/tlb-flags.h" -#include "exec/tswap.h" #include "tcg/helper-tcg.h" =20 typedef struct TranslateParams { diff --git a/target/i386/xsave_helper.c b/target/i386/xsave_helper.c index 24ab7be8e9..996e9f3bfe 100644 --- a/target/i386/xsave_helper.c +++ b/target/i386/xsave_helper.c @@ -5,7 +5,6 @@ #include "qemu/osdep.h" =20 #include "cpu.h" -#include "exec/tswap.h" =20 void x86_cpu_xsave_all_areas(X86CPU *cpu, void *buf, uint32_t buflen) { diff --git a/target/riscv/vector_helper.c b/target/riscv/vector_helper.c index b41c29da0b..7c67d67a13 100644 --- a/target/riscv/vector_helper.c +++ b/target/riscv/vector_helper.c @@ -27,7 +27,6 @@ #include "exec/helper-proto.h" #include "exec/tlb-flags.h" #include "exec/target_page.h" -#include "exec/tswap.h" #include "fpu/softfloat.h" #include "tcg/tcg-gvec-desc.h" #include "internals.h" diff --git a/tests/tcg/plugins/mem.c b/tests/tcg/plugins/mem.c index ca4e8883dd..9649bce99c 100644 --- a/tests/tcg/plugins/mem.c +++ b/tests/tcg/plugins/mem.c @@ -20,6 +20,7 @@ * few things provided by compiler.h. */ #include +#include #include #include =20 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535660; cv=none; d=zohomail.com; s=zohoarc; b=jby+rHjO6dAa7dne+wHEr1mS3kyATSsrW9Gu3OuTkta3Hb1oG7znyt9v2aNwqx5itnxoKdm8Puybxr8LJ0jBDvnDnnUQjJtVlCf6fVV1Db6tjzmil9SLSZMoPLtlSnwTdkZZs6BpMfIuYP9ZA2LLysdEtEk9kn2WmgxVYqrMI60= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535660; 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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=wprZxgNau5OjvcVyBV3BiqgIT2inRbQfjmepelKWyDE=; b=ZGlBJMM1A0DkzR/woe5T6hjRBbIFuRJK67/+fVGTFy6KBiJvONpOXRq+Mg12jLD9jdPnMDzkoRxTJtPp92C9tOm55H22Jub/QIX/N6dTFpp0T0AaSXizIEb7+EWPh265kDFbRauF8LO5RRyI66d9TQmRNnGQClKEbu7zE7aOgBE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535660052318.9681093109507; Mon, 14 Jul 2025 16:27:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSI2-0001mx-IO; Mon, 14 Jul 2025 19:08:54 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHX-0006V8-BK for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:24 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHU-0005gG-K0 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:23 -0400 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-416-DIvC5RLYMQWVkg5ifkXfbQ-1; Mon, 14 Jul 2025 19:08:17 -0400 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-3a52bfda108so2378987f8f.3 for ; Mon, 14 Jul 2025 16:08:16 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8dc1f70sm13408631f8f.27.2025.07.14.16.08.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534498; 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=wprZxgNau5OjvcVyBV3BiqgIT2inRbQfjmepelKWyDE=; b=X28CWvrJVJoTLl/4JvAH6MB/SO2UrFLhT7m/kab/eROHKJPb+9M2+80aRCMYqNPa9kOL4J HJtNHbEtWvnHJ3yHH/r89695XAso9EvLian4TMDuZ9YLCQtgpzzMr/GKIiwY0Sf0NDb6+7 xx1uLpgproJ5yM3yqPk/CBtyHzN2qso= X-MC-Unique: DIvC5RLYMQWVkg5ifkXfbQ-1 X-Mimecast-MFC-AGG-ID: DIvC5RLYMQWVkg5ifkXfbQ_1752534496 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534495; x=1753139295; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=wprZxgNau5OjvcVyBV3BiqgIT2inRbQfjmepelKWyDE=; b=tBhkplP0A7+Wev8z/VeN0ZwoFpBm2EYf4eS6hFyCXo+DI9Vk6xjELJEJLE3Kbeyw/U JWNwB/os+aqp9dtGg+olMXmazkyFe3/7Q4EJwLUGhVBq0Lspjjni4zoY0B8oKh7U2LH0 2XJUTEb79MxzdiGUgoaguVylv8MG0iDCX8lq8mDUKqyB+KLlyeCcaYznYzFt+j9ECaiA W9VQod+wiAMHts9Hl7px5GYinMCuKRWoqpNxIJcHnWMHULNpOcoUSM9h5kL30CiBnhLv JnvbrVnZVqEctvl7jO7+7VQbkLtapBBL4fCpYmcsfesso/3QnuwvTKUs2UV/5YfHH3sh HDUQ== X-Gm-Message-State: AOJu0YxnG2zSm3ryT6h6NkNBr8Doka1KiL17/5NmiIdKtT+dfKG+ufPP jBCivQj0eQeFq9S++g2ODUHLgJ1WOqGuNANI4D/Dox46fMUcav6AbGZnVf3DAp5eG09gUsNMFuH pZnR2DCOGKFZKfNE0SlyCzH54Qgxy+ydos+FKryUjf6qagofho+xlHEl6rDjAIli29QKwIs2fRZ GYA5LsJXHnbbYC+wkrE1sF4bQF97Dx8F4zeQ== X-Gm-Gg: ASbGncveSKKVNAjB3EthkxsKBdQWS/kecTjsqRennnOsvsBq29dtkM8HHQIIbY011nK EDDR+cDHppevT9WzFyPij5iziG0ZlupdHmpLaH6dHNFNQxWpS7+HJ906oB/IrVfsNCQ1QysakG5 f882T+FXT3jyPh5dWzD6rgFES99he3+XxIUU19FqooK1mM1xZJPwA5Kqju/p8csY9G3WVqlfqPA Qy0Ur+XYZqL/ZCbhiipBzJYNUW45Sq+VrAjkgXoyvC1X9E7qDXyPE9TarGdD0OtJ/LOqffQMSPX JtrNRQjI9/EvT1AHuuMzyEXECIwMQ8az X-Received: by 2002:adf:e194:0:b0:3a4:e393:11e2 with SMTP id ffacd0b85a97d-3b5f35795c3mr10631077f8f.34.1752534495394; Mon, 14 Jul 2025 16:08:15 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGZ7pzK3m27nyh5CuMGwAD5vfKGnUTLZdbomspEXXyw/msF0CvY/PsNbH98IZeW56tHLiE6uA== X-Received: by 2002:adf:e194:0:b0:3a4:e393:11e2 with SMTP id ffacd0b85a97d-3b5f35795c3mr10631061f8f.34.1752534494938; Mon, 14 Jul 2025 16:08:14 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:13 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Manos Pitsidianakis , Pierrick Bouvier , Kevin Wolf , Hanna Reitz , qemu-block@nongnu.org Subject: [PULL 46/97] hw/virtio: Build various files once Message-ID: <2e74e46aaa31a6437af2aaf9a9fc47fdd53e142f.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535660694116600 From: Philippe Mathieu-Daud=C3=A9 Now that various VirtIO files don't use target specific API anymore, we can move them to the system_ss[] source set to build them once. Signed-off-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Manos Pitsidianakis Reviewed-by: Pierrick Bouvier Message-Id: <20250708215320.70426-9-philmd@linaro.org> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/virtio/virtio-config-io.c | 1 - hw/block/meson.build | 6 ++++-- hw/virtio/meson.build | 20 +++++++++++--------- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/hw/virtio/virtio-config-io.c b/hw/virtio/virtio-config-io.c index ad78e0b9bc..f58d90b6e3 100644 --- a/hw/virtio/virtio-config-io.c +++ b/hw/virtio/virtio-config-io.c @@ -11,7 +11,6 @@ =20 #include "qemu/osdep.h" #include "hw/virtio/virtio.h" -#include "cpu.h" =20 uint32_t virtio_config_readb(VirtIODevice *vdev, uint32_t addr) { diff --git a/hw/block/meson.build b/hw/block/meson.build index 655704471a..43ed296cf4 100644 --- a/hw/block/meson.build +++ b/hw/block/meson.build @@ -13,7 +13,9 @@ system_ss.add(when: 'CONFIG_SSI_M25P80', if_true: files('= m25p80_sfdp.c')) system_ss.add(when: 'CONFIG_SWIM', if_true: files('swim.c')) system_ss.add(when: 'CONFIG_XEN_BUS', if_true: files('xen-block.c')) =20 -specific_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk.c', = 'virtio-blk-common.c')) -specific_ss.add(when: 'CONFIG_VHOST_USER_BLK', if_true: files('vhost-user-= blk.c', 'virtio-blk-common.c')) +specific_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk.c')) +system_ss.add(when: 'CONFIG_VIRTIO_BLK', if_true: files('virtio-blk-common= .c')) +specific_ss.add(when: 'CONFIG_VHOST_USER_BLK', if_true: files('vhost-user-= blk.c')) +system_ss.add(when: 'CONFIG_VHOST_USER_BLK', if_true: files('virtio-blk-co= mmon.c')) =20 subdir('dataplane') diff --git a/hw/virtio/meson.build b/hw/virtio/meson.build index 164f6fd995..3ea7b3cec8 100644 --- a/hw/virtio/meson.build +++ b/hw/virtio/meson.build @@ -1,6 +1,7 @@ system_virtio_ss =3D ss.source_set() system_virtio_ss.add(files('virtio-bus.c')) system_virtio_ss.add(files('iothread-vq-mapping.c')) +system_virtio_ss.add(files('virtio-config-io.c')) system_virtio_ss.add(when: 'CONFIG_VIRTIO_PCI', if_true: files('virtio-pci= .c')) system_virtio_ss.add(when: 'CONFIG_VIRTIO_MMIO', if_true: files('virtio-mm= io.c')) system_virtio_ss.add(when: 'CONFIG_VIRTIO_CRYPTO', if_true: files('virtio-= crypto.c')) @@ -10,11 +11,11 @@ system_virtio_ss.add(when: 'CONFIG_VHOST_VDPA_DEV', if_= true: files('vdpa-dev.c') =20 specific_virtio_ss =3D ss.source_set() specific_virtio_ss.add(files('virtio.c')) -specific_virtio_ss.add(files('virtio-config-io.c', 'virtio-qmp.c')) +specific_virtio_ss.add(files('virtio-qmp.c')) =20 if have_vhost system_virtio_ss.add(files('vhost.c')) - specific_virtio_ss.add(files('vhost-backend.c', 'vhost-iova-tree.c')) + system_virtio_ss.add(files('vhost-backend.c', 'vhost-iova-tree.c')) if have_vhost_user # fixme - this really should be generic specific_virtio_ss.add(files('vhost-user.c')) @@ -43,22 +44,22 @@ if have_vhost endif if have_vhost_vdpa system_virtio_ss.add(files('vhost-vdpa.c')) - specific_virtio_ss.add(files('vhost-shadow-virtqueue.c')) + system_virtio_ss.add(files('vhost-shadow-virtqueue.c')) endif else system_virtio_ss.add(files('vhost-stub.c')) endif +system_virtio_ss.add(when: 'CONFIG_VHOST_USER_VSOCK', if_true: files('vhos= t-user-vsock.c')) +system_virtio_ss.add(when: 'CONFIG_VIRTIO_RNG', if_true: files('virtio-rng= .c')) =20 specific_virtio_ss.add(when: 'CONFIG_VIRTIO_BALLOON', if_true: files('virt= io-balloon.c')) specific_virtio_ss.add(when: 'CONFIG_VHOST_USER_FS', if_true: files('vhost= -user-fs.c')) specific_virtio_ss.add(when: 'CONFIG_VIRTIO_PMEM', if_true: files('virtio-= pmem.c')) specific_virtio_ss.add(when: 'CONFIG_VHOST_VSOCK', if_true: files('vhost-v= sock.c')) -specific_virtio_ss.add(when: 'CONFIG_VHOST_USER_VSOCK', if_true: files('vh= ost-user-vsock.c')) -specific_virtio_ss.add(when: 'CONFIG_VIRTIO_RNG', if_true: files('virtio-r= ng.c')) -specific_virtio_ss.add(when: 'CONFIG_VIRTIO_NSM', if_true: [files('virtio-= nsm.c', 'cbor-helpers.c'), libcbor]) specific_virtio_ss.add(when: 'CONFIG_VIRTIO_MEM', if_true: files('virtio-m= em.c')) -specific_virtio_ss.add(when: 'CONFIG_VHOST_USER_SCMI', if_true: files('vho= st-user-scmi.c')) -specific_virtio_ss.add(when: ['CONFIG_VIRTIO_PCI', 'CONFIG_VHOST_USER_SCMI= '], if_true: files('vhost-user-scmi-pci.c')) +system_virtio_ss.add(when: 'CONFIG_VIRTIO_NSM', if_true: files('virtio-nsm= .c')) +system_virtio_ss.add(when: 'CONFIG_VIRTIO_NSM', if_true: [files('cbor-help= ers.c'), libcbor]) +system_virtio_ss.add(when: 'CONFIG_VHOST_USER_SCMI', if_true: files('vhost= -user-scmi.c')) =20 virtio_pci_ss =3D ss.source_set() virtio_pci_ss.add(when: 'CONFIG_VHOST_VSOCK', if_true: files('vhost-vsock-= pci.c')) @@ -67,6 +68,7 @@ virtio_pci_ss.add(when: 'CONFIG_VHOST_USER_BLK', if_true:= files('vhost-user-blk- virtio_pci_ss.add(when: 'CONFIG_VHOST_USER_SCSI', if_true: files('vhost-us= er-scsi-pci.c')) virtio_pci_ss.add(when: 'CONFIG_VHOST_SCSI', if_true: files('vhost-scsi-pc= i.c')) virtio_pci_ss.add(when: 'CONFIG_VHOST_USER_FS', if_true: files('vhost-user= -fs-pci.c')) +virtio_pci_ss.add(when: 'CONFIG_VHOST_USER_SCMI', if_true: files('vhost-us= er-scmi-pci.c')) =20 virtio_pci_ss.add(when: 'CONFIG_VIRTIO_CRYPTO', if_true: files('virtio-cry= pto-pci.c')) virtio_pci_ss.add(when: 'CONFIG_VIRTIO_INPUT_HOST', if_true: files('virtio= -input-host-pci.c')) @@ -85,7 +87,7 @@ virtio_pci_ss.add(when: 'CONFIG_VIRTIO_MEM', if_true: fil= es('virtio-mem-pci.c')) virtio_pci_ss.add(when: 'CONFIG_VHOST_VDPA_DEV', if_true: files('vdpa-dev-= pci.c')) virtio_pci_ss.add(when: 'CONFIG_VIRTIO_MD', if_true: files('virtio-md-pci.= c')) =20 -specific_virtio_ss.add_all(when: 'CONFIG_VIRTIO_PCI', if_true: virtio_pci_= ss) +system_virtio_ss.add_all(when: 'CONFIG_VIRTIO_PCI', if_true: virtio_pci_ss) =20 system_ss.add_all(when: 'CONFIG_VIRTIO', if_true: system_virtio_ss) system_ss.add(when: 'CONFIG_VIRTIO', if_false: files('vhost-stub.c')) --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535491; cv=none; d=zohomail.com; s=zohoarc; b=khYpElwzo/o8txClrHV9uTIDAoURglDZn5mE2RbhCqp5L5QxVrSXLaViQXn6nb4IPC3dwWCphYrly0sUo3z2KqRoGqQ3sEETFQ0kz2NyFwTHICxPf60uhWRJDn2Zm72Y5F8t0yOP7z1pZ/7ELUrNgD5OgFEbP28Fo/ISKvG9GHk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535491; 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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=F+T4n/gyfgbuHU+PmGwWi6LsepOZQGnOvAjcmjnojCQ=; b=RDx+VNcui+wyJHeBxKafNMNJCdHUDi9mxVH0M2CDnNPN4oxKZ++tV71h9gT3oKHrbIQwcF5YHEZZ6GNrw0uW3AIuT8sw9vFrTeWdQSxNXffk9Lk42rYEwMZ3c+5yc6651DWrBx7kIUcYU0cM0QgoNEz/oOpM/vnZZPiWMD3bfUs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535491681500.8209778400294; Mon, 14 Jul 2025 16:24:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSI5-00025p-OG; Mon, 14 Jul 2025 19:08:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHY-0006WV-48 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:24 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHW-0005gd-CY for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:23 -0400 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-618-04OvPCcAMJCOoaSM6B_z_A-1; Mon, 14 Jul 2025 19:08:19 -0400 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3a4edf5bb4dso3441357f8f.0 for ; Mon, 14 Jul 2025 16:08:19 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4560f22cd29sm74051385e9.34.2025.07.14.16.08.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534500; 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=F+T4n/gyfgbuHU+PmGwWi6LsepOZQGnOvAjcmjnojCQ=; b=NBy8DVFHtT7JMr7PdUNRHFgZsVQ873NTEYC/V9nkhrbjxV/tMT+XOvgc9ILxJmtLckUokE acFTq8ttQUOperuNHu2iJF9WLzaZiKDxLjbc4tfo6IXnMBWE8Veq1RHAJWvKE6+t5e+L1J 1PJTrsiOtB1+SbZW5Q73zjn59WHUUYM= X-MC-Unique: 04OvPCcAMJCOoaSM6B_z_A-1 X-Mimecast-MFC-AGG-ID: 04OvPCcAMJCOoaSM6B_z_A_1752534498 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534498; x=1753139298; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=F+T4n/gyfgbuHU+PmGwWi6LsepOZQGnOvAjcmjnojCQ=; b=S3lrHrwL/wBV+XJTQvIBzadaZDnK7gSHHCyLwVwj6Z4Lv1q37nTzVg14PXCwAAylIt Gj+k/h2W0akdkaSPhc1ZNhb2cSyyw03K8IZRzWjC008ko13/QC07gOVzvq0yEXgfbXT8 qkG3Tj75kb1Mm5AilnvVt4lHtJgQfM5SGyCinRjfWWoq4nOs9WsOpL3U3G4GQSK2jnpl D/N87bDBckqBKfANXiLz8R2fuSQfGTdo8hdsAVb6LkoLqfgXeu4P+TWOHabT6/8OIXpR NoBYiTJJCFox79V1HBMBJhxkJ+Q+ISmVB6qT9v+9+BY4MSU3jwq9DVnOIBgBdVdgGSFo bOQg== X-Gm-Message-State: AOJu0Yx0H7rQ4uF5wWY9bx99HO55eCJqNGRf2gKnnOS9Lq+7tbcSNbtQ Ug9ibcdoKlEVsArlKu7M63iGnyJKJl8/6SSg+8UISp96ZFbpD5jn0CRQhGvrO36EokCS+ozwO8j 0Nnnry6kKfpMa3QJ8n3HqicXF5Y3hnObZynGBSs9XrjnWElM9V0ot15ALDEezrp51uK/T0cgcaG momCfUDXUQ2xlzQe8bXuw6DItPtOtMRClRbw== X-Gm-Gg: ASbGnctlH0SoZE0FdfR013w71UYzP5pHpduIeDU/o5V0jgmgm7EYvPzXsHwpmGi1Idx vRTwffiE3T0G69/n2yHNNOL16EDu9yIU9sGaaEe8ifp5zX5xws8tQC6n0SvEL9n6EX5hF8zXe8L aLnCusmrEk3dRA4UQXbScKQut7k5VVG6+28fi+nTKc0KBvI/QOID/Yw/CZ3BTJslHksyMv9mqUc /7KyqP7HPh0kOfyW67U1JhFWAHIqQ1J2MF8ANpjVW8UD7aPSdEDbtzaKZsaZEj/aMfqunDZya1K ksVMMe+L3UISQ3rA7hOACKjUYbkqRW/y X-Received: by 2002:a05:6000:41f7:b0:3a4:d83a:eb4c with SMTP id ffacd0b85a97d-3b60a1bb314mr270557f8f.57.1752534497665; Mon, 14 Jul 2025 16:08:17 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF0R+AIKsrHi0wk6hYpVH2t1ggU+X8vweYfpslqXjcCUC9jlwFDrgBMZy8Q0GbHPgH4a5zZwQ== X-Received: by 2002:a05:6000:41f7:b0:3a4:d83a:eb4c with SMTP id ffacd0b85a97d-3b60a1bb314mr270532f8f.57.1752534497187; Mon, 14 Jul 2025 16:08:17 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:15 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Gustavo Romero , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Igor Mammedov , Jonathan Cameron , Ani Sinha , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 47/97] hw/i386/acpi-build: Make aml_pci_device_dsm() static Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535492914116600 From: Eric Auger No need to export aml_pci_device_dsm() as it is only used in hw/i386/acpi-build.c. Signed-off-by: Eric Auger Reviewed-by: Gustavo Romero Reviewed-by: Philippe Mathieu-Daud=C3=A9 Reviewed-by: Igor Mammedov Reviewed-by: Jonathan Cameron Message-Id: <20250714080639.2525563-2-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/acpi/pci.h | 1 - hw/i386/acpi-build.c | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/include/hw/acpi/pci.h b/include/hw/acpi/pci.h index 6359d574fd..ab0187a894 100644 --- a/include/hw/acpi/pci.h +++ b/include/hw/acpi/pci.h @@ -36,7 +36,6 @@ typedef struct AcpiMcfgInfo { =20 void build_mcfg(GArray *table_data, BIOSLinker *linker, AcpiMcfgInfo *info, const char *oem_id, const char *oem_table_id); -Aml *aml_pci_device_dsm(void); =20 void build_append_pci_bus_devices(Aml *parent_scope, PCIBus *bus); void build_pci_bridge_aml(AcpiDevAmlIf *adev, Aml *scope); diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 61851cc840..f59026524f 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -338,7 +338,7 @@ build_facs(GArray *table_data) g_array_append_vals(table_data, reserved, 40); /* Reserved */ } =20 -Aml *aml_pci_device_dsm(void) +static Aml *aml_pci_device_dsm(void) { Aml *method; =20 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535852; cv=none; d=zohomail.com; s=zohoarc; b=cylM9QkW8Az0mw1xlP/EAQ4chulRJhriM25YUsNrN8uVvW7mCTAvv3vYay9mDRGopFzc1hbqp9mUpBYl4HW7w1B27Gc4j/rgUr3doaeOVYOidSUPu9N2jWVQhko+chP008x31IlyERRRAM6IVkulNlmN2cdJs9SFljPbUZg2UNQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535852; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=7WZJNDcOWRJHoUo+zWosKzFzRFuBFieDv4Qz1qNjmO4=; b=J1CHIGw2bjVqGBDgeH+erPomCKIyJOFtbAdbCy6/P9Pa+OMl3gVSSJ5IWmq1UZMQ4rEsP62XbJcyy3X8SSB4e0SCjd5nyp+jm4J7Tv1UDvQHaxXyrWBfP/PHVopKjA0EmU94q4bLtXwH7FE9SI6WmXBXLohQcf8Ke2Ih3a0miQ4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175253585234782.06244456423087; Mon, 14 Jul 2025 16:30:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSIT-0003TZ-Ia; Mon, 14 Jul 2025 19:09:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHa-0006f4-IC for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:26 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHX-0005hC-Qp for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:26 -0400 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-21-NcCGKCbvP9-72ZN6TN4DSg-1; Mon, 14 Jul 2025 19:08:21 -0400 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-3a5058f9ef4so2001717f8f.2 for ; Mon, 14 Jul 2025 16:08:21 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454dd538b63sm145706385e9.19.2025.07.14.16.08.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534502; 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: in-reply-to:in-reply-to:references:references; bh=7WZJNDcOWRJHoUo+zWosKzFzRFuBFieDv4Qz1qNjmO4=; b=GURRq85Jg0yymYDxoJLuIsrblpAlXiqllFgzJ+lRt6AqRtJK9IHatns6nEtKP7m1ljEaYT MljwzFqSEYjrkBzPyygtF/2NWaoqNitBsx1bHP5vI0Ofzxc1UVNwaCWw4GTFiAMUJRGrSg RzBFkW4Vdc2rd6Bzkmn3DduyslsZsnA= X-MC-Unique: NcCGKCbvP9-72ZN6TN4DSg-1 X-Mimecast-MFC-AGG-ID: NcCGKCbvP9-72ZN6TN4DSg_1752534500 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534500; x=1753139300; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=7WZJNDcOWRJHoUo+zWosKzFzRFuBFieDv4Qz1qNjmO4=; b=j3xVxgPDr6LT9X/NE6zHMXARVM2pX6mMnOXkzfdV8QhFzfpwZVCyJDEwvqHrJz/YXE qwNeXyePqzdH2J4BCq2Ogq0K24zQW4FLQg4cFIJSGMXV9592xmI0bxOf+C8lZarDqZKe lC8gOEEZFoiAY66l0qphO/Ei1jZYDORUEFrPCBgv/TjK1HuFcjizawj7IAGV+Jecx7jP 1c+stBzrqQ/2SCSIsT1CIYAPwHfK8wqZHRfqkxYSbHi4lIXpyjXBiyU3vLkAo+7sktGn NWj4CRHugighTNXmbLwRtwTsbGqQbxSFPkuzdafuG5QeUAbj11meGxBw3lbwhKoCZvgl KY+Q== X-Gm-Message-State: AOJu0YwVwMn7gq26JFKe8eQaqVqZo0K8veEr5MczRvrkXlFo3eld+jUl l+e6eZ0OK9cRT9ir2MlrgD2YBtEAR4CbCESfDELMHiS8wxTIBsPXCTirAecdo/2gKjfgWr4Gr0u zuWn9PnGz0onvStBlx+GEyM4fSAtG87BqFZFy689tUqb5sNKE+DnQgYrJeMvPFqyUq/C0HtE62+ O+ceYS3vKnDxQkPG/0FFhAfeWKLRbaDQwyvA== X-Gm-Gg: ASbGnctOCymeeI54TS/9S1JCSrGd8sqeJiO2nznEZ5OmdFXQbAepczH6LHE+VQyS1zT 2DGxyQjJsIuA32lUFivAnyffldWc/74yNS0yj3RpRMa1mXuuekBdKKN7vQNY+fjx/RkR9hfsUXp k3yfTWa75AbwXwjGGZeU+/DDXlEZQbm7hFeQKvzND856N0uU+0fziZj84te0iUSnzIKj//lAVqY hxm23ik+AYC40YY8LmWB+sCvLpxRs2Kcr7KSS4zUV2i5g8GiwY4thKeLf2cPcwV7kQtZoJFxdYA YukYZFNIZJi4AZEsC5+ldEnWdjTYYU7e X-Received: by 2002:a05:6000:178c:b0:3a6:d92f:b7a0 with SMTP id ffacd0b85a97d-3b5f359d05fmr9947727f8f.58.1752534499995; Mon, 14 Jul 2025 16:08:19 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGwu1zTMe+s4zYLFMYeJ02aju2ovj2ADTzTFr2ruPY2b+vgrSsG2tnUpMzHfEeGdj7rLyNDnw== X-Received: by 2002:a05:6000:178c:b0:3a6:d92f:b7a0 with SMTP id ffacd0b85a97d-3b5f359d05fmr9947698f8f.58.1752534499395; Mon, 14 Jul 2025 16:08:19 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:17 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Gustavo Romero , Igor Mammedov , Jonathan Cameron , Ani Sinha , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 48/97] hw/acpi: Rename and move build_x86_acpi_pci_hotplug to pcihp Message-ID: <3bed92c813f28e6dc48d291eae9d84ae5a90dfd6.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535854892116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger We plan to reuse build_x86_acpi_pci_hotplug() implementation for ARM so let's move the code to generic pcihp. Associated static aml_pci_pdsm() helper is also moved along. build_x86_acpi_pci_hotplug is renamed into build_acpi_pci_hotplug(). No code change intended. Also fix the reference to acpi_pci_hotplug.rst documentation Signed-off-by: Eric Auger Reviewed-by: Gustavo Romero Reviewed-by: Igor Mammedov Reviewed-by: Jonathan Cameron Message-Id: <20250714080639.2525563-3-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/i386/acpi-build.h | 4 - include/hw/acpi/pcihp.h | 7 ++ hw/acpi/pcihp.c | 174 ++++++++++++++++++++++++++++++++++++++- hw/i386/acpi-build.c | 176 +--------------------------------------- 4 files changed, 182 insertions(+), 179 deletions(-) diff --git a/hw/i386/acpi-build.h b/hw/i386/acpi-build.h index 275ec058a1..8ba3c33e48 100644 --- a/hw/i386/acpi-build.h +++ b/hw/i386/acpi-build.h @@ -5,10 +5,6 @@ =20 extern const struct AcpiGenericAddress x86_nvdimm_acpi_dsmio; =20 -/* PCI Hot-plug registers' base. See docs/specs/acpi_pci_hotplug.rst */ -#define ACPI_PCIHP_SEJ_BASE 0x8 -#define ACPI_PCIHP_BNMR_BASE 0x10 - void acpi_setup(void); Object *acpi_get_i386_pci_host(void); =20 diff --git a/include/hw/acpi/pcihp.h b/include/hw/acpi/pcihp.h index cdc0cb8e43..971451e8ea 100644 --- a/include/hw/acpi/pcihp.h +++ b/include/hw/acpi/pcihp.h @@ -33,6 +33,10 @@ #define ACPI_PCIHP_IO_BASE_PROP "acpi-pcihp-io-base" #define ACPI_PCIHP_IO_LEN_PROP "acpi-pcihp-io-len" =20 +/* PCI Hot-plug registers bases. See docs/specs/acpi_pci_hotplug.rst */ +#define ACPI_PCIHP_SEJ_BASE 0x8 +#define ACPI_PCIHP_BNMR_BASE 0x10 + typedef struct AcpiPciHpPciStatus { uint32_t up; uint32_t down; @@ -69,6 +73,9 @@ void acpi_pcihp_device_unplug_request_cb(HotplugHandler *= hotplug_dev, AcpiPciHpState *s, DeviceState *d= ev, Error **errp); =20 +void build_acpi_pci_hotplug(Aml *table, uint64_t pcihp_addr); +void build_append_pci_dsm_func0_common(Aml *ctx, Aml *retvar); + /* Called on reset */ void acpi_pcihp_reset(AcpiPciHpState *s); =20 diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c index 497281ae20..cbe7e01385 100644 --- a/hw/acpi/pcihp.c +++ b/hw/acpi/pcihp.c @@ -26,7 +26,7 @@ =20 #include "qemu/osdep.h" #include "hw/acpi/pcihp.h" - +#include "hw/acpi/aml-build.h" #include "hw/pci-host/i440fx.h" #include "hw/pci/pci.h" #include "hw/pci/pci_bridge.h" @@ -513,6 +513,178 @@ void acpi_pcihp_init(Object *owner, AcpiPciHpState *s= , PCIBus *root_bus, OBJ_PROP_FLAG_READ); } =20 +void build_append_pci_dsm_func0_common(Aml *ctx, Aml *retvar) +{ + Aml *UUID, *ifctx1; + uint8_t byte_list[1] =3D { 0 }; /* nothing supported yet */ + + aml_append(ctx, aml_store(aml_buffer(1, byte_list), retvar)); + /* + * PCI Firmware Specification 3.1 + * 4.6. _DSM Definitions for PCI + */ + UUID =3D aml_touuid("E5C937D0-3553-4D7A-9117-EA4D19C3434D"); + ifctx1 =3D aml_if(aml_lnot(aml_equal(aml_arg(0), UUID))); + { + /* call is for unsupported UUID, bail out */ + aml_append(ifctx1, aml_return(retvar)); + } + aml_append(ctx, ifctx1); + + ifctx1 =3D aml_if(aml_lless(aml_arg(1), aml_int(2))); + { + /* call is for unsupported REV, bail out */ + aml_append(ifctx1, aml_return(retvar)); + } + aml_append(ctx, ifctx1); +} + +static Aml *aml_pci_pdsm(void) +{ + Aml *method, *ifctx, *ifctx1; + Aml *ret =3D aml_local(0); + Aml *caps =3D aml_local(1); + Aml *acpi_index =3D aml_local(2); + Aml *zero =3D aml_int(0); + Aml *one =3D aml_int(1); + Aml *not_supp =3D aml_int(0xFFFFFFFF); + Aml *func =3D aml_arg(2); + Aml *params =3D aml_arg(4); + Aml *bnum =3D aml_derefof(aml_index(params, aml_int(0))); + Aml *sunum =3D aml_derefof(aml_index(params, aml_int(1))); + + method =3D aml_method("PDSM", 5, AML_SERIALIZED); + + /* get supported functions */ + ifctx =3D aml_if(aml_equal(func, zero)); + { + build_append_pci_dsm_func0_common(ifctx, ret); + + aml_append(ifctx, aml_store(zero, caps)); + aml_append(ifctx, + aml_store(aml_call2("AIDX", bnum, sunum), acpi_index)); + /* + * advertise function 7 if device has acpi-index + * acpi_index values: + * 0: not present (default value) + * FFFFFFFF: not supported (old QEMU without PIDX reg) + * other: device's acpi-index + */ + ifctx1 =3D aml_if(aml_lnot( + aml_or(aml_equal(acpi_index, zero), + aml_equal(acpi_index, not_supp), NULL) + )); + { + /* have supported functions */ + aml_append(ifctx1, aml_or(caps, one, caps)); + /* support for function 7 */ + aml_append(ifctx1, + aml_or(caps, aml_shiftleft(one, aml_int(7)), caps)); + } + aml_append(ifctx, ifctx1); + + aml_append(ifctx, aml_store(caps, aml_index(ret, zero))); + aml_append(ifctx, aml_return(ret)); + } + aml_append(method, ifctx); + + /* handle specific functions requests */ + /* + * PCI Firmware Specification 3.1 + * 4.6.7. _DSM for Naming a PCI or PCI Express Device Under + * Operating Systems + */ + ifctx =3D aml_if(aml_equal(func, aml_int(7))); + { + Aml *pkg =3D aml_package(2); + + aml_append(ifctx, aml_store(aml_call2("AIDX", bnum, sunum), acpi_in= dex)); + aml_append(ifctx, aml_store(pkg, ret)); + /* + * Windows calls func=3D7 without checking if it's available, + * as workaround Microsoft has suggested to return invalid for func7 + * Package, so return 2 elements package but only initialize elemen= ts + * when acpi_index is supported and leave them uninitialized, which + * leads elements to being Uninitialized ObjectType and should trip + * Windows into discarding result as an unexpected and prevent sett= ing + * bogus 'PCI Label' on the device. + */ + ifctx1 =3D aml_if(aml_lnot(aml_lor( + aml_equal(acpi_index, zero), aml_equal(acpi_index, not= _supp) + ))); + { + aml_append(ifctx1, aml_store(acpi_index, aml_index(ret, zero))); + /* + * optional, if not impl. should return null string + */ + aml_append(ifctx1, aml_store(aml_string("%s", ""), + aml_index(ret, one))); + } + aml_append(ifctx, ifctx1); + + aml_append(ifctx, aml_return(ret)); + } + + aml_append(method, ifctx); + return method; +} + +void build_acpi_pci_hotplug(Aml *table, uint64_t pcihp_addr) +{ + Aml *scope; + Aml *field; + Aml *method; + + scope =3D aml_scope("_SB.PCI0"); + + aml_append(scope, + aml_operation_region("PCST", AML_SYSTEM_IO, aml_int(pcihp_addr), 0= x08)); + field =3D aml_field("PCST", AML_DWORD_ACC, AML_NOLOCK, AML_WRITE_AS_ZE= ROS); + aml_append(field, aml_named_field("PCIU", 32)); + aml_append(field, aml_named_field("PCID", 32)); + aml_append(scope, field); + + aml_append(scope, + aml_operation_region("SEJ", AML_SYSTEM_IO, + aml_int(pcihp_addr + ACPI_PCIHP_SEJ_BASE), 0x= 04)); + field =3D aml_field("SEJ", AML_DWORD_ACC, AML_NOLOCK, AML_WRITE_AS_ZER= OS); + aml_append(field, aml_named_field("B0EJ", 32)); + aml_append(scope, field); + + aml_append(scope, + aml_operation_region("BNMR", AML_SYSTEM_IO, + aml_int(pcihp_addr + ACPI_PCIHP_BNMR_BASE), 0= x08)); + field =3D aml_field("BNMR", AML_DWORD_ACC, AML_NOLOCK, AML_WRITE_AS_ZE= ROS); + aml_append(field, aml_named_field("BNUM", 32)); + aml_append(field, aml_named_field("PIDX", 32)); + aml_append(scope, field); + + aml_append(scope, aml_mutex("BLCK", 0)); + + method =3D aml_method("PCEJ", 2, AML_NOTSERIALIZED); + aml_append(method, aml_acquire(aml_name("BLCK"), 0xFFFF)); + aml_append(method, aml_store(aml_arg(0), aml_name("BNUM"))); + aml_append(method, + aml_store(aml_shiftleft(aml_int(1), aml_arg(1)), aml_name("B0EJ"))= ); + aml_append(method, aml_release(aml_name("BLCK"))); + aml_append(method, aml_return(aml_int(0))); + aml_append(scope, method); + + method =3D aml_method("AIDX", 2, AML_NOTSERIALIZED); + aml_append(method, aml_acquire(aml_name("BLCK"), 0xFFFF)); + aml_append(method, aml_store(aml_arg(0), aml_name("BNUM"))); + aml_append(method, + aml_store(aml_shiftleft(aml_int(1), aml_arg(1)), aml_name("PIDX"))= ); + aml_append(method, aml_store(aml_name("PIDX"), aml_local(0))); + aml_append(method, aml_release(aml_name("BLCK"))); + aml_append(method, aml_return(aml_local(0))); + aml_append(scope, method); + + aml_append(scope, aml_pci_pdsm()); + + aml_append(table, scope); +} + const VMStateDescription vmstate_acpi_pcihp_pci_status =3D { .name =3D "acpi_pcihp_pci_status", .version_id =3D 1, diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index f59026524f..4f8572eebe 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -361,32 +361,6 @@ static Aml *aml_pci_device_dsm(void) return method; } =20 -static void build_append_pci_dsm_func0_common(Aml *ctx, Aml *retvar) -{ - Aml *UUID, *ifctx1; - uint8_t byte_list[1] =3D { 0 }; /* nothing supported yet */ - - aml_append(ctx, aml_store(aml_buffer(1, byte_list), retvar)); - /* - * PCI Firmware Specification 3.1 - * 4.6. _DSM Definitions for PCI - */ - UUID =3D aml_touuid("E5C937D0-3553-4D7A-9117-EA4D19C3434D"); - ifctx1 =3D aml_if(aml_lnot(aml_equal(aml_arg(0), UUID))); - { - /* call is for unsupported UUID, bail out */ - aml_append(ifctx1, aml_return(retvar)); - } - aml_append(ctx, ifctx1); - - ifctx1 =3D aml_if(aml_lless(aml_arg(1), aml_int(2))); - { - /* call is for unsupported REV, bail out */ - aml_append(ifctx1, aml_return(retvar)); - } - aml_append(ctx, ifctx1); -} - static Aml *aml_pci_edsm(void) { Aml *method, *ifctx; @@ -647,96 +621,6 @@ static bool build_append_notification_callback(Aml *pa= rent_scope, return !!nr_notifiers; } =20 -static Aml *aml_pci_pdsm(void) -{ - Aml *method, *ifctx, *ifctx1; - Aml *ret =3D aml_local(0); - Aml *caps =3D aml_local(1); - Aml *acpi_index =3D aml_local(2); - Aml *zero =3D aml_int(0); - Aml *one =3D aml_int(1); - Aml *not_supp =3D aml_int(0xFFFFFFFF); - Aml *func =3D aml_arg(2); - Aml *params =3D aml_arg(4); - Aml *bnum =3D aml_derefof(aml_index(params, aml_int(0))); - Aml *sunum =3D aml_derefof(aml_index(params, aml_int(1))); - - method =3D aml_method("PDSM", 5, AML_SERIALIZED); - - /* get supported functions */ - ifctx =3D aml_if(aml_equal(func, zero)); - { - build_append_pci_dsm_func0_common(ifctx, ret); - - aml_append(ifctx, aml_store(zero, caps)); - aml_append(ifctx, - aml_store(aml_call2("AIDX", bnum, sunum), acpi_index)); - /* - * advertise function 7 if device has acpi-index - * acpi_index values: - * 0: not present (default value) - * FFFFFFFF: not supported (old QEMU without PIDX reg) - * other: device's acpi-index - */ - ifctx1 =3D aml_if(aml_lnot( - aml_or(aml_equal(acpi_index, zero), - aml_equal(acpi_index, not_supp), NULL) - )); - { - /* have supported functions */ - aml_append(ifctx1, aml_or(caps, one, caps)); - /* support for function 7 */ - aml_append(ifctx1, - aml_or(caps, aml_shiftleft(one, aml_int(7)), caps)); - } - aml_append(ifctx, ifctx1); - - aml_append(ifctx, aml_store(caps, aml_index(ret, zero))); - aml_append(ifctx, aml_return(ret)); - } - aml_append(method, ifctx); - - /* handle specific functions requests */ - /* - * PCI Firmware Specification 3.1 - * 4.6.7. _DSM for Naming a PCI or PCI Express Device Under - * Operating Systems - */ - ifctx =3D aml_if(aml_equal(func, aml_int(7))); - { - Aml *pkg =3D aml_package(2); - - aml_append(ifctx, aml_store(aml_call2("AIDX", bnum, sunum), acpi_in= dex)); - aml_append(ifctx, aml_store(pkg, ret)); - /* - * Windows calls func=3D7 without checking if it's available, - * as workaround Microsoft has suggested to return invalid for func7 - * Package, so return 2 elements package but only initialize elemen= ts - * when acpi_index is supported and leave them uninitialized, which - * leads elements to being Uninitialized ObjectType and should trip - * Windows into discarding result as an unexpected and prevent sett= ing - * bogus 'PCI Label' on the device. - */ - ifctx1 =3D aml_if(aml_lnot(aml_lor( - aml_equal(acpi_index, zero), aml_equal(acpi_index, not= _supp) - ))); - { - aml_append(ifctx1, aml_store(acpi_index, aml_index(ret, zero))); - /* - * optional, if not impl. should return null string - */ - aml_append(ifctx1, aml_store(aml_string("%s", ""), - aml_index(ret, one))); - } - aml_append(ifctx, ifctx1); - - aml_append(ifctx, aml_return(ret)); - } - - aml_append(method, ifctx); - return method; -} - /* * build_prt - Define interrupt routing rules * @@ -1227,62 +1111,6 @@ static Aml *build_q35_dram_controller(const AcpiMcfg= Info *mcfg) return dev; } =20 -static void build_x86_acpi_pci_hotplug(Aml *table, uint64_t pcihp_addr) -{ - Aml *scope; - Aml *field; - Aml *method; - - scope =3D aml_scope("_SB.PCI0"); - - aml_append(scope, - aml_operation_region("PCST", AML_SYSTEM_IO, aml_int(pcihp_addr), 0= x08)); - field =3D aml_field("PCST", AML_DWORD_ACC, AML_NOLOCK, AML_WRITE_AS_ZE= ROS); - aml_append(field, aml_named_field("PCIU", 32)); - aml_append(field, aml_named_field("PCID", 32)); - aml_append(scope, field); - - aml_append(scope, - aml_operation_region("SEJ", AML_SYSTEM_IO, - aml_int(pcihp_addr + ACPI_PCIHP_SEJ_BASE), 0x= 04)); - field =3D aml_field("SEJ", AML_DWORD_ACC, AML_NOLOCK, AML_WRITE_AS_ZER= OS); - aml_append(field, aml_named_field("B0EJ", 32)); - aml_append(scope, field); - - aml_append(scope, - aml_operation_region("BNMR", AML_SYSTEM_IO, - aml_int(pcihp_addr + ACPI_PCIHP_BNMR_BASE), 0= x08)); - field =3D aml_field("BNMR", AML_DWORD_ACC, AML_NOLOCK, AML_WRITE_AS_ZE= ROS); - aml_append(field, aml_named_field("BNUM", 32)); - aml_append(field, aml_named_field("PIDX", 32)); - aml_append(scope, field); - - aml_append(scope, aml_mutex("BLCK", 0)); - - method =3D aml_method("PCEJ", 2, AML_NOTSERIALIZED); - aml_append(method, aml_acquire(aml_name("BLCK"), 0xFFFF)); - aml_append(method, aml_store(aml_arg(0), aml_name("BNUM"))); - aml_append(method, - aml_store(aml_shiftleft(aml_int(1), aml_arg(1)), aml_name("B0EJ"))= ); - aml_append(method, aml_release(aml_name("BLCK"))); - aml_append(method, aml_return(aml_int(0))); - aml_append(scope, method); - - method =3D aml_method("AIDX", 2, AML_NOTSERIALIZED); - aml_append(method, aml_acquire(aml_name("BLCK"), 0xFFFF)); - aml_append(method, aml_store(aml_arg(0), aml_name("BNUM"))); - aml_append(method, - aml_store(aml_shiftleft(aml_int(1), aml_arg(1)), aml_name("PIDX"))= ); - aml_append(method, aml_store(aml_name("PIDX"), aml_local(0))); - aml_append(method, aml_release(aml_name("BLCK"))); - aml_append(method, aml_return(aml_local(0))); - aml_append(scope, method); - - aml_append(scope, aml_pci_pdsm()); - - aml_append(table, scope); -} - static Aml *build_q35_osc_method(bool enable_native_pcie_hotplug) { Aml *if_ctx; @@ -1394,7 +1222,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, aml_append(dsdt, sb_scope); =20 if (pm->pcihp_bridge_en || pm->pcihp_root_en) { - build_x86_acpi_pci_hotplug(dsdt, pm->pcihp_io_base); + build_acpi_pci_hotplug(dsdt, pm->pcihp_io_base); } build_piix4_pci0_int(dsdt); } else if (q35) { @@ -1438,7 +1266,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, aml_append(dsdt, sb_scope); =20 if (pm->pcihp_bridge_en) { - build_x86_acpi_pci_hotplug(dsdt, pm->pcihp_io_base); + build_acpi_pci_hotplug(dsdt, pm->pcihp_io_base); } build_q35_pci0_int(dsdt); } --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534796; cv=none; d=zohomail.com; s=zohoarc; b=nbrjjO1p/Z9AOXqNqLCOZcQUYpmu8eMLsKxtNs3wywWn9yC1ZgoXnvKxQAVRncBmtvLMWMN1ouJ6MsqjrwXQTF9oa9sQWbx5R5x1B9SMENhxAJsVmYEfNZkaq/LWnmuy+fU54J8uXJTS3gOIITPSZuoug8OF5pidn1hg5gnMmww= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534796; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=6/OhfZLKBwpQCNEpQVAmadE4Z6ccjSU0gbMdCkgwst8=; b=ly/3KFxp9RkqYVX1fIKHi08K5C39SxvJXOQ+o3ylkTT3o/bK30Fo0rNBsjAsOzffMs5B8Gnfh6mcmFVEp2Oa9GTVmX9qb1Sqe/e50dOFl70F++FLlx/SM/8S5sA3UDs4OEz7ETdAaM3RAEazeH3RB/3Ov4LM+90jp3cnrHBRKNQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534795997786.0041957064086; Mon, 14 Jul 2025 16:13:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSIY-0003wF-CI; Mon, 14 Jul 2025 19:09:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHb-0006jk-9U for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:27 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHZ-0005hh-7P for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:27 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-658-zvgi3xthNjmVKtvpWNX9ew-1; Mon, 14 Jul 2025 19:08:23 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-455e9e09afeso16525125e9.2 for ; Mon, 14 Jul 2025 16:08:23 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45610a39cacsm69264855e9.38.2025.07.14.16.08.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534504; 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: in-reply-to:in-reply-to:references:references; bh=6/OhfZLKBwpQCNEpQVAmadE4Z6ccjSU0gbMdCkgwst8=; b=FK7ee7MrGKBgzNKzC3nLWetl7p53pH72zWeqiAwdVxKvHaEovJwxSoCiELSqEGAsml+txX o0tH2DiJ9dPk7I9J7dkFychWmwOVLqPPgVavhld4f2Ai9v47c4gb2I9d4Z4N+5cuiDW+re a/Z+WLJN6rr7X4NPbweTBvFysxB4IDQ= X-MC-Unique: zvgi3xthNjmVKtvpWNX9ew-1 X-Mimecast-MFC-AGG-ID: zvgi3xthNjmVKtvpWNX9ew_1752534502 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534502; x=1753139302; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=6/OhfZLKBwpQCNEpQVAmadE4Z6ccjSU0gbMdCkgwst8=; b=o8e4dqkfUJVo31Kn2kr0jG59KidBRV/winhFFHtbTE/2llAHqpzURd1lwy89dbPMgN 3zWgK0iWKidj+rxHfPSCrAUZ/dnTLQt9y98Zsi73IS57cUwpxqGjiaHDaRJxnXbEIqNu FQFIv1dYg7XdxTraKNtpX2LgrWvGBxmMXhZSv1/+IPrVDJg5YhXLOBCVkxTE8mlVlRb0 uS3HA22n86nCDUTamFvG81y8VcRhjcK8BGISZaTPwoANi6WghxDgsqrtQON4df5nBibj ZUDaHTek2xTrlbABBY1p06k+XqUT7BicOTkpk00Yo9c60n3HF2LnFSweHYPufTYENH3b eQug== X-Gm-Message-State: AOJu0YzoenyE59qgCwvoDfsX//oxLykinIAi0XVXlfE/8WO0pI4cZ97I A5VAUJRyJJN30NcBuSrrY4BNneQJOJTqBOsSY8POBrq3dGBu8oY2bZ3D8I+thVBknTjwqsfvSc9 3rb1bPEfxDFo17iXbCYKV2z205OQe7krI9UAQwkyGYyMCS9Oz31Uny580iUWIZJg6vxPM/dBSoz EtjcnSJ3ZDdYawpEwkIDF0PFd/5/9b3JdfkQ== X-Gm-Gg: ASbGnctHUf1Y4j1TRk0Z6qkF8ah7fpxU5lXErAVokeXZZ9Dto0f+vmFP9wNl11MSF+c i/4PJMFyiPSR6uEHCJTDdZvfkkUmECR+3LXOa3mJI8uiVEVYaz6nqCJRQfTe2iDqmPEpiXC1/xP DqCwmDRT7OVVZP2zYDz5QLDVFTY+/8zXSnUI9W1u25sp7Z/dynSAaKWQQeOjvBln3oHd8AGN5Gc OiYXK7gmuSigAPuPqWnvlUR1PUMaBInwBHjWBt/woQuf+YRTM+iJDKvlZ++w6QBYJG4FkbX96ej aaj0aib5QB4FMGvpvL4tRS2uVe96BijM X-Received: by 2002:a05:600c:4713:b0:450:ceb2:67dd with SMTP id 5b1f17b1804b1-454f427985emr130106075e9.33.1752534501814; Mon, 14 Jul 2025 16:08:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IF5lSilpg5VmNcVVXqHek7z6XkJ4Ehxy457Be+BA/lzQFLEG4FIUj+uFoHoy/aCSLW31eHtmw== X-Received: by 2002:a05:600c:4713:b0:450:ceb2:67dd with SMTP id 5b1f17b1804b1-454f427985emr130105875e9.33.1752534501337; Mon, 14 Jul 2025 16:08:21 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:19 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Gustavo Romero , Igor Mammedov , Jonathan Cameron , Michael Tokarev Subject: [PULL 49/97] hw/pci-host/gpex-acpi: Add native_pci_hotplug arg to acpi_dsdt_add_pci_osc Message-ID: <7e0f0871641a0a1b77180da67505c81f8e825900.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534800347116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger Add a new argument to acpi_dsdt_add_pci_osc to be able to disable native pci hotplug. Signed-off-by: Eric Auger Reviewed-by: Gustavo Romero Reviewed-by: Igor Mammedov Reviewed-by: Jonathan Cameron Message-Id: <20250714080639.2525563-4-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/pci-host/gpex-acpi.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/hw/pci-host/gpex-acpi.c b/hw/pci-host/gpex-acpi.c index 0aba47c71c..f34b7cf25e 100644 --- a/hw/pci-host/gpex-acpi.c +++ b/hw/pci-host/gpex-acpi.c @@ -50,7 +50,7 @@ static void acpi_dsdt_add_pci_route_table(Aml *dev, uint3= 2_t irq, } } =20 -static void acpi_dsdt_add_pci_osc(Aml *dev) +static void acpi_dsdt_add_pci_osc(Aml *dev, bool enable_native_pcie_hotplu= g) { Aml *method, *UUID, *ifctx, *ifctx1, *elsectx, *buf; =20 @@ -77,11 +77,12 @@ static void acpi_dsdt_add_pci_osc(Aml *dev) aml_append(ifctx, aml_store(aml_name("CDW3"), aml_name("CTRL"))); =20 /* - * Allow OS control for all 5 features: - * PCIeHotplug SHPCHotplug PME AER PCIeCapability. + * Allow OS control for SHPCHotplug, PME, AER, PCIeCapability, + * and PCIeHotplug depending on enable_native_pcie_hotplug */ - aml_append(ifctx, aml_and(aml_name("CTRL"), aml_int(0x1F), - aml_name("CTRL"))); + aml_append(ifctx, aml_and(aml_name("CTRL"), + aml_int(0x1E | (enable_native_pcie_hotplug ? 0x1 : 0x0)), + aml_name("CTRL"))); =20 ifctx1 =3D aml_if(aml_lnot(aml_equal(aml_arg(1), aml_int(0x1)))); aml_append(ifctx1, aml_or(aml_name("CDW1"), aml_int(0x08), @@ -192,7 +193,7 @@ void acpi_dsdt_add_gpex(Aml *scope, struct GPEXConfig *= cfg) if (is_cxl) { build_cxl_osc_method(dev); } else { - acpi_dsdt_add_pci_osc(dev); + acpi_dsdt_add_pci_osc(dev, true); } =20 aml_append(scope, dev); @@ -267,7 +268,7 @@ void acpi_dsdt_add_gpex(Aml *scope, struct GPEXConfig *= cfg) } aml_append(dev, aml_name_decl("_CRS", rbuf)); =20 - acpi_dsdt_add_pci_osc(dev); + acpi_dsdt_add_pci_osc(dev, true); =20 Aml *dev_res0 =3D aml_device("%s", "RES0"); aml_append(dev_res0, aml_name_decl("_HID", aml_string("PNP0C02"))); --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535783; cv=none; d=zohomail.com; s=zohoarc; b=d/fc55pnVM79y74U1G6oU41DAE1l+o+/ZunGDOsO9ymN+ZAbY3mu2iYHWzLSAH/U5mzSVvOGPJuqoPJtKZ2jYHm5I0lBMkBiAmeIhwq9LbOJMqvjN6iLQaaI2tyrCyKXcOdoE3Y+Jvjy3bH3t8qNG/kVkBeA4fHrvYFXMmuhRPs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535783; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=mJT1WNX9x5yUAyAqjvE4oJoegL0vp/Icnnrd7gTuHFs=; b=g8Crjoxmv/RBN3M8G8anQOJ/SYxg0dYLe3xlO5qH5RxZUyYt0GMnJ6uTUnqLzRWZidhAwp5z2lrHqH8KlCecz3CpbOAoqK/JIx3d4jzxtUhG4ftmKN1/fFZLEskeekatjTZdkcIbWgK3aSpNPy86mOuhv1ro0txAyU1aJZLN2Gg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535783425830.0069797801715; Mon, 14 Jul 2025 16:29:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSIM-0002ek-U2; Mon, 14 Jul 2025 19:09:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHe-0007D8-50 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:30 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHc-0005iX-Fr for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:29 -0400 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-338-unK_XWmbORS8YD4hmxhFpQ-1; Mon, 14 Jul 2025 19:08:26 -0400 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-3a50816cc58so1639107f8f.3 for ; Mon, 14 Jul 2025 16:08:25 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8bd1784sm13431907f8f.5.2025.07.14.16.08.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534507; 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: in-reply-to:in-reply-to:references:references; bh=mJT1WNX9x5yUAyAqjvE4oJoegL0vp/Icnnrd7gTuHFs=; b=SErng7NPq5sdZb31tqD5Pb1RhXeEaU1ybOC8m0sYmLOxMwvD628Rh34xh696IiEduAUjia XK2jIstOHwWqgzOPpKLOQmiQ5N8t8eKFCvdiSHHVrVKgiOcSeDSjtwDR7DIafMr2n/00M5 BLl6P1NQ/nEVgY6iOCF82OYHpDzxgeU= X-MC-Unique: unK_XWmbORS8YD4hmxhFpQ-1 X-Mimecast-MFC-AGG-ID: unK_XWmbORS8YD4hmxhFpQ_1752534504 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534504; x=1753139304; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=mJT1WNX9x5yUAyAqjvE4oJoegL0vp/Icnnrd7gTuHFs=; b=BnR/Hq6A2EtQKO5VV+8rrmB5c9xUn+qeGg8W+XPO72ZdQBGM4uRmwQj3uMiA4ejxNE 2vwxlJJBc1OTEFGY2wDTtOh3z7ejndWLmuQqyQKUr0PigMHvIoiBwJ/CQUOUJGTtgR11 mJVuZwTHKI3WoevoDHeWgu9vh37US5tAPErYsWmtJlTmlBEMUWResaCt5EBf6pJWHod5 Cn9RPOlMS8WoS8D7UqsyCAyFKw8iaRH16t74TCEmrIrAf4Mm9Dyw1mc4+YsHGBSBDP9T V2/yxduw5IWPoBL+LW3NOvOtbZhtDAzzMZb/NdikCvJQa/I6Y09TXE9Ibr5aA8oOgmP/ yhfg== X-Gm-Message-State: AOJu0Yw3bfDwZ8vlk6vvQxsGJ2+gUSG1yIghnROiXqhdfDRvnzomPYdV W77MpqwobfofGP9GLKviWYNlK3xdYAAacs+ErU0GlDkLe6DeGPU9ldS0L2uqGf798iWAhmefL0+ /jpggbWtFKTBj8jLmQRkWuobw4UhwMGoZM+eF6Q2J5D4ofzDULZNB+yE/sPecDAgkVjJdTQwQhb GfXqRKgMW27IbEcDd4D6MRfJdAwFDpUBrmzQ== X-Gm-Gg: ASbGnctzKsLjN3ox64qOScjh6hRp5dlbqIIb227xYlUXhFJLmu3261Euif87FesLzsn L42AD+0e26ApKiADyI2R0jvTFbmEiYL35VtKLrWtW8WkZzO6J/S9aJWd2ZOYh06qNiLR2JWxmbo NClhRqPg3npkbNTsea22f5Wvw8DVMLZPNlp97ClWPiDYfeyLYt8rPQ9tD5Yf3vEsfSM/ne1b6+q 3y2sg6RIidx6lhKZ8GzAT5QAS8Iw9iWN4AEQX7p3jQ3JzfhtM+mhZFUe0WhDl9R+JlLnVro/BFE ZnJ67/IL90iHmnwEuGJW2+utC570P61Q X-Received: by 2002:a05:6000:3ca:b0:3a1:f5c4:b81b with SMTP id ffacd0b85a97d-3b5f188e6demr11854241f8f.23.1752534503777; Mon, 14 Jul 2025 16:08:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGVrW9fQiE3mgxHGGRHnXBLCFJE7Egt7JpJyOVIAfcQFr0jF/PqWr0Iy7VF0tsoK+mzHkpXPw== X-Received: by 2002:a05:6000:3ca:b0:3a1:f5c4:b81b with SMTP id ffacd0b85a97d-3b5f188e6demr11854213f8f.23.1752534503244; Mon, 14 Jul 2025 16:08:23 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:21 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Gustavo Romero , Eric Auger , Jonathan Cameron , Igor Mammedov , Ani Sinha Subject: [PULL 50/97] tests/qtest/bios-tables-test: Prepare for changes in the DSDT table Message-ID: <0c6b596140b82ac6b3204bf0c491a6f05f24c658.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535785871116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Gustavo Romero This commit adds DSDT blobs to the whilelist in the prospect to allow changes in the GPEX _OSC method. Signed-off-by: Gustavo Romero Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Acked-by: Igor Mammedov Message-Id: <20250714080639.2525563-5-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test-allowed-diff.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index dfb8523c8b..8d9673cb5d 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,12 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/aarch64/virt/DSDT", +"tests/data/acpi/aarch64/virt/DSDT.acpihmatvirt", +"tests/data/acpi/aarch64/virt/DSDT.memhp", +"tests/data/acpi/aarch64/virt/DSDT.pxb", +"tests/data/acpi/aarch64/virt/DSDT.topology", +"tests/data/acpi/loongarch64/virt/DSDT.memhp", +"tests/data/acpi/loongarch64/virt/DSDT.topology", +"tests/data/acpi/loongarch64/virt/DSDT.numamem", +"tests/data/acpi/loongarch64/virt/DSDT", +"tests/data/acpi/x86/microvm/DSDT.pcie", +"tests/data/acpi/riscv64/virt/DSDT", --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535727; cv=none; d=zohomail.com; s=zohoarc; b=Ap2Qr6ikIPsX+EKIzGBdN2e2UJXCPpJ6Vxo7Z5Bi+cPza7OT3aEcqf4n2a5rlHRM5nGdMOU3zBlnEiH4wKU3rki1nqFYR3WGflH3dfcp2sSanu3besqa8QL02IkhUcE+QFYLkrA710v+tnSH6KVVaX9sbDOZNEM9NyVDxIDfLXQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535727; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+wbJnSPmdnkTB07xxoDVx4fnjYZMrqWMMUZI9R+zM+Q=; b=XXQ+yVYRDL1ArMP+rZrlXSsDh/BpPyE8P6SDb7UDCgJVkTyl7b0bwsnANHMt6eT2bNvpXA3s/kgsuU4NANuoHmkHn9NVlvf+8X1V2SncfWRozNmE3gTjiIJSyYRbkaL9gafufOxwcb1G1t5i7pXhp/OzCyDIe9NbAZSlMNgJtj8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535727485997.4342281474634; Mon, 14 Jul 2025 16:28:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSIX-0003tt-QS; Mon, 14 Jul 2025 19:09:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHg-0007Re-15 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:32 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHe-0005ip-9P for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:31 -0400 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-680-XstMK5cgP6eC4OrUzjRmVA-1; Mon, 14 Jul 2025 19:08:28 -0400 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-455e9e09afeso16525205e9.2 for ; Mon, 14 Jul 2025 16:08:28 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e14ce6sm13745217f8f.68.2025.07.14.16.08.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534509; 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: in-reply-to:in-reply-to:references:references; bh=+wbJnSPmdnkTB07xxoDVx4fnjYZMrqWMMUZI9R+zM+Q=; b=RJxi3ev5oyvUWzo4rBrz+PQ8GoAtixyOeUPjzgOXxNBm6y6DaAwGEjak557HcWyLz+B12/ Q/2ZP85uHYv/FkLJjcYYigfj1Z+HnytrytrNSqZTBfqq14mWtGJj1rUTjcnpwTJ1z09Yow zjvyCJlyq61c7C8wFbPLgC4hB9rfKCg= X-MC-Unique: XstMK5cgP6eC4OrUzjRmVA-1 X-Mimecast-MFC-AGG-ID: XstMK5cgP6eC4OrUzjRmVA_1752534507 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534507; x=1753139307; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=+wbJnSPmdnkTB07xxoDVx4fnjYZMrqWMMUZI9R+zM+Q=; b=TyIBYReGke/MT8gdflMqSQEP73+YPtZTGLgWZmxK1gitu2eTx2EbthB6jBlu0LuTMc WmLOHpIece4Oeg+6koJchDY+quLr4Uaazx8bTrJZo32rjfaRx2UEdqSKx0N2Zix4E3nT 48SqXE5pJPLINFXQfPO7eYsBUCB4Me975qD0oUJg4SDyzxG7pIGgjVEMuhzFFlk15Ew9 G49jj9Wg8ex2e5t/qXmTRCW8lAtGjPYvUv3xa5zmfQ8yqBZ9dE08zkVhdA95hgXCyf/T gOPW+fR6pGq+Fj9h75H1BNSKZBhGxcHsmMV+HhBpMJXAq2+dc/Ax3I/Jl5D8I8FJfyxy 7F/g== X-Gm-Message-State: AOJu0YwVAQDY8nOT+hozs2U/CXiCID4lvwPQ3gLNM17Y10iNAVlKWZvA 1cJJhM5LRfsg8ez4hHvHT2P3dzbIvEBm+xaMGTmxJ66T5rNyzLMAFSSVT0HyoYm7EXX+fVxAeqY V9y9QtV6QRBQ7Kgfi+eCarTDfGrkO40krvIq+HW4toOEJkiLs+YOz1ZMyu/yXws8wKp2cf9srok dyLruy90N/qyO1Ui9BsLxRwpnNcjZjlmU1Vg== X-Gm-Gg: ASbGnct0yS3yj2Egniq87spgNq+Pr7TSiw+HFhDFjvfIwmWXzvwRLCGSSUIEOeob/GE soOxzW4Hp6iMEtaFBjlbCFPAE/VJ9p3jljA1KzipXJqICwUlcX7Hv8FMVOi4PjSpH+jzZmHKLzZ wxa/44/i/Z9RbxrAYjC+PbK0I5aLChFNjmE6Ion16MRbOOMhWz5lYkRViW0MM541t+xEG5gxCIy Y78o+NCm+2eGfGD9LTeDRJt0gH8qv+3YTyGPaubJ7njzhHuiL1V9klIL10GKC0ttALqITkwVJMQ 4eZs+/Q0k4BakOk/t8YGNhzEYAH9GWsp X-Received: by 2002:a05:600c:c117:b0:455:f187:620c with SMTP id 5b1f17b1804b1-455f18765ccmr91903045e9.24.1752534506918; Mon, 14 Jul 2025 16:08:26 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEudzg4cwByo1xfLkKDRkXzYxm1dK7Zx8TlZ/PlIWznE1A3mLlWyVvsuyZzjefPuLkHxDdjTg== X-Received: by 2002:a05:600c:c117:b0:455:f187:620c with SMTP id 5b1f17b1804b1-455f18765ccmr91902885e9.24.1752534506533; Mon, 14 Jul 2025 16:08:26 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:23 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Jonathan Cameron , Igor Mammedov , Gustavo Romero Subject: [PULL 51/97] hw/pci-host/gpex-acpi: Split host bridge OSC and DSM generation Message-ID: <5ea2a84eab8fb2759eb4146219b90c0afa6f416e.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535729076116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger acpi_dsdt_add_pci_osc() name is confusing as it gives the impression it appends the _OSC method but in fact it also appends the _DSM method for the host bridge. Let's split the function into two separate ones and let them return the method Aml pointer instead. This matches the way it is done on x86 (build_q35_osc_method). In a subsequent patch we will replace the gpex method by the q35 implementation that will become shared between ARM and x86. acpi_dsdt_add_host_bridge_methods is a new top helper that generates both the _OSC and _DSM methods. We take the opportunity to move SUPP and CTRL in the _osc method that use them. Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-6-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/pci-host/gpex-acpi.c | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/hw/pci-host/gpex-acpi.c b/hw/pci-host/gpex-acpi.c index f34b7cf25e..80fc2bf032 100644 --- a/hw/pci-host/gpex-acpi.c +++ b/hw/pci-host/gpex-acpi.c @@ -50,14 +50,12 @@ static void acpi_dsdt_add_pci_route_table(Aml *dev, uin= t32_t irq, } } =20 -static void acpi_dsdt_add_pci_osc(Aml *dev, bool enable_native_pcie_hotplu= g) +static Aml *build_host_bridge_osc(bool enable_native_pcie_hotplug) { - Aml *method, *UUID, *ifctx, *ifctx1, *elsectx, *buf; - - /* Declare an _OSC (OS Control Handoff) method */ - aml_append(dev, aml_name_decl("SUPP", aml_int(0))); - aml_append(dev, aml_name_decl("CTRL", aml_int(0))); + Aml *method, *UUID, *ifctx, *ifctx1, *elsectx; method =3D aml_method("_OSC", 4, AML_NOTSERIALIZED); + aml_append(method, aml_name_decl("SUPP", aml_int(0))); + aml_append(method, aml_name_decl("CTRL", aml_int(0))); aml_append(method, aml_create_dword_field(aml_arg(3), aml_int(0), "CDW1")); =20 @@ -103,9 +101,13 @@ static void acpi_dsdt_add_pci_osc(Aml *dev, bool enabl= e_native_pcie_hotplug) aml_name("CDW1"))); aml_append(elsectx, aml_return(aml_arg(3))); aml_append(method, elsectx); - aml_append(dev, method); + return method; +} =20 - method =3D aml_method("_DSM", 4, AML_NOTSERIALIZED); +static Aml *build_host_bridge_dsm(void) +{ + Aml *method =3D aml_method("_DSM", 4, AML_NOTSERIALIZED); + Aml *UUID, *ifctx, *ifctx1, *buf; =20 /* PCI Firmware Specification 3.0 * 4.6.1. _DSM for PCI Express Slot Information @@ -124,7 +126,15 @@ static void acpi_dsdt_add_pci_osc(Aml *dev, bool enabl= e_native_pcie_hotplug) byte_list[0] =3D 0; buf =3D aml_buffer(1, byte_list); aml_append(method, aml_return(buf)); - aml_append(dev, method); + return method; +} + +static void acpi_dsdt_add_host_bridge_methods(Aml *dev, + bool enable_native_pcie_hotp= lug) +{ + /* Declare an _OSC (OS Control Handoff) method */ + aml_append(dev, build_host_bridge_osc(enable_native_pcie_hotplug)); + aml_append(dev, build_host_bridge_dsm()); } =20 void acpi_dsdt_add_gpex(Aml *scope, struct GPEXConfig *cfg) @@ -193,7 +203,7 @@ void acpi_dsdt_add_gpex(Aml *scope, struct GPEXConfig *= cfg) if (is_cxl) { build_cxl_osc_method(dev); } else { - acpi_dsdt_add_pci_osc(dev, true); + acpi_dsdt_add_host_bridge_methods(dev, true); } =20 aml_append(scope, dev); @@ -268,7 +278,7 @@ void acpi_dsdt_add_gpex(Aml *scope, struct GPEXConfig *= cfg) } aml_append(dev, aml_name_decl("_CRS", rbuf)); =20 - acpi_dsdt_add_pci_osc(dev, true); + acpi_dsdt_add_host_bridge_methods(dev, true); =20 Aml *dev_res0 =3D aml_device("%s", "RES0"); aml_append(dev_res0, aml_name_decl("_HID", aml_string("PNP0C02"))); --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535232; cv=none; d=zohomail.com; s=zohoarc; b=JOhd0gbxcgODrpFLnr9UG6ytwDAymhVmxP5iCIE7nkK5DFl319BUzIBu5TQZ9qLKTl80K6EsMypm/gRXKFVL5emyFsXlliDGt0r2w0zSFBz/m88ZuQYgvPkPdvVz0jKWCGgB+kpd/bMujxALOPXRKARyo6zoSiE/LJ2OFbidxpk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535232; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=mBAdJp1rqDVVs7QASn1O1zm/GNfKpJpX2cGJCvOgR1I=; b=Ci+6Sxu4I3IbfLdfCiuZME8fHDAl6rsm5ezA8+Rr2WKKbIYdvj9n9MGxORPlBWfArb4r8EuO1kRp7AUGPdNWMDfwK3gmNymeE9lZO4vQ8vp+qN+cqjKvdeDPDJ8vLoCWnksAKaCmDKVcuPrX+luG9mCc5UywXWyMdZMIBdlHQdM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535232746217.83436163693364; Mon, 14 Jul 2025 16:20:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSJ9-0004wo-MN; Mon, 14 Jul 2025 19:10:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHk-00081K-JB for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:36 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHi-0005jJ-HC for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:36 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-379-Jh5BgHvEO-m-x-tuy4Rz8g-1; Mon, 14 Jul 2025 19:08:31 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-451ac1b43c4so26268405e9.0 for ; Mon, 14 Jul 2025 16:08:31 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4560f22cd29sm74054005e9.34.2025.07.14.16.08.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534513; 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: in-reply-to:in-reply-to:references:references; bh=mBAdJp1rqDVVs7QASn1O1zm/GNfKpJpX2cGJCvOgR1I=; b=HPodbNdrxD1jeXLd6Huba6SF25+7pKXciTeFPQXBylDuCrNHUrItV9uQ3wM+lL2D4i9ixq RbqjAGFueQmaX025yVkj+RoDOtvlxyY7JaeKX2QozmxFAJKH6lIr44zQUpCmhInQi+RAaS BWpIPn34eYd0R+JOKY2Ytqik9N4BtYM= X-MC-Unique: Jh5BgHvEO-m-x-tuy4Rz8g-1 X-Mimecast-MFC-AGG-ID: Jh5BgHvEO-m-x-tuy4Rz8g_1752534510 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534510; x=1753139310; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=mBAdJp1rqDVVs7QASn1O1zm/GNfKpJpX2cGJCvOgR1I=; b=RwEMulzjc2TYyblIzInNWRdT285+s597+bYwLwmcdGvhv6wygto8OdbES9LATnYwXY +2nmJ986V+OZ7DeXTjU6vgrrw9Nyh/IeFYugR1LQ5UxgzuyFK4fcIlu2DQ+6+/7TIhiN mWumqrpOdoPvXlii7GKoupYAefkVOb54c8FdS02z/AvLNUTIZjPco0mfUQamHd3DRs4Z JhuZGRbhx2SoWelnpb2R/NI3u6+Xh7Ou8xALzAAQbN+QCjXKxAt2qDcq+kNUwDoSGiZV HVxPhfC4dSdaXUOr4bbSu0rOHgzbfo4Vpz/FuH/Ku7aq3KdvIGK6F1dyEA3UgRjrsA+p BzMw== X-Gm-Message-State: AOJu0Yx5QPbyS0kFpbrZINCD1LOP0FgBMUBZNvPfv9MC9+Vi8Z/Lukyy aHhlgyPJvbBWRTpeHgPFBCFjFBRKxM+YDy2tyJFeaJ2JOnvD+4SUyQg/PgB39qp5EeZhTjwmL/Q mRtd5P8tqSiCE1k2FPjyNJq1lOFagrgVzioi4LfjPthNEPI61waXXLai2CrFkwOpdyY8Bj5vY7F FrdIcYCGKB7Buolbr+bMyubZKjPhAhiNJHrg== X-Gm-Gg: ASbGncvGGH8NOx6CKA5J1i3gzJpu5ltAqFBogokYxQllBkzJULhekMsNqXf6MpIPy1b E6pvnr2JLvHrH8Xbh5+FJl7ouZXQOWDcKh/yT+2zyNIom9KTwV44JsQ6AcDojPlfyAuMzeBEIn0 elmRsqDvQgzjU0U7HIqCz3glc0SZ2UsX8+pi/qleSNYi+WcKYTPWThqO6+EQ547+cfVmzqRnHM/ mk/T+B+k4FCxqij+EvKaF9Ul3xA4FeUJ/dqo6snUv2/jA+QbJUDnuVGOTqcTboApq1xdozhwGjy 4HyMwP7tGXBRJTpoRQ7n64VrIFJ38LBG X-Received: by 2002:a05:600c:8b85:b0:456:11db:2f1e with SMTP id 5b1f17b1804b1-45611db3291mr74629185e9.15.1752534510206; Mon, 14 Jul 2025 16:08:30 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHtRNZBp+NkAgPBPnCQ2eVEN57LAbqkm8HRfnzM5lDvCEh18Vw3xe2FdBLqhMjUx2ZZ/MgaXA== X-Received: by 2002:a05:600c:8b85:b0:456:11db:2f1e with SMTP id 5b1f17b1804b1-45611db3291mr74628955e9.15.1752534509783; Mon, 14 Jul 2025 16:08:29 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:26 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Jonathan Cameron , Igor Mammedov , Ani Sinha Subject: [PULL 52/97] hw/acpi/ged: Add a acpi-pci-hotplug-with-bridge-support property Message-ID: <9d10f71e9c4519aecf6d7465b569386d5bd5b32f.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535234835116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger A new boolean property is introduced. This will be used to turn ACPI PCI hotplug support. By default it is unset. Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-7-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/acpi/generic_event_device.h | 2 ++ hw/acpi/generic_event_device.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/include/hw/acpi/generic_event_device.h b/include/hw/acpi/gener= ic_event_device.h index d2dac87b4a..f5ffa67a39 100644 --- a/include/hw/acpi/generic_event_device.h +++ b/include/hw/acpi/generic_event_device.h @@ -63,6 +63,7 @@ #include "hw/acpi/memory_hotplug.h" #include "hw/acpi/ghes.h" #include "hw/acpi/cpu.h" +#include "hw/acpi/pcihp.h" #include "qom/object.h" =20 #define ACPI_POWER_BUTTON_DEVICE "PWRB" @@ -114,6 +115,7 @@ struct AcpiGedState { MemoryRegion container_memhp; CPUHotplugState cpuhp_state; MemoryRegion container_cpuhp; + AcpiPciHpState pcihp_state; GEDState ged_state; uint32_t ged_event_bitmap; qemu_irq irq; diff --git a/hw/acpi/generic_event_device.c b/hw/acpi/generic_event_device.c index 7a62f8d5bc..7831db412b 100644 --- a/hw/acpi/generic_event_device.c +++ b/hw/acpi/generic_event_device.c @@ -318,6 +318,8 @@ static void acpi_ged_send_event(AcpiDeviceIf *adev, Acp= iEventStatusBits ev) =20 static const Property acpi_ged_properties[] =3D { DEFINE_PROP_UINT32("ged-event", AcpiGedState, ged_event_bitmap, 0), + DEFINE_PROP_BOOL(ACPI_PM_PROP_ACPI_PCIHP_BRIDGE, AcpiGedState, + pcihp_state.use_acpi_hotplug_bridge, 0), }; =20 static const VMStateDescription vmstate_memhp_state =3D { --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535639; cv=none; d=zohomail.com; s=zohoarc; b=auR+z4l+2sRyxf5pKMJFLE/j0fwYVbTE+qFzlcdbNGBQcVVsJ2VsgCmtgSyUgtK5J+EcygjTOqhmknnkQvc2M9xK/O7Ku0kua4KRsqN8gm+Y3r1MtW+w4TXlpLohYPNJ/LIRKC+5TkCR9CTgXSBeD7Qm0ZMOPlTovlTSSaNZ1zk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535639; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=plxvBEcPHMctPzf6xD9j7d/D3J7YMP4bRSmar6SnUeM=; b=Ij1fmmrUAOGTFfk6fISGk220/3CfHDkEtoTOnv6uj7nYadgio0w8nJLTjlte/bcZjdnFVk/UkJ9YZNhpH9HHElXen+q8YX4u9RGwzAMNJDuG5t0KVHxA6SLcAfcl8maN7lB8KaqR7vkhveCO2wCQPgqszbZg5DenyxrC41afQfA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535639796986.6021463772267; Mon, 14 Jul 2025 16:27:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSIl-0004b1-Db; Mon, 14 Jul 2025 19:09:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHn-0008OT-F1 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:39 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHl-0005jo-O1 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:39 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-257-YFRwpRJoNC-9XaEQFxZWvw-1; Mon, 14 Jul 2025 19:08:34 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-455ea9cb0beso26557425e9.0 for ; Mon, 14 Jul 2025 16:08:34 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e262c6sm13329144f8f.85.2025.07.14.16.08.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534516; 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: in-reply-to:in-reply-to:references:references; bh=plxvBEcPHMctPzf6xD9j7d/D3J7YMP4bRSmar6SnUeM=; b=cn3Lp4Uz+BMNJwZvr+yHWty3/dXs5ZQ/x7IMy7oReLzyL8D5Zn3FE185HbTWZc0cJOsteo Y+uxKjXXhI6EbEEtkjVAHWdsYP/CfZOs0NsVclmte6U9IgGKfPEbHY8yPEkvEjf/QEbrgT cSMlVUr94tNKRyyw/rifjNQbkCNep0g= X-MC-Unique: YFRwpRJoNC-9XaEQFxZWvw-1 X-Mimecast-MFC-AGG-ID: YFRwpRJoNC-9XaEQFxZWvw_1752534513 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534512; x=1753139312; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=plxvBEcPHMctPzf6xD9j7d/D3J7YMP4bRSmar6SnUeM=; b=IbrlTRhvsCG5C2Z2IdoaTC5BelskZ1OwlV/K0RQv63tITSNvhZKPh41fjEPMPkq5HO a9yMEiYMIu/rDsIwcFSPL+wqY6vgSWwTz6A9eWEUW0gxWiQN0cOseF5wLMahgOhoXjUX nrO4ztb50cLogXv2XQviaJnnTzBc+2wrNYNpD+EDzWY3ZxBQpQdVBcMKyTjaROcaXaEh E99FHQdaYj1rRQVIk/BZBRk3Tmd1CoEw69nmNNrMEwf9AXmazwr3ijEZcK/PbnZ5A+vx lVDPEEjNlsk7cUupBtV2LVDNcH9J/aCp/zHy1Zlc9XJfWuI+AjdNO+2GC08Bx28voAyp 08uA== X-Gm-Message-State: AOJu0YzkTokkeLLFrBGqMPQJ3kLxBbgcGzhHUfjxjuJAqKi96TZwS+lf 9FRX4yuDQQ+twD/J1GbKLR3S/NAYvJEiMah3M21vA7tIch7HWpTzfeIs5Ct7xS1Lm+mvQ8r4YqV eP5jf7egvU5m8t4zqs9vXG/xBZjE2YpRBSaSxD+GyTuevE/QHLXiIBSzAFiX2g+xiWYtqXydpRS ep9UJLT7f4GSd6LKPDyWvvIbUXZsXaB+vnNA== X-Gm-Gg: ASbGnctY3uFtRhkjzwxL+ziSQyblhflzeslQOXYGi3FQHYLN4f0LnmZQsT+3bfIIU3I 3VNcmBHuLVmgclJGciu2NwWd/TZ5rALZLkcrqURsc/qkACErUQUDw+llPebJrirEHWUpf0BI7Ee QRsIvZ3hHZDxNQxlPqxBRghVeGuHASRy1W+Uih2TFp9lWA1AMRfefLPwsbdErm/HBOH7klAm61M YhyQkCfdQO+BH9zQ/eX2kML0LszdKoGqGNVAFABnCv+XTa2O4sB6Ad+StoUe3TlBfU7MEJjtXLf ZwAScRmsTqxnuOYZbVN41eUPzkspN8Lc X-Received: by 2002:a05:600c:3b17:b0:455:fc16:9eb3 with SMTP id 5b1f17b1804b1-455fc16a2ccmr88895035e9.33.1752534512299; Mon, 14 Jul 2025 16:08:32 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHBoIXJHcEcQ8Muau466UevAvgsGG48A6dX83SmCqWaG5XQXmJXTlJKhdgBYsCCLywhd1Ss2Q== X-Received: by 2002:a05:600c:3b17:b0:455:fc16:9eb3 with SMTP id 5b1f17b1804b1-455fc16a2ccmr88894845e9.33.1752534511786; Mon, 14 Jul 2025 16:08:31 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:29 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Jonathan Cameron , Shannon Zhao , Igor Mammedov , Ani Sinha , qemu-arm@nongnu.org Subject: [PULL 53/97] hw/pci-host/gpex-acpi: Use GED acpi pcihp property Message-ID: <48d3d65d86eb120f8441e49a1552a5094345f599.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535640388116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger Retrieve the acpi pcihp property value from the ged. In case this latter is not set, PCI native hotplug is used on pci0. For expander bridges we keep pci native hotplug, as done on x86 q35. Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Message-Id: <20250714080639.2525563-8-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/pci-host/gpex.h | 1 + hw/arm/virt-acpi-build.c | 9 +++++++++ hw/pci-host/gpex-acpi.c | 3 ++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/include/hw/pci-host/gpex.h b/include/hw/pci-host/gpex.h index 84471533af..feaf827474 100644 --- a/include/hw/pci-host/gpex.h +++ b/include/hw/pci-host/gpex.h @@ -45,6 +45,7 @@ struct GPEXConfig { MemMapEntry pio; int irq; PCIBus *bus; + bool pci_native_hotplug; }; =20 typedef struct GPEXIrq GPEXIrq; diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c index 782b17b966..f3bad69aa7 100644 --- a/hw/arm/virt-acpi-build.c +++ b/hw/arm/virt-acpi-build.c @@ -144,12 +144,21 @@ static void acpi_dsdt_add_pci(Aml *scope, const MemMa= pEntry *memmap, int ecam_id =3D VIRT_ECAM_ID(vms->highmem_ecam); bool cxl_present =3D false; PCIBus *bus =3D vms->bus; + bool acpi_pcihp =3D false; + + if (vms->acpi_dev) { + acpi_pcihp =3D object_property_get_bool(OBJECT(vms->acpi_dev), + ACPI_PM_PROP_ACPI_PCIHP_BRID= GE, + NULL); + } + struct GPEXConfig cfg =3D { .mmio32 =3D memmap[VIRT_PCIE_MMIO], .pio =3D memmap[VIRT_PCIE_PIO], .ecam =3D memmap[ecam_id], .irq =3D irq, .bus =3D vms->bus, + .pci_native_hotplug =3D !acpi_pcihp, }; =20 if (vms->highmem_mmio) { diff --git a/hw/pci-host/gpex-acpi.c b/hw/pci-host/gpex-acpi.c index 80fc2bf032..44737a8d81 100644 --- a/hw/pci-host/gpex-acpi.c +++ b/hw/pci-host/gpex-acpi.c @@ -203,6 +203,7 @@ void acpi_dsdt_add_gpex(Aml *scope, struct GPEXConfig *= cfg) if (is_cxl) { build_cxl_osc_method(dev); } else { + /* pxb bridges do not have ACPI PCI Hot-plug enabled */ acpi_dsdt_add_host_bridge_methods(dev, true); } =20 @@ -278,7 +279,7 @@ void acpi_dsdt_add_gpex(Aml *scope, struct GPEXConfig *= cfg) } aml_append(dev, aml_name_decl("_CRS", rbuf)); =20 - acpi_dsdt_add_host_bridge_methods(dev, true); + acpi_dsdt_add_host_bridge_methods(dev, cfg->pci_native_hotplug); =20 Aml *dev_res0 =3D aml_device("%s", "RES0"); aml_append(dev_res0, aml_name_decl("_HID", aml_string("PNP0C02"))); --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535797; cv=none; d=zohomail.com; s=zohoarc; b=PH6Dr2BI7Y7mzyZO00g1uiMg7ZbmsMVx4zJP5Rsq9HkWfP8V32R9hZBHgMOygnX+r1pByeE46pJ3lZV421A73gQJ8R5VA4uphiPpzGnxlQonap/pY5VczhfYJGywg5ByiF/Y0+4rWBVCL6ymjY73M/GqP6WxXuPjTABAmnIJsfc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535797; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=i1YFz09Xgb5Qd/+4ZY+2j8LQRJgSizS8EitDV6gI6vE=; b=Fh8D1Hh3swDawIcl/UjNlZyQOBZmMNq9/E7sDordD9dzpqIDVJPS1hV1EG8Dh1WEK9FiuotNZMOhh2TZQsr5v6394u0vpF2O9Pm4o3tcIzt7rnRJZ8fziLlh9vdnKdC7VaGfgdKuEYtRIyd/+fD59Lxzc6+48MGZvTqDib2Nd8A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535797130300.4044764228097; Mon, 14 Jul 2025 16:29:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSJA-000549-KI; Mon, 14 Jul 2025 19:10:04 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHp-0008UE-0H for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:41 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHm-0005kK-TE for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:40 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-401-1T0wSP9gOguQ_SIkSslaUg-1; Mon, 14 Jul 2025 19:08:36 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-455e918d690so15703035e9.1 for ; Mon, 14 Jul 2025 16:08:36 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e0d872sm13731943f8f.60.2025.07.14.16.08.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534518; 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: in-reply-to:in-reply-to:references:references; bh=i1YFz09Xgb5Qd/+4ZY+2j8LQRJgSizS8EitDV6gI6vE=; b=Np5cXhr2V+Lbek2Tm44UphUj69n2rhG66XXJkkCCRQaveoEsTQppwRzg9pReDpFDTKkqgs rSH91UkFLxNExDi9Fm8uR2tA9YH4VMWn/mPJCzOLmCnTVAzQyfCu5o8qrAy26qTk/FVwQD VDsYuAsaviGQiwL9NOB04xE5m1eM1bg= X-MC-Unique: 1T0wSP9gOguQ_SIkSslaUg-1 X-Mimecast-MFC-AGG-ID: 1T0wSP9gOguQ_SIkSslaUg_1752534516 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534515; x=1753139315; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=i1YFz09Xgb5Qd/+4ZY+2j8LQRJgSizS8EitDV6gI6vE=; b=Lr0Z6RvrMTtHc8qXhNdW6IDa3SIMJs0eGLABDzs2PAPOb1hQgUe90yXu2N0W+lbgnO la3VRCM5qWsSSkN502asCk2i1dL8YNm//DgIEcEdJBjSyB+WtNearKziTc/JSIaY8JuV bHJ9yTTNxAUf2t3kf28q0bIgLZoP/b6Y+qxx941Y1iL2xDfcJiGmUKbBst7TzB6nZpyv 5WJmrxVhyiUKfUvjc57RavmvObaU3i7R1jF8zFzTuc3duTmWMy4lX9YEHWifmJfxL8pU KXGC+h0pSrJUYnvZZ1ClVfTmOQd1FWQwcfl350QX1QOFqx5nuyhiBEdgGdX6Fuy2zKSO WyjA== X-Gm-Message-State: AOJu0YzOsSLevT58uUf5Hgxlmi2zO2WE/Dd0YL0fJF8+xpNQ0IpxKzNl wqexBi/4RZz/xiZ45S/PWwPYp9cSp1wvL6B2pFxQIJ1yW02Gld7YEv3X1FLgslkDPzSFTApubxw /bvMrk79rEUwdmkGHEnC9DcMrtThRiBmpVfq1wKYNuDsz/GPs8KcBZ6RQp5AMJFqGYbyMLTo88z Pw/vitnq6+tKeLg+koAbmMUrngFDjy1Omk3A== X-Gm-Gg: ASbGnctHL+Q2HfZs4bxAA6SeVWPKS41xVcw1EeLr8QEYzBAujrX12wWUgxDXBY83stO rcCXQoKFugPhRSi6qd630rcf67vNDAn2r0J9jyLtqOM/D97d2z42d4ZFWE3wCzc6Vh/lVyMBuN6 xeXfhFL1C+LZGUF2PXdi0wTPpuyYQzZoQtyPOpZpwvBmxaE9pz0Nc4weuU5V0iWInhsieeDr4dF 1t1KUAo3AczZEMUKPLJtzku5doGkO0TvZH+Nv8VzxGUV7zhVHtszp2uaedHVp+CoBotrqzFR4W6 MrdI94oVAPmImEmrTbvhRJ4Y1uNNJIng X-Received: by 2002:a05:600c:4f93:b0:456:1a79:49a0 with SMTP id 5b1f17b1804b1-45625e5fb81mr11304235e9.8.1752534515235; Mon, 14 Jul 2025 16:08:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFlTbd09g7q/TjVU6+NhwOMPmUAvdYAC1Jh/y+uJmNyVud0hXluddzQg2zjk/EYuTPA5drGag== X-Received: by 2002:a05:600c:4f93:b0:456:1a79:49a0 with SMTP id 5b1f17b1804b1-45625e5fb81mr11303985e9.8.1752534514656; Mon, 14 Jul 2025 16:08:34 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:32 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Jonathan Cameron , Igor Mammedov , Ani Sinha , Paolo Bonzini , Richard Henderson , Eduardo Habkost , Marcel Apfelbaum Subject: [PULL 54/97] hw/i386/acpi-build: Turn build_q35_osc_method into a generic method Message-ID: <2cf1e6ff63b11c1e47c80b893d64db0d52a811d7.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535797876116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger GPEX acpi_dsdt_add_pci_osc() does basically the same as build_q35_osc_method(). Rename build_q35_osc_method() into build_pci_host_bridge_osc_method() and move it into hw/acpi/pci.c. In a subsequent patch we will use this later in place of acpi_dsdt_add_pci_osc(). Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-9-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/acpi/pci.h | 2 ++ hw/acpi/pci.c | 50 +++++++++++++++++++++++++++++++++++++++ hw/i386/acpi-build.c | 54 ++----------------------------------------- 3 files changed, 54 insertions(+), 52 deletions(-) diff --git a/include/hw/acpi/pci.h b/include/hw/acpi/pci.h index ab0187a894..8a328b580c 100644 --- a/include/hw/acpi/pci.h +++ b/include/hw/acpi/pci.h @@ -42,4 +42,6 @@ void build_pci_bridge_aml(AcpiDevAmlIf *adev, Aml *scope); =20 void build_srat_generic_affinity_structures(GArray *table_data); =20 +Aml *build_pci_host_bridge_osc_method(bool enable_native_pcie_hotplug); + #endif diff --git a/hw/acpi/pci.c b/hw/acpi/pci.c index d511a85029..2228f1245e 100644 --- a/hw/acpi/pci.c +++ b/hw/acpi/pci.c @@ -301,3 +301,53 @@ void build_srat_generic_affinity_structures(GArray *ta= ble_data) object_child_foreach_recursive(object_get_root(), build_acpi_generic_p= ort, table_data); } + +Aml *build_pci_host_bridge_osc_method(bool enable_native_pcie_hotplug) +{ + Aml *if_ctx; + Aml *if_ctx2; + Aml *else_ctx; + Aml *method; + Aml *a_cwd1 =3D aml_name("CDW1"); + Aml *a_ctrl =3D aml_local(0); + + method =3D aml_method("_OSC", 4, AML_NOTSERIALIZED); + aml_append(method, aml_create_dword_field(aml_arg(3), aml_int(0), "CDW= 1")); + + if_ctx =3D aml_if(aml_equal( + aml_arg(0), aml_touuid("33DB4D5B-1FF7-401C-9657-7441C03DD766"))); + aml_append(if_ctx, aml_create_dword_field(aml_arg(3), aml_int(4), "CDW= 2")); + aml_append(if_ctx, aml_create_dword_field(aml_arg(3), aml_int(8), "CDW= 3")); + + aml_append(if_ctx, aml_store(aml_name("CDW3"), a_ctrl)); + + /* + * Always allow native PME, AER (no dependencies) + * Allow SHPC (PCI bridges can have SHPC controller) + * Disable PCIe Native Hot-plug if ACPI PCI Hot-plug is enabled. + */ + aml_append(if_ctx, aml_and(a_ctrl, + aml_int(0x1E | (enable_native_pcie_hotplug ? 0x1 : 0x0)), a_ctrl)); + + if_ctx2 =3D aml_if(aml_lnot(aml_equal(aml_arg(1), aml_int(1)))); + /* Unknown revision */ + aml_append(if_ctx2, aml_or(a_cwd1, aml_int(0x08), a_cwd1)); + aml_append(if_ctx, if_ctx2); + + if_ctx2 =3D aml_if(aml_lnot(aml_equal(aml_name("CDW3"), a_ctrl))); + /* Capabilities bits were masked */ + aml_append(if_ctx2, aml_or(a_cwd1, aml_int(0x10), a_cwd1)); + aml_append(if_ctx, if_ctx2); + + /* Update DWORD3 in the buffer */ + aml_append(if_ctx, aml_store(a_ctrl, aml_name("CDW3"))); + aml_append(method, if_ctx); + + else_ctx =3D aml_else(); + /* Unrecognized UUID */ + aml_append(else_ctx, aml_or(a_cwd1, aml_int(4), a_cwd1)); + aml_append(method, else_ctx); + + aml_append(method, aml_return(aml_arg(3))); + return method; +} diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 4f8572eebe..91945f716c 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -1111,56 +1111,6 @@ static Aml *build_q35_dram_controller(const AcpiMcfg= Info *mcfg) return dev; } =20 -static Aml *build_q35_osc_method(bool enable_native_pcie_hotplug) -{ - Aml *if_ctx; - Aml *if_ctx2; - Aml *else_ctx; - Aml *method; - Aml *a_cwd1 =3D aml_name("CDW1"); - Aml *a_ctrl =3D aml_local(0); - - method =3D aml_method("_OSC", 4, AML_NOTSERIALIZED); - aml_append(method, aml_create_dword_field(aml_arg(3), aml_int(0), "CDW= 1")); - - if_ctx =3D aml_if(aml_equal( - aml_arg(0), aml_touuid("33DB4D5B-1FF7-401C-9657-7441C03DD766"))); - aml_append(if_ctx, aml_create_dword_field(aml_arg(3), aml_int(4), "CDW= 2")); - aml_append(if_ctx, aml_create_dword_field(aml_arg(3), aml_int(8), "CDW= 3")); - - aml_append(if_ctx, aml_store(aml_name("CDW3"), a_ctrl)); - - /* - * Always allow native PME, AER (no dependencies) - * Allow SHPC (PCI bridges can have SHPC controller) - * Disable PCIe Native Hot-plug if ACPI PCI Hot-plug is enabled. - */ - aml_append(if_ctx, aml_and(a_ctrl, - aml_int(0x1E | (enable_native_pcie_hotplug ? 0x1 : 0x0)), a_ctrl)); - - if_ctx2 =3D aml_if(aml_lnot(aml_equal(aml_arg(1), aml_int(1)))); - /* Unknown revision */ - aml_append(if_ctx2, aml_or(a_cwd1, aml_int(0x08), a_cwd1)); - aml_append(if_ctx, if_ctx2); - - if_ctx2 =3D aml_if(aml_lnot(aml_equal(aml_name("CDW3"), a_ctrl))); - /* Capabilities bits were masked */ - aml_append(if_ctx2, aml_or(a_cwd1, aml_int(0x10), a_cwd1)); - aml_append(if_ctx, if_ctx2); - - /* Update DWORD3 in the buffer */ - aml_append(if_ctx, aml_store(a_ctrl, aml_name("CDW3"))); - aml_append(method, if_ctx); - - else_ctx =3D aml_else(); - /* Unrecognized UUID */ - aml_append(else_ctx, aml_or(a_cwd1, aml_int(4), a_cwd1)); - aml_append(method, else_ctx); - - aml_append(method, aml_return(aml_arg(3))); - return method; -} - static void build_acpi0017(Aml *table) { Aml *dev, *scope, *method; @@ -1231,7 +1181,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0A08"))); aml_append(dev, aml_name_decl("_CID", aml_eisaid("PNP0A03"))); aml_append(dev, aml_name_decl("_UID", aml_int(pcmc->pci_root_uid))= ); - aml_append(dev, build_q35_osc_method(!pm->pcihp_bridge_en)); + aml_append(dev, build_pci_host_bridge_osc_method(!pm->pcihp_bridge= _en)); aml_append(dev, aml_pci_edsm()); aml_append(sb_scope, dev); if (mcfg_valid) { @@ -1353,7 +1303,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, aml_append(dev, aml_name_decl("_CID", aml_eisaid("PNP0A03"= ))); =20 /* Expander bridges do not have ACPI PCI Hot-plug enabled = */ - aml_append(dev, build_q35_osc_method(true)); + aml_append(dev, build_pci_host_bridge_osc_method(true)); } else { aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0A03"= ))); } --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534674; cv=none; d=zohomail.com; s=zohoarc; b=MW/pvS865fawHSD5Ef5MG8FaTjqBSdO4G5c4VSJpjkpecu+phUvnykVEnB3YxsUdHWDgCEN9+yC441G+SUW+kypeuaoRh8E3yDWYqJQ2gjjrQI3ZgBsPY6U7G7PW9CDPwclcptusACkX1hobX7kygRjz399i/rxoOW3QEhkz60E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534674; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=e0VIeJ6HIXfBrS3uzEABVTHWPD5pN/hDcySao/2aIR4=; b=bXUZoQw3peTDfpuUwX7STnSdxZhroVyYQuyPtx33S5y7cf7/Fu0Iq79n9aUhQmE04h0IWcs8tY58BXklZQ3SlJ9kjHbW4xAaHsTKgNOThznvW8KbmaarSUEcsL9yvzNgudbIWiZ+ujW+lVywVAnhgAL2FjOUbO8/wqt9u1izAUY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534674129436.103821044701; Mon, 14 Jul 2025 16:11:14 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSJF-0005R9-TD; Mon, 14 Jul 2025 19:10:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHs-0000QL-69 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:44 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHp-0005ks-HU for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:43 -0400 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-460-7AIRNtFbPo2IHOYU0KK4kw-1; Mon, 14 Jul 2025 19:08:39 -0400 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-45597cc95d5so18207715e9.1 for ; Mon, 14 Jul 2025 16:08:39 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4560538da14sm87688685e9.23.2025.07.14.16.08.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534520; 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: in-reply-to:in-reply-to:references:references; bh=e0VIeJ6HIXfBrS3uzEABVTHWPD5pN/hDcySao/2aIR4=; b=A6okobHJY3p1ybo+9tMjqCy0HufJtMT5PGy61ti93mAMVrle2ouMGpwa7UzF48A7qH9d6L UKDRZkmSapkOFfVj0aR8ixhBqYlB8PtwdyMdm9NiUnwChrf5ZG38Wc3SRUy+ENS+O0kdBV vZxmN0xLXlFYZGTREzQPGkNSnalN6b8= X-MC-Unique: 7AIRNtFbPo2IHOYU0KK4kw-1 X-Mimecast-MFC-AGG-ID: 7AIRNtFbPo2IHOYU0KK4kw_1752534518 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534518; x=1753139318; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=e0VIeJ6HIXfBrS3uzEABVTHWPD5pN/hDcySao/2aIR4=; b=M3G+tTHJ5+j4PibR6EmAftzZpNj4QqIh6uqZefVi5gdDosqTYTtKlPXyGNSfHPSFP2 wnubIOPstiVgDg/RdvFUjrgAkGqIFebwtNrKDpM7bIOEBLlUUnewp416f7Ce1XIBc3uf Wq5Uiw1CJ3dfbIICH+mYkRzG6yp2JaGE+hEq5hIq32NCl5EYW6SWGY7+5Z0aMco6+Th+ 50MJXkUBshx0UGRGUkx7OdSCDLvy/Lq+Y4i8xmYBDDwugy/cy73qnqd2bIrKg0j2y2rb S/CMwTg+U7G21UDDo8+EluSxOCsZRgJvJuRXCe02iXpF/E+Qg0T35BWIUqQM4QI0wL8F x2hA== X-Gm-Message-State: AOJu0YxYhUtnhuR7RpLHmu/CZv4rNLdK8KotK0J10hTuYlInlf+o0KIm 3TcsI9S+Ti8iiFiiFNtv7Wdnu2oiNmh79iAf225JrejEokPKj0xzI11VMf3NNCooF0iEopHJCwb azZC9sROWldk0udR9rwfhUgp+tdedAdYj67Ruz3m7V9oiwe8MSybhcmFXk6NiHaEw9x/H8P4pm2 N+GykiR068s9FEJm6JKdf6T73YoqKq20I/ag== X-Gm-Gg: ASbGncv17qd3FXlpfC4dKFuAsY8aEqBdnpKkxx+PdNy6H+QbQv9YaHadgHFsuIbdwcK 6u///en3hIYh5175dqV+C4xUAaTVF2e6YaqlVoqeHcyNaM2tA6TqKcBYbDNUEV5AyfoX70KnO6R C5AjEvpNbt/CnERtZkrZVUwZdoibTkZGnG+zlc6+uwhVcceHsVGAiOuibT49+nNca4fe+6PWQzX PJ4TEe/Jxfy8PMnQPQSg9B1GNWPWfHEizBrhtX6fsNgRsA5tXeUMOdXU/6l04Bb+q1Ei62M7rIe 1oPBk3FaoJju/kp1h7ZT6PInQNhbfqxD X-Received: by 2002:a05:6000:2485:b0:3a4:d4e5:498a with SMTP id ffacd0b85a97d-3b5f2e248cdmr11445620f8f.42.1752534517667; Mon, 14 Jul 2025 16:08:37 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFgpvDiAX63suerVtX7QeUAmmcB8J5wQiKRDcQPO0wWuiIcsvLILFbSzEyC5bHUVKWl4OZyFA== X-Received: by 2002:a05:6000:2485:b0:3a4:d4e5:498a with SMTP id ffacd0b85a97d-3b5f2e248cdmr11445605f8f.42.1752534517231; Mon, 14 Jul 2025 16:08:37 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:34 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Igor Mammedov , Jonathan Cameron , Paolo Bonzini Subject: [PULL 55/97] hw/pci-host/gpex-acpi: Use build_pci_host_bridge_osc_method Message-ID: <1ac89b617dfd42bff96f6e6d0282951c39c285d5.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534675465116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger gpex build_host_bridge_osc() and x86 originated build_pci_host_bridge_osc_method() are mostly identical. In GPEX, SUPP is set to CDW2 but is not further used. CTRL is same as Local0. So let gpex code reuse build_pci_host_bridge_osc_method() and remove build_host_bridge_osc(). Also add an imply ACPI_PCI clause along with PCI_EXPRESS_GENERIC_BRIDGE to compile hw/acpi/pci.c when its dependency is resolved (ie. CONFIG_ACPI_PCI). This is requested to link qemu-system-mips64el. The disassembled DSDT difference is given below: * Original Table Header: * Signature "DSDT" - * Length 0x00001A4F (6735) + * Length 0x00001A35 (6709) * Revision 0x02 - * Checksum 0xBF + * Checksum 0xDD * OEM ID "BOCHS " * OEM Table ID "BXPC " * OEM Revision 0x00000001 (1) @@ -1849,27 +1849,26 @@ DefinitionBlock ("", "DSDT", 2, "BOCHS ", "BXPC = ", 0x00000001) { CreateDWordField (Arg3, 0x04, CDW2) CreateDWordField (Arg3, 0x08, CDW3) - SUPP =3D CDW2 /* \_SB_.PCI0._OSC.CDW2 */ - CTRL =3D CDW3 /* \_SB_.PCI0._OSC.CDW3 */ - CTRL &=3D 0x1F + Local0 =3D CDW3 /* \_SB_.PCI0._OSC.CDW3 */ + Local0 &=3D 0x1F If ((Arg1 !=3D One)) { CDW1 |=3D 0x08 } - If ((CDW3 !=3D CTRL)) + If ((CDW3 !=3D Local0)) { CDW1 |=3D 0x10 } - CDW3 =3D CTRL /* \_SB_.PCI0.CTRL */ - Return (Arg3) + CDW3 =3D Local0 } Else { CDW1 |=3D 0x04 - Return (Arg3) } + + Return (Arg3) } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Meth= od Signed-off-by: Eric Auger Reviewed-by: Igor Mammedov Reviewed-by: Jonathan Cameron Message-Id: <20250714080639.2525563-10-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/pci-host/gpex-acpi.c | 62 ++++------------------------------------- hw/pci-host/Kconfig | 1 + 2 files changed, 6 insertions(+), 57 deletions(-) diff --git a/hw/pci-host/gpex-acpi.c b/hw/pci-host/gpex-acpi.c index 44737a8d81..952a0ace19 100644 --- a/hw/pci-host/gpex-acpi.c +++ b/hw/pci-host/gpex-acpi.c @@ -1,5 +1,6 @@ #include "qemu/osdep.h" #include "hw/acpi/aml-build.h" +#include "hw/acpi/pci.h" #include "hw/pci-host/gpex.h" #include "hw/arm/virt.h" #include "hw/pci/pci_bus.h" @@ -50,61 +51,7 @@ static void acpi_dsdt_add_pci_route_table(Aml *dev, uint= 32_t irq, } } =20 -static Aml *build_host_bridge_osc(bool enable_native_pcie_hotplug) -{ - Aml *method, *UUID, *ifctx, *ifctx1, *elsectx; - method =3D aml_method("_OSC", 4, AML_NOTSERIALIZED); - aml_append(method, aml_name_decl("SUPP", aml_int(0))); - aml_append(method, aml_name_decl("CTRL", aml_int(0))); - aml_append(method, - aml_create_dword_field(aml_arg(3), aml_int(0), "CDW1")); - - /* PCI Firmware Specification 3.0 - * 4.5.1. _OSC Interface for PCI Host Bridge Devices - * The _OSC interface for a PCI/PCI-X/PCI Express hierarchy is - * identified by the Universal Unique IDentifier (UUID) - * 33DB4D5B-1FF7-401C-9657-7441C03DD766 - */ - UUID =3D aml_touuid("33DB4D5B-1FF7-401C-9657-7441C03DD766"); - ifctx =3D aml_if(aml_equal(aml_arg(0), UUID)); - aml_append(ifctx, - aml_create_dword_field(aml_arg(3), aml_int(4), "CDW2")); - aml_append(ifctx, - aml_create_dword_field(aml_arg(3), aml_int(8), "CDW3")); - aml_append(ifctx, aml_store(aml_name("CDW2"), aml_name("SUPP"))); - aml_append(ifctx, aml_store(aml_name("CDW3"), aml_name("CTRL"))); - - /* - * Allow OS control for SHPCHotplug, PME, AER, PCIeCapability, - * and PCIeHotplug depending on enable_native_pcie_hotplug - */ - aml_append(ifctx, aml_and(aml_name("CTRL"), - aml_int(0x1E | (enable_native_pcie_hotplug ? 0x1 : 0x0)), - aml_name("CTRL"))); - - ifctx1 =3D aml_if(aml_lnot(aml_equal(aml_arg(1), aml_int(0x1)))); - aml_append(ifctx1, aml_or(aml_name("CDW1"), aml_int(0x08), - aml_name("CDW1"))); - aml_append(ifctx, ifctx1); - - ifctx1 =3D aml_if(aml_lnot(aml_equal(aml_name("CDW3"), aml_name("CTRL"= )))); - aml_append(ifctx1, aml_or(aml_name("CDW1"), aml_int(0x10), - aml_name("CDW1"))); - aml_append(ifctx, ifctx1); - - aml_append(ifctx, aml_store(aml_name("CTRL"), aml_name("CDW3"))); - aml_append(ifctx, aml_return(aml_arg(3))); - aml_append(method, ifctx); - - elsectx =3D aml_else(); - aml_append(elsectx, aml_or(aml_name("CDW1"), aml_int(4), - aml_name("CDW1"))); - aml_append(elsectx, aml_return(aml_arg(3))); - aml_append(method, elsectx); - return method; -} - -static Aml *build_host_bridge_dsm(void) +static Aml *build_pci_host_bridge_dsm_method(void) { Aml *method =3D aml_method("_DSM", 4, AML_NOTSERIALIZED); Aml *UUID, *ifctx, *ifctx1, *buf; @@ -133,8 +80,9 @@ static void acpi_dsdt_add_host_bridge_methods(Aml *dev, bool enable_native_pcie_hotp= lug) { /* Declare an _OSC (OS Control Handoff) method */ - aml_append(dev, build_host_bridge_osc(enable_native_pcie_hotplug)); - aml_append(dev, build_host_bridge_dsm()); + aml_append(dev, + build_pci_host_bridge_osc_method(enable_native_pcie_hotplug= )); + aml_append(dev, build_pci_host_bridge_dsm_method()); } =20 void acpi_dsdt_add_gpex(Aml *scope, struct GPEXConfig *cfg) diff --git a/hw/pci-host/Kconfig b/hw/pci-host/Kconfig index 35c0415242..9824fa188d 100644 --- a/hw/pci-host/Kconfig +++ b/hw/pci-host/Kconfig @@ -54,6 +54,7 @@ config PCI_EXPRESS_Q35 config PCI_EXPRESS_GENERIC_BRIDGE bool select PCI_EXPRESS + imply ACPI_PCI =20 config PCI_EXPRESS_XILINX bool --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535423; cv=none; d=zohomail.com; s=zohoarc; b=WtT3EaWDnWdPD9ZndP5Et/XC/XD0NuhKh5Mvr5w0niL6I2mh9+yb1nQrDKmw4ABW2+RtGzyGRRVFbaqphMk2hGOLhg1+vx3AJnE90et8Z7TUMXQ6dHu+L0tg3S/L9I3Oiqk5gApcQ1YqphLopckWN+2zHv/JGr5iFhEb3F87bWU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535423; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=V/R+KY4VQRRbizT88wU7WUhx0oUQIp3fO24ZLvNWgZU=; b=jjedda9A9ZNL9IdwkARuUgEujuvOyUtuMcVPKsUnUJJbIO/y5q5yEZnSewlDhblRXIuoO9fj4Y6E0busOZw/zl/Z8iLHJh8oNKdVC99NAIF/FdNtaUM2JomJhoHc9odWDw7+OtC412V9f6KY6dlB76EF9L9pZ/rqFz/8NqqTfZw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535423611730.3215550595431; Mon, 14 Jul 2025 16:23:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSJE-0005JM-VD; Mon, 14 Jul 2025 19:10:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHu-0000fX-5k for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:46 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHr-0005kz-N4 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:45 -0400 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-686-ChGyyuyCMKem6qBr6vsd1g-1; Mon, 14 Jul 2025 19:08:41 -0400 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-453817323afso30143765e9.1 for ; Mon, 14 Jul 2025 16:08:41 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454dd4669c3sm143763815e9.14.2025.07.14.16.08.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534522; 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: in-reply-to:in-reply-to:references:references; bh=V/R+KY4VQRRbizT88wU7WUhx0oUQIp3fO24ZLvNWgZU=; b=hgx9SCa+4L3GaxXoAXhLzFq/myyRC96hslz2YIqvlFkHTCI81GfR3CTfArm+7FAzCHztYd Apk/aHhfvuHUXTJhvuzZZUjgGQai9sxMUCvlS8EzQAzqn9TjtmSJ0Av7MEea/NVnEEvhyF 2MAg4vsJjmA9L5l+L8/tHJatepRlgTQ= X-MC-Unique: ChGyyuyCMKem6qBr6vsd1g-1 X-Mimecast-MFC-AGG-ID: ChGyyuyCMKem6qBr6vsd1g_1752534521 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534520; x=1753139320; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=V/R+KY4VQRRbizT88wU7WUhx0oUQIp3fO24ZLvNWgZU=; b=p8zyP/e/9zglQ2wO9S5JZHI5R36v6OCIHkKMwgoXMpdQ+1qAxDY1ip+NOvZVpKu2qT xPOGR4uYEjdv7GVuKuiaq3BbqHwwf5myXOHbXh54Mkpl0iJpwopmaJLHKjEtWry4cqny DNdBO325o+fWcjFCNp9Eig276oxenHBmmeuuY/Elfxlus1Qudf8VlW46Ym0gR+SADDJ7 f/iHePePF/pQ0I/QVeDXuVWH8XMr/OS0DmcKHnFIPiqZLcKFNF0O26iUQqqJpezkaCKU dxUoEnDQJY9dejVUNQO3/w2g9ps5gnY0YK1vgnzaCtC2vwWxORSJZBywXaxXOVfFlikm oSPQ== X-Gm-Message-State: AOJu0Yw0k1nfaDzkPzXT2lol7IkhemdbtQJbCUEW5pzRZMp2lfgbM0Zn Jb5DA4bKI3bnmI814lRqq+Sx3NosjQsGvsnrVGXBZTtHVbhnL09IX3IwKuBrg93CssYk7Y/WXDT 0dcdesK1/pdrIB0rIlD7CoCWYpNPNOvF0WMx38of/MUjIyR2LRkiViNK426BUkxvEyIqdYkMj1h k3MxSqxY/GXHJPF7UOTb8oUpIor2wRf9+Uxg== X-Gm-Gg: ASbGncv1qp7hjYZTSva1gGq92S53rYZi0PvMw+HxJracYypMgPzp/a5GTYualf4/KLv eSLSIARYRL3Q1rsnZHY+YnKzE25vjAjce1AnodoDRZpUf6wySiLexjM9AvP5F9mz7OTvn+JtwFF LKA6qH33bar/CenBMDQi/EnuzOnyEylRsHyy+8L6Loo08k/OVOcxq+qBnmm2FiKnNwWuaFAGSp+ njdXYhwADkz/wj+j8uD767Niy/8+HCOyaSkpGLqrR/oab5aG884mUqkjwt1qOU5siAsR48PYmE1 3JJ2cUIiE7ukXZqYBirT97yezAzNAi39 X-Received: by 2002:a05:600c:1911:b0:456:1121:3ad8 with SMTP id 5b1f17b1804b1-45611213e56mr89942055e9.10.1752534519687; Mon, 14 Jul 2025 16:08:39 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE2Aj/fEqrfbWaXIgnIhxGjFU9/8STpcIqEYgLQZS9QpAiasXhxney2CLGzcaOQOS3zb9wpZA== X-Received: by 2002:a05:600c:1911:b0:456:1121:3ad8 with SMTP id 5b1f17b1804b1-45611213e56mr89941815e9.10.1752534519151; Mon, 14 Jul 2025 16:08:39 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:37 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Gustavo Romero , Jonathan Cameron , Igor Mammedov , Ani Sinha Subject: [PULL 56/97] tests/qtest/bios-tables-test: Update DSDT blobs after GPEX _OSC change Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535424256116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Update the reference DSDT blobs after GPEX _OSC change. The _OSC change affects the aarch64 'virt' and the x86 'microvm' machines. DSDT diff is the same for all the machines/tests: * Original Table Header: * Signature "DSDT" - * Length 0x00001A4F (6735) + * Length 0x00001A35 (6709) * Revision 0x02 - * Checksum 0xBF + * Checksum 0xDD * OEM ID "BOCHS " * OEM Table ID "BXPC " * OEM Revision 0x00000001 (1) @@ -1849,27 +1849,26 @@ DefinitionBlock ("", "DSDT", 2, "BOCHS ", "BXPC = ", 0x00000001) { CreateDWordField (Arg3, 0x04, CDW2) CreateDWordField (Arg3, 0x08, CDW3) - SUPP =3D CDW2 /* \_SB_.PCI0._OSC.CDW2 */ - CTRL =3D CDW3 /* \_SB_.PCI0._OSC.CDW3 */ - CTRL &=3D 0x1F + Local0 =3D CDW3 /* \_SB_.PCI0._OSC.CDW3 */ + Local0 &=3D 0x1F If ((Arg1 !=3D One)) { CDW1 |=3D 0x08 } - If ((CDW3 !=3D CTRL)) + If ((CDW3 !=3D Local0)) { CDW1 |=3D 0x10 } - CDW3 =3D CTRL /* \_SB_.PCI0.CTRL */ - Return (Arg3) + CDW3 =3D Local0 } Else { CDW1 |=3D 0x04 - Return (Arg3) } + + Return (Arg3) } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Meth= od Signed-off-by: Eric Auger Signed-off-by: Gustavo Romero Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-11-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test-allowed-diff.h | 11 ----------- tests/data/acpi/aarch64/virt/DSDT | Bin 5196 -> 5158 bytes .../data/acpi/aarch64/virt/DSDT.acpihmatvirt | Bin 5282 -> 5244 bytes tests/data/acpi/aarch64/virt/DSDT.memhp | Bin 6557 -> 6519 bytes tests/data/acpi/aarch64/virt/DSDT.pxb | Bin 7679 -> 7603 bytes tests/data/acpi/aarch64/virt/DSDT.topology | Bin 5398 -> 5360 bytes tests/data/acpi/loongarch64/virt/DSDT | Bin 4641 -> 4603 bytes tests/data/acpi/loongarch64/virt/DSDT.memhp | Bin 5862 -> 5824 bytes tests/data/acpi/loongarch64/virt/DSDT.numamem | Bin 4647 -> 4609 bytes .../data/acpi/loongarch64/virt/DSDT.topology | Bin 4943 -> 4905 bytes tests/data/acpi/riscv64/virt/DSDT | Bin 3576 -> 3538 bytes tests/data/acpi/x86/microvm/DSDT.pcie | Bin 3023 -> 2985 bytes 12 files changed, 11 deletions(-) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index 8d9673cb5d..dfb8523c8b 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,12 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/aarch64/virt/DSDT", -"tests/data/acpi/aarch64/virt/DSDT.acpihmatvirt", -"tests/data/acpi/aarch64/virt/DSDT.memhp", -"tests/data/acpi/aarch64/virt/DSDT.pxb", -"tests/data/acpi/aarch64/virt/DSDT.topology", -"tests/data/acpi/loongarch64/virt/DSDT.memhp", -"tests/data/acpi/loongarch64/virt/DSDT.topology", -"tests/data/acpi/loongarch64/virt/DSDT.numamem", -"tests/data/acpi/loongarch64/virt/DSDT", -"tests/data/acpi/x86/microvm/DSDT.pcie", -"tests/data/acpi/riscv64/virt/DSDT", diff --git a/tests/data/acpi/aarch64/virt/DSDT b/tests/data/acpi/aarch64/vi= rt/DSDT index 36d3e5d5a5e47359b6dcb3706f98b4f225677591..acab6e65febbc210158d4c39be0= 680bbb90250f5 100644 GIT binary patch delta 114 zcmX@3u}p)@CDC8kfX{JVpjp}Y(OkR^V=3DX2?C2#NTx$NL96vvg%MIJ<-! zF7RWWyjw`i#5kckflEGNfxx86nT)j{87>a6yzr#S&Mx7`2@o*>kXS(iNMs?;W@BMV FMgSUfAKd@| delta 152 zcmZ3caYlp7CDL29`;z&gYx bO@^t12n&FO3qXoN;!Cm@@@?i7mSh9~5Tq&5 diff --git a/tests/data/acpi/aarch64/virt/DSDT.acpihmatvirt b/tests/data/ac= pi/aarch64/virt/DSDT.acpihmatvirt index e6154d0355f84fdcc51387b4db8f9ee63acae4e9..54c27e7d95b4956ed1b5dee0d29= 9ccb08dc2a73e 100644 GIT binary patch delta 114 zcmZ3a`A37xCDa6yzr#S&Mx7`2@o*>kXS(iNMs?;=3D1yTr FMgUJNAb|h? delta 152 zcmeyPu}G84CDNm0%wFq=3D=3DX{M&B8`a&on7k%!&gatO5EAiWkM|FDX6ediaCQkd zT;Rt#dAE?3iE%=3D80+)Qk0)a`BGZ||^GF%*BdErTuon69>6Ch#&AhCi3kjO%w&Bnr6 FYyg6XAvXX3 delta 152 zcmexvG}oBRCDi~V&gatOkmCpr4G3W1a1IIbVGwcS zjQ06Ch#&AhCi3kjO%w$t?mg51 delta 282 zcmdmN{ok6)CD}EVLcA|TR*v9$aeB|nL7Yd7E^Zs diff --git a/tests/data/acpi/aarch64/virt/DSDT.topology b/tests/data/acpi/a= arch64/virt/DSDT.topology index 029d03eecc4efddc001e5377e85ac8e831294362..969b4f6560d3ae39f5b7e0064b7= 122905476fce8 100644 GIT binary patch delta 114 zcmbQH^+A)%CDa6yzr#S&Mx7`2@o*>kXS(iNMs?;=3DD)&{ Fi~vUbAmso6 delta 152 zcmeyMIZcbpCDha)H34$(f9`Ahlc^U>#zU bCd1T0gatst1t7&B@g>;{`8Hn{mSh9~yBaCk diff --git a/tests/data/acpi/loongarch64/virt/DSDT b/tests/data/acpi/loonga= rch64/virt/DSDT index f32e732b11a557ae01c7f383625d3b6f459ac9f7..b31841aec6ed296f10ea1695a67= ead38f45424d5 100644 GIT binary patch delta 108 zcmZ3e@>`k9CDFNF#(WRK>|o*A6obTFNF#(WRK>|o*AH>8AMDK1 zmCfMn5^lJ_gMBg=3DkCvYiNJ)XSOSmyeRW*pCPA5Sug^rVb)3 V01_?$DF%rz$zI5}IfEyH3jiWADt!O| diff --git a/tests/data/acpi/loongarch64/virt/DSDT.numamem b/tests/data/acp= i/loongarch64/virt/DSDT.numamem index 9b462869cd4911714e7c2a22025c465afa2a7d52..07923ac39584c5a5e73c9556d25= 1814ce10de6cc 100644 GIT binary patch delta 108 zcmZ3k(x}4a66_MfD8#_P_+lg19cCt<37cOq3vdXD_^`+O2RpNLWivRtgc~mKW1TF< zqh(^8P@TXfm#{!!(&S9WT96DE2UuQs(qw0saN`7sm;gwuAOR$@kY{rr&rDVTYN{Ui delta 146 zcmZovS+2t666_M9F2umVXt$B;4l|R}Vv{Dr)Io#=3D VK*9we#USw|*$eqLXYkBq1pq1IDC__L diff --git a/tests/data/acpi/loongarch64/virt/DSDT.topology b/tests/data/ac= pi/loongarch64/virt/DSDT.topology index 65111aa822663a907b83487cb496be38a4bdff05..6dfbb495f88b74b87849b58473e= 46717bc588a56 100644 GIT binary patch delta 108 zcmX@Fwo;ADCDFNF#(WRK>|o*AMXEN4;WVkrM^1_oQJG+D%CqTpmKwp#T5? delta 151 zcmca4{X?3|CDNm0%wvzEYgaCD#&HG5Ji`+{YxqAtd6%9`7IQ%+i(3;Or7^ zxWJEf@*XZN6XS&H1TMLR1p<>MXEN4;WVkrM^1_oQJG+D%CqTpmKwpn4BhW?qd?*kmCpr4G3W1a1IIbVGwcS zjQ0|Z0pAkq&fwN1vF-TQ4h~Sb3kqZPSP0nPj1*zrY0P7H& aG#RE2A}jzBE&wS8i7&}s$Tyjfdo}=3D5#47aw --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535633; cv=none; d=zohomail.com; s=zohoarc; b=d4dyyZaL9WVJBkeeZ2k0Kdq2RO77JddZX1JcTYmoNuH1qvsfLetSK7sEnObdWHJ6aPKqpg0mjF4zaLVTKUYDwQfQAZ8VzUJ3hPplWsYTNX+MlQ+fjzS5kJkhacidQ3evzpkjxlKndogj3SPN2A9OmLJpJnnk3xobthBjt39Ys9o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535633; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=E82N8uMrxYhqX3KZPSCakRCqzr2EespoSFv7KAFnOcU=; b=iK9OIec/CdGdR1inScmYXF2Bpwz1BaGY6U/YxiT9S0RMAr28G5srY3sDK4HLE2itDlPmWswSRdNgzAdYE7VbT012Tjz+TGMQDbF9zRkELpDHi90m9sROObE3Avzq98vz5w9RRqs3IPWgV5V23b0ITd626kRoYK/Y+OofXi3JPpM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535633036123.73682134075011; Mon, 14 Jul 2025 16:27:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSJl-00067N-OT; Mon, 14 Jul 2025 19:10:45 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHv-0000st-UO for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:48 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHu-0005lK-42 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:47 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-509-12NsChnYPnmABp9uQvTiKg-1; Mon, 14 Jul 2025 19:08:44 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-4538f375e86so39566155e9.3 for ; Mon, 14 Jul 2025 16:08:43 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e1e2cfsm13369771f8f.75.2025.07.14.16.08.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534525; 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: in-reply-to:in-reply-to:references:references; bh=E82N8uMrxYhqX3KZPSCakRCqzr2EespoSFv7KAFnOcU=; b=IWO0CsqPnq2EnDbIXfA1KzCq75csJHgaLiGng/F11fuCmSQS8L7X4RBKJENjJBUDHWRJVN +CSKfnYTnI+Fxfp9l/tX8qtM3mXMlCvQGPG5wIuUYWxUKlWlCBzEZzYTVphiu56UDZjOcs NwjnhS1kJr0jFdB/VbKZGUDWQoLnF/Q= X-MC-Unique: 12NsChnYPnmABp9uQvTiKg-1 X-Mimecast-MFC-AGG-ID: 12NsChnYPnmABp9uQvTiKg_1752534523 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534522; x=1753139322; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=E82N8uMrxYhqX3KZPSCakRCqzr2EespoSFv7KAFnOcU=; b=Ii7qyxn8xuM5TFnLj2UYy2lTCH1HUezUTFb6gxYp4qZ9nPUalvTd4Dkr8Lr2DmwV9V L7mn8mxkCg6EOOtMGhmP3b+xWGaxDIYlEqgZLBul9kt78802gcn3PjCVSKhNvx6zp14Q Qyvpycwi2FN/3XxoW2uG7ipRmgetSFtnIGtXuZqM6z1pl4HbmIv4r1JB51Y9/0tFoTe6 ElPHXwzy5MQoCGkXkZZn0kNRsPpJy6fRytl18UNiI6tmrSdL+bwqpUOuzsGSxBEj+4Nu GrErAA5EZx75qdjE3rRIopFvUo5fXugV6eyqoxtMrGDdjn3DqmLM3VvcJOfbUKRG84Tj YEMQ== X-Gm-Message-State: AOJu0YxnLGA7ybgfL4UaP3O1i+MuaVE54mBSlT/nFVuoMFAs9fTE2v8U phaVnlWf/siAYlgibS1nREIDkU7LEiakW9Bo1wPAOsszZpiQZZXvn/Wbh4Fy4syIPuclasr/V22 UftV8glMBf5ZnBVyy+aGJcRb7hL5JxUFNsiVAi7rqcMrGvECTIGdmGffySkFeSYM+R1plBseFX+ MbhspJ4H1vLc1D1XXFhGn7beM10JoHYhNLGg== X-Gm-Gg: ASbGncthWskyJyADBk+LRkWyeasVwUiTwAuyQAi9ZwsPOsIWk1D/ekqaCFFKvIzsnkU jgzv07hJJ9dqGLmXVq4cat9Xo03xfbf3ZXorid7mnZeB7VuJjkqgYwDu6rkYYB8FScpFxh+vXDS vdNclXgXwutyN+GKtTg3UWE1JT2sMvwJKnXNh9p8so5LTKtJPhvRBsMuQ5f3KHpefS3hPUNY444 g/iAptDZYM564uP3mquPn92SELVLlMbN5GS6dKko4V2R/ImpykHbu1XOSB4EOJZp4YLKN73O2xJ azseHQKsE+BFl4sxSGaKDRYa3hJvy+AZ X-Received: by 2002:a05:600c:34c3:b0:43c:fc04:6d35 with SMTP id 5b1f17b1804b1-456272d2519mr3743915e9.4.1752534522568; Mon, 14 Jul 2025 16:08:42 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFqrrhGRaR7onCaVgzSmXjg7LgwAN4MIfbe/hR5vxBDf5UyHeB6/rvD+udUh25lmotQUFWI8g== X-Received: by 2002:a05:600c:34c3:b0:43c:fc04:6d35 with SMTP id 5b1f17b1804b1-456272d2519mr3743645e9.4.1752534522082; Mon, 14 Jul 2025 16:08:42 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:39 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Gustavo Romero , Igor Mammedov , Jonathan Cameron , Ani Sinha , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 57/97] hw/i386/acpi-build: Introduce build_append_pcihp_resources() helper Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535634543116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger Extract the code that reserves resources for ACPI PCI hotplug into a new helper named build_append_pcihp_resources() and move it to pcihp.c. We will reuse it on ARM. Signed-off-by: Eric Auger Reviewed-by: Gustavo Romero Reviewed-by: Igor Mammedov Reviewed-by: Jonathan Cameron Message-Id: <20250714080639.2525563-12-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/acpi/pcihp.h | 2 ++ hw/acpi/pcihp.c | 18 ++++++++++++++++++ hw/i386/acpi-build.c | 15 ++------------- 3 files changed, 22 insertions(+), 13 deletions(-) diff --git a/include/hw/acpi/pcihp.h b/include/hw/acpi/pcihp.h index 971451e8ea..8a46a414cc 100644 --- a/include/hw/acpi/pcihp.h +++ b/include/hw/acpi/pcihp.h @@ -75,6 +75,8 @@ void acpi_pcihp_device_unplug_request_cb(HotplugHandler *= hotplug_dev, =20 void build_acpi_pci_hotplug(Aml *table, uint64_t pcihp_addr); void build_append_pci_dsm_func0_common(Aml *ctx, Aml *retvar); +void build_append_pcihp_resources(Aml *table, + uint64_t io_addr, uint64_t io_len); =20 /* Called on reset */ void acpi_pcihp_reset(AcpiPciHpState *s); diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c index cbe7e01385..5ca36c8619 100644 --- a/hw/acpi/pcihp.c +++ b/hw/acpi/pcihp.c @@ -685,6 +685,24 @@ void build_acpi_pci_hotplug(Aml *table, uint64_t pcihp= _addr) aml_append(table, scope); } =20 +/* Reserve PCIHP resources */ +void build_append_pcihp_resources(Aml *scope /* \\_SB.PCI0 */, + uint64_t io_addr, uint64_t io_len) +{ + Aml *dev, *crs; + + dev =3D aml_device("PHPR"); + aml_append(dev, aml_name_decl("_HID", aml_string("PNP0A06"))); + aml_append(dev, + aml_name_decl("_UID", aml_string("PCI Hotplug resources"))); + /* device present, functioning, decoding, not shown in UI */ + aml_append(dev, aml_name_decl("_STA", aml_int(0xB))); + crs =3D aml_resource_template(); + aml_append(crs, aml_io(AML_DECODE16, io_addr, io_addr, 1, io_len)); + aml_append(dev, aml_name_decl("_CRS", crs)); + aml_append(scope, dev); +} + const VMStateDescription vmstate_acpi_pcihp_pci_status =3D { .name =3D "acpi_pcihp_pci_status", .version_id =3D 1, diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 91945f716c..52cef834ed 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -1432,19 +1432,8 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, =20 /* reserve PCIHP resources */ if (pm->pcihp_io_len && (pm->pcihp_bridge_en || pm->pcihp_root_en)) { - dev =3D aml_device("PHPR"); - aml_append(dev, aml_name_decl("_HID", aml_string("PNP0A06"))); - aml_append(dev, - aml_name_decl("_UID", aml_string("PCI Hotplug resources"))); - /* device present, functioning, decoding, not shown in UI */ - aml_append(dev, aml_name_decl("_STA", aml_int(0xB))); - crs =3D aml_resource_template(); - aml_append(crs, - aml_io(AML_DECODE16, pm->pcihp_io_base, pm->pcihp_io_base, 1, - pm->pcihp_io_len) - ); - aml_append(dev, aml_name_decl("_CRS", crs)); - aml_append(scope, dev); + build_append_pcihp_resources(scope, + pm->pcihp_io_base, pm->pcihp_io_len); } aml_append(dsdt, scope); =20 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535663; cv=none; d=zohomail.com; s=zohoarc; b=nXRXXvgfWV55QJjZ9UchLIvrtVNBXMfahlzth0BjGR83cqtvFxnPh7EbbvzWwdCJsfyKjlCZvH5mARe69r+2zVM9L4efSW4oLtSnBamS0rzvP02vjMwXJ0D53ElPMow7dm0O9xZ2iNawqJHStbUmcGkKwvF1uZjPj7+0ZGvKE2I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535663; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=oaEFUE2mka6LHI4AQxwW+l8PzMzmqDvUtE2e2aSDVcM=; b=kz1RcbMJlPDlDC2xEZIMjmxSLWDDNPJzTodMgN7hMIyTdtKTBcxIaexQDriHa6StBcHa/eQYkHtPxfi1EDTRroKdTa6x2ZbIFlLmMji0BArdRUl8lEuGtxG1+kxwUMjguD2RtNkvlXfabKHZeBF2eIzDgk3WTMpFifaP0nHUy5I= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175253566348283.72871952847538; Mon, 14 Jul 2025 16:27:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSIX-0003ty-RI; Mon, 14 Jul 2025 19:09:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHz-0001Tl-Dz for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:51 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSHx-0005ly-Dm for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:51 -0400 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-42-AdN5v0zUOW2xdNtuOcFXBg-1; Mon, 14 Jul 2025 19:08:47 -0400 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3a4f65a705dso3143509f8f.2 for ; Mon, 14 Jul 2025 16:08:47 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8dc23cfsm13793432f8f.37.2025.07.14.16.08.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534528; 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: in-reply-to:in-reply-to:references:references; bh=oaEFUE2mka6LHI4AQxwW+l8PzMzmqDvUtE2e2aSDVcM=; b=EVHyjmzpGQy1wTQLwJ3rE0QP+vVvCi3N58C4yftn9DAwWkUQlXRVsiEY7jTlXARLuvXbo/ ZHSO4Ac6n4MYua79Vc5q61q/xfjihcfk4lyGZDRj+9/PKGeZHttHvtWr6IIS/cjYnnkBrZ tm5cPhM/hefqvE6kCermksc3jXcS8nk= X-MC-Unique: AdN5v0zUOW2xdNtuOcFXBg-1 X-Mimecast-MFC-AGG-ID: AdN5v0zUOW2xdNtuOcFXBg_1752534526 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534526; x=1753139326; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=oaEFUE2mka6LHI4AQxwW+l8PzMzmqDvUtE2e2aSDVcM=; b=fDtGjAK+JmbDBtK5yCUvPIPLntWakIOhPSfDXWP0cuj+sTXSCWnYYg2ENAtRG2dn9c 8JESn4/6E5gF7HYtk1MRazTgsRj5FVCtx92kDA87Ga7moDyvlmstEANRtuqIq4Q5BIT6 JhJQyXQRSBPK3ej1IgrfPEN7Pujpvu+xUrrWI+Li/Xoq+jmTHxaSxDdn0j+7UjduOICK me3M/8W60Wa1jXvJRe1TxjyFOoVn7CppMahyMQwHxQeZQ0MtRxdjdlfkI/+b3dI+hvB/ eEejqA6ihpfCqrQt2wF8VBp5431AXrajrM/Ki461XNc6Ymqqret+3XtX+hCzQKSTGvsX bfRw== X-Gm-Message-State: AOJu0YxHfU6g99lveuANZFYsZKlx3kc2FRs0E99bcZrtDMld7xdZQO2A RCQg5Ew2JlUpPi0NgJJjVvpFUGCjkFihCs9WCzpdAdWVpINnHI1WXsKd6U6RPRM/KQje5j04Odg JkgXLi5p5zFL8LDHqvKkK5lXx5HBPNAL7DuDit+NOWIlYISNMhfRHTdTsQg+IN1DaXVglsns2nU 3aYcyTbeVYaBlM4gnzN267eOdtr2+3GGRaZA== X-Gm-Gg: ASbGncthl/ECkQKELdEHU+Peeg/n8B3xqtPHMcB08LtqJL15RaAyEtia+EFIyMtunTa CFypoD4XKI75757EbSba9FF+4DCPVf0Iby7RvMKm/rdO29XgCoKdnZFyBRGBhbxYYxEF5Oo1mRq c3FLs/94klyXl3d2hgp08kbjGZtHJm3rsu8scdzOI5fiZWcNQAgB5xV9WJSAln1zWtzD3BIgkYO B6jdWzT4peOoC67s81B3HCdHs9POcqdtZThOjUjP5YvUHqrNEF3C4ikHPjPE2Wnbghs8Gynkbl+ tkgivRppDoWFuIeJJjPHggz4HkZriPGo X-Received: by 2002:a05:6000:2888:b0:3b4:9721:2b1c with SMTP id ffacd0b85a97d-3b5f2dac589mr11611223f8f.6.1752534526097; Mon, 14 Jul 2025 16:08:46 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEr6tVbwbokSAEJ1/PsF1/MwVQvm5kePqBKDME2NEcwobtAYdk+c4PfYm4ImyHrjfp7ZRvf8Q== X-Received: by 2002:a05:6000:2888:b0:3b4:9721:2b1c with SMTP id ffacd0b85a97d-3b5f2dac589mr11611195f8f.6.1752534525652; Mon, 14 Jul 2025 16:08:45 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:42 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Gustavo Romero , Igor Mammedov , Jonathan Cameron , Ani Sinha , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 58/97] hw/acpi/pcihp: Add an AmlRegionSpace arg to build_acpi_pci_hotplug Message-ID: <96a6a9f5e00f2d44a8d51fe5b95f538058171122.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535664636116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger On ARM we will put the operation regions in AML_SYSTEM_MEMORY. So let's allow this configuration. Signed-off-by: Eric Auger Reviewed-by: Gustavo Romero Reviewed-by: Igor Mammedov Reviewed-by: Jonathan Cameron Message-Id: <20250714080639.2525563-13-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/acpi/pcihp.h | 3 ++- hw/acpi/pcihp.c | 8 ++++---- hw/i386/acpi-build.c | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/include/hw/acpi/pcihp.h b/include/hw/acpi/pcihp.h index 8a46a414cc..253ac6e483 100644 --- a/include/hw/acpi/pcihp.h +++ b/include/hw/acpi/pcihp.h @@ -28,6 +28,7 @@ #define HW_ACPI_PCIHP_H =20 #include "hw/acpi/acpi.h" +#include "hw/acpi/aml-build.h" #include "hw/hotplug.h" =20 #define ACPI_PCIHP_IO_BASE_PROP "acpi-pcihp-io-base" @@ -73,7 +74,7 @@ void acpi_pcihp_device_unplug_request_cb(HotplugHandler *= hotplug_dev, AcpiPciHpState *s, DeviceState *d= ev, Error **errp); =20 -void build_acpi_pci_hotplug(Aml *table, uint64_t pcihp_addr); +void build_acpi_pci_hotplug(Aml *table, AmlRegionSpace rs, uint64_t pcihp_= addr); void build_append_pci_dsm_func0_common(Aml *ctx, Aml *retvar); void build_append_pcihp_resources(Aml *table, uint64_t io_addr, uint64_t io_len); diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c index 5ca36c8619..afa3ec5f4d 100644 --- a/hw/acpi/pcihp.c +++ b/hw/acpi/pcihp.c @@ -629,7 +629,7 @@ static Aml *aml_pci_pdsm(void) return method; } =20 -void build_acpi_pci_hotplug(Aml *table, uint64_t pcihp_addr) +void build_acpi_pci_hotplug(Aml *table, AmlRegionSpace rs, uint64_t pcihp_= addr) { Aml *scope; Aml *field; @@ -638,21 +638,21 @@ void build_acpi_pci_hotplug(Aml *table, uint64_t pcih= p_addr) scope =3D aml_scope("_SB.PCI0"); =20 aml_append(scope, - aml_operation_region("PCST", AML_SYSTEM_IO, aml_int(pcihp_addr), 0= x08)); + aml_operation_region("PCST", rs, aml_int(pcihp_addr), 0x08)); field =3D aml_field("PCST", AML_DWORD_ACC, AML_NOLOCK, AML_WRITE_AS_ZE= ROS); aml_append(field, aml_named_field("PCIU", 32)); aml_append(field, aml_named_field("PCID", 32)); aml_append(scope, field); =20 aml_append(scope, - aml_operation_region("SEJ", AML_SYSTEM_IO, + aml_operation_region("SEJ", rs, aml_int(pcihp_addr + ACPI_PCIHP_SEJ_BASE), 0x= 04)); field =3D aml_field("SEJ", AML_DWORD_ACC, AML_NOLOCK, AML_WRITE_AS_ZER= OS); aml_append(field, aml_named_field("B0EJ", 32)); aml_append(scope, field); =20 aml_append(scope, - aml_operation_region("BNMR", AML_SYSTEM_IO, + aml_operation_region("BNMR", rs, aml_int(pcihp_addr + ACPI_PCIHP_BNMR_BASE), 0= x08)); field =3D aml_field("BNMR", AML_DWORD_ACC, AML_NOLOCK, AML_WRITE_AS_ZE= ROS); aml_append(field, aml_named_field("BNUM", 32)); diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 52cef834ed..6ca2b34ef8 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -1172,7 +1172,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, aml_append(dsdt, sb_scope); =20 if (pm->pcihp_bridge_en || pm->pcihp_root_en) { - build_acpi_pci_hotplug(dsdt, pm->pcihp_io_base); + build_acpi_pci_hotplug(dsdt, AML_SYSTEM_IO, pm->pcihp_io_base); } build_piix4_pci0_int(dsdt); } else if (q35) { @@ -1216,7 +1216,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, aml_append(dsdt, sb_scope); =20 if (pm->pcihp_bridge_en) { - build_acpi_pci_hotplug(dsdt, pm->pcihp_io_base); + build_acpi_pci_hotplug(dsdt, AML_SYSTEM_IO, pm->pcihp_io_base); } build_q35_pci0_int(dsdt); } --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535639; cv=none; d=zohomail.com; s=zohoarc; b=KIYSJGpTOjFnpMbB+VoeGWfizDaVfcXGzxjAcplF2ry1BwzvrORVyOlRfZ9EbNmdyR9c2jAB8M+x6KSIHtdTgkJo/fh5lxWi7+4ZAX8Sjv0R3qBXe2Q6Dc9l3rJOzIeCoYd7sxvKqUmi7fiSJHn9D+GtDJMO2Has0MNZJxM/k8o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535639; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=UWhczfOiGrx9/b/jYziR2jkq6wZ+m/LigRtGOML+hWM=; b=e984pef+WkvRof2p+OJuJFJldSF+USHqnX2HxBqeTlF2KQzFZhvkEk8n7w04dZ02KJs43qA1Z2hM/J7QGxzNIBgmDIXPsVUZ/zIVnlef32PMjvY0ME1WBvlfCLOcxUD7jBuOUlpMEiqGbuG3xYu6JcxSAPF6/5YgtEIU5I3TmFI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535639363415.88939806641815; Mon, 14 Jul 2025 16:27:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSK4-0006QP-R5; Mon, 14 Jul 2025 19:11:03 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSI3-0001zE-Cg for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:55 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSI1-0005md-ED for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:55 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-107-T9CYAw5AOGCB4pI-sGjeCg-1; Mon, 14 Jul 2025 19:08:51 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-4538a2f4212so27822475e9.2 for ; Mon, 14 Jul 2025 16:08:51 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8dc2464sm13839612f8f.38.2025.07.14.16.08.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534532; 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: in-reply-to:in-reply-to:references:references; bh=UWhczfOiGrx9/b/jYziR2jkq6wZ+m/LigRtGOML+hWM=; b=DNgj02gven4P1VQ+GPbQS/tW6AYrF7aXd2nBgfPAWl3ATuS5dzHcVHnRxqxqZFANuqHHHc 2ylj4cqz5w7SGUD61Frp0LleT0YIHzolCjRvTHpFT4VjgtlxIXLvK2rlK9/OhWz9KSWCcX j5D8GVfvRkZcnRrnQMd4pBZlRujIYyM= X-MC-Unique: T9CYAw5AOGCB4pI-sGjeCg-1 X-Mimecast-MFC-AGG-ID: T9CYAw5AOGCB4pI-sGjeCg_1752534530 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534530; x=1753139330; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=UWhczfOiGrx9/b/jYziR2jkq6wZ+m/LigRtGOML+hWM=; b=NfK0SuGF6oJQjRPnHUIsl2snVTLvJej88NE47h0QeLOGE4gtS7ZXdH0MMv9kTO+53x 4X/xt0SJy0E2sr+yCPbdHImbEjHFyR/7ckG79RyOpbfxbjyzr00UGHEo7UECj3tu66lP YIx8eLYN1cThLib2mZxdSHEtjYqbqfwik4nDi33et/eZ/fS/hXHxp/gI0PKrCR4E1jHf gcGPFeCYGteI9yXZWiBulg7fvxFtVr4d1GL9AflLbamVBFTlMiAR6XaqoZY55++0AmE0 fYhkbZUTCaT0MTsuSv1ipv4GVyrDAtO284MxqccBwzn9SkVaeRjDPxw3GzvmMs2LaolK 6d5w== X-Gm-Message-State: AOJu0YzPSqyJufzwKdMShzSozdjl5TIi9NTcTN/3o+DaFZXDCujetOBv 355fnucdABH5JxbLPIG8LEjVqAYouGRe6GBnnfObVnMwx2RPIZgNWBY2pWzGbNyRd2LL5PdgkH1 Fj4BC/zJiBsfYzSk0cf1WtpaX9bziOWKQmGu8kUu1V4q9tIcXqzxi09W6/oEdH/yt0cB1hpJzm+ Q7UXCRGAkGdKkl4SDKIn6QS7QjVtHxXWBXNA== X-Gm-Gg: ASbGncuaGtLTSRfbOZyCiMWiof0y6Hw6aCLkPltOiUpOTWkziFMw2kreTsznBvUa3eL Xivxyffmhy5DtZFnjk9s3bOm4M5fIIQTmoyqxhrx3B8lUuce+6y3VH5uy0KTI4WeRPVppkOg3kC Dbzr2bUVcH/+jnaZNKH44fMRTbvqOmoNtiv7F0XoXNHqOwV+thrm6tHnEhEofmO7oe/sq+cduYo LXZrHbPcAG3dH/AW5yGtQar8uJ2CFAidoaoL4xBCglkfac6Is91LTYqoxVoO0P7flfKmNl4UUKp R6ZXdpMdeO3jcahb5QNAqW3sWUW4CgY/ X-Received: by 2002:a05:600c:4ed0:b0:456:1a41:f932 with SMTP id 5b1f17b1804b1-4561a41fd79mr44971395e9.22.1752534529754; Mon, 14 Jul 2025 16:08:49 -0700 (PDT) X-Google-Smtp-Source: AGHT+IETlGuuZkbgkl/TlSydC2vI63DZKVamgiVU/1ccWM7wSBMHe1mZPE1oKpM3WYIGy+CMCi8FcA== X-Received: by 2002:a05:600c:4ed0:b0:456:1a41:f932 with SMTP id 5b1f17b1804b1-4561a41fd79mr44971145e9.22.1752534529226; Mon, 14 Jul 2025 16:08:49 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:45 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Gustavo Romero , Igor Mammedov , Jonathan Cameron , Ani Sinha , Paolo Bonzini , Richard Henderson , Eduardo Habkost , Marcel Apfelbaum Subject: [PULL 59/97] hw/i386/acpi-build: Move build_append_notification_callback to pcihp Message-ID: <816837eaa6f532b2954a0fa4edfc57b3617a15a2.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535640494116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger We plan to reuse build_append_notification_callback() on ARM so let's move it to pcihp.c. No functional change intended. Signed-off-by: Eric Auger Reviewed-by: Gustavo Romero Reviewed-by: Igor Mammedov Reviewed-by: Jonathan Cameron Message-Id: <20250714080639.2525563-14-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/acpi/pcihp.h | 1 + hw/acpi/pcihp.c | 58 +++++++++++++++++++++++++++++++++++++++++ hw/i386/acpi-build.c | 58 ----------------------------------------- 3 files changed, 59 insertions(+), 58 deletions(-) diff --git a/include/hw/acpi/pcihp.h b/include/hw/acpi/pcihp.h index 253ac6e483..f4fd44cb32 100644 --- a/include/hw/acpi/pcihp.h +++ b/include/hw/acpi/pcihp.h @@ -78,6 +78,7 @@ void build_acpi_pci_hotplug(Aml *table, AmlRegionSpace rs= , uint64_t pcihp_addr); void build_append_pci_dsm_func0_common(Aml *ctx, Aml *retvar); void build_append_pcihp_resources(Aml *table, uint64_t io_addr, uint64_t io_len); +bool build_append_notification_callback(Aml *parent_scope, const PCIBus *b= us); =20 /* Called on reset */ void acpi_pcihp_reset(AcpiPciHpState *s); diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c index afa3ec5f4d..b64d06afc9 100644 --- a/hw/acpi/pcihp.c +++ b/hw/acpi/pcihp.c @@ -39,6 +39,7 @@ #include "migration/vmstate.h" #include "qapi/error.h" #include "qom/qom-qobject.h" +#include "qobject/qnum.h" #include "trace.h" =20 #define ACPI_PCIHP_SIZE 0x0018 @@ -703,6 +704,63 @@ void build_append_pcihp_resources(Aml *scope /* \\_SB.= PCI0 */, aml_append(scope, dev); } =20 +bool build_append_notification_callback(Aml *parent_scope, const PCIBus *b= us) +{ + Aml *method; + PCIBus *sec; + QObject *bsel; + int nr_notifiers =3D 0; + GQueue *pcnt_bus_list =3D g_queue_new(); + + QLIST_FOREACH(sec, &bus->child, sibling) { + Aml *br_scope =3D aml_scope("S%.02X", sec->parent_dev->devfn); + if (pci_bus_is_root(sec)) { + continue; + } + nr_notifiers =3D nr_notifiers + + build_append_notification_callback(br_scope, sec); + /* + * add new child scope to parent + * and keep track of bus that have PCNT, + * bus list is used later to call children PCNTs from this level P= CNT + */ + if (nr_notifiers) { + g_queue_push_tail(pcnt_bus_list, sec); + aml_append(parent_scope, br_scope); + } + } + + /* + * Append PCNT method to notify about events on local and child buses. + * ps: hostbridge might not have hotplug (bsel) enabled but might have + * child bridges that do have bsel. + */ + method =3D aml_method("PCNT", 0, AML_NOTSERIALIZED); + + /* If bus supports hotplug select it and notify about local events */ + bsel =3D object_property_get_qobject(OBJECT(bus), ACPI_PCIHP_PROP_BSEL= , NULL); + if (bsel) { + uint64_t bsel_val =3D qnum_get_uint(qobject_to(QNum, bsel)); + + aml_append(method, aml_store(aml_int(bsel_val), aml_name("BNUM"))); + aml_append(method, aml_call2("DVNT", aml_name("PCIU"), + aml_int(1))); /* Device Check */ + aml_append(method, aml_call2("DVNT", aml_name("PCID"), + aml_int(3))); /* Eject Request */ + nr_notifiers++; + } + + /* Notify about child bus events in any case */ + while ((sec =3D g_queue_pop_head(pcnt_bus_list))) { + aml_append(method, aml_name("^S%.02X.PCNT", sec->parent_dev->devfn= )); + } + + aml_append(parent_scope, method); + qobject_unref(bsel); + g_queue_free(pcnt_bus_list); + return !!nr_notifiers; +} + const VMStateDescription vmstate_acpi_pcihp_pci_status =3D { .name =3D "acpi_pcihp_pci_status", .version_id =3D 1, diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 6ca2b34ef8..3275675e60 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -563,64 +563,6 @@ void build_append_pci_bus_devices(Aml *parent_scope, P= CIBus *bus) } } =20 -static bool build_append_notification_callback(Aml *parent_scope, - const PCIBus *bus) -{ - Aml *method; - PCIBus *sec; - QObject *bsel; - int nr_notifiers =3D 0; - GQueue *pcnt_bus_list =3D g_queue_new(); - - QLIST_FOREACH(sec, &bus->child, sibling) { - Aml *br_scope =3D aml_scope("S%.02X", sec->parent_dev->devfn); - if (pci_bus_is_root(sec)) { - continue; - } - nr_notifiers =3D nr_notifiers + - build_append_notification_callback(br_scope, sec); - /* - * add new child scope to parent - * and keep track of bus that have PCNT, - * bus list is used later to call children PCNTs from this level P= CNT - */ - if (nr_notifiers) { - g_queue_push_tail(pcnt_bus_list, sec); - aml_append(parent_scope, br_scope); - } - } - - /* - * Append PCNT method to notify about events on local and child buses. - * ps: hostbridge might not have hotplug (bsel) enabled but might have - * child bridges that do have bsel. - */ - method =3D aml_method("PCNT", 0, AML_NOTSERIALIZED); - - /* If bus supports hotplug select it and notify about local events */ - bsel =3D object_property_get_qobject(OBJECT(bus), ACPI_PCIHP_PROP_BSEL= , NULL); - if (bsel) { - uint64_t bsel_val =3D qnum_get_uint(qobject_to(QNum, bsel)); - - aml_append(method, aml_store(aml_int(bsel_val), aml_name("BNUM"))); - aml_append(method, aml_call2("DVNT", aml_name("PCIU"), - aml_int(1))); /* Device Check */ - aml_append(method, aml_call2("DVNT", aml_name("PCID"), - aml_int(3))); /* Eject Request */ - nr_notifiers++; - } - - /* Notify about child bus events in any case */ - while ((sec =3D g_queue_pop_head(pcnt_bus_list))) { - aml_append(method, aml_name("^S%.02X.PCNT", sec->parent_dev->devfn= )); - } - - aml_append(parent_scope, method); - qobject_unref(bsel); - g_queue_free(pcnt_bus_list); - return !!nr_notifiers; -} - /* * build_prt - Define interrupt routing rules * --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535549; cv=none; d=zohomail.com; s=zohoarc; b=hkrVilrO15guni8Hq5siTO95lNM+19qOKF+KZTmS2lR5bah7sjCQaXQzRtnoVigfm2dIqfkR/6ZoJ/qtjas1hb2/7b0UVsRbfYRt2tK52ODdRzzMWOUOb9PlpOB8Do94xjlw3B4vsH3dXqrXi8Dnybp4LC6JJEAWknQxA1ze9iI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535549; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=s2VWciSAL1doHoL3X2OYKveRNkYGZN3tNbWc+3YhnME=; b=Y4CBPclnglEG/qamFAKnfrd+UbOG1DJd5SQrWAPB0ipOkRNT9IYAggoC5lv67YQo9EN0A6D+MLD8vL6W+x8Viklo1zq/mWBA4yZlExxGPFzOQFGuB+GdMaM2SoX8neXU6msqnsjumlZB7OVcEFY0xTTsWWt9c+RyTjyNTInlNf8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535549027122.51220636137157; Mon, 14 Jul 2025 16:25:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSKG-00073Y-3T; Mon, 14 Jul 2025 19:11:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSI6-0002Fs-9z for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:58 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSI3-0005mm-RF for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:58 -0400 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-695-okLKI34bNP2n7pOI1Lau6Q-1; Mon, 14 Jul 2025 19:08:53 -0400 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3a5780e8137so3071049f8f.1 for ; Mon, 14 Jul 2025 16:08:53 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454dd538b63sm145713645e9.19.2025.07.14.16.08.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534535; 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: in-reply-to:in-reply-to:references:references; bh=s2VWciSAL1doHoL3X2OYKveRNkYGZN3tNbWc+3YhnME=; b=HULvX2SKKjABYpVV/nPGaoFuQE7j6Dw4+cd6CIyzeLLSEJUVaaxsBfkKeIvAJoulrjRk6Z 3FpeaQPrq10L4uBY8DUg4/EYe8w1UiR4Aje8CbD3Obfw6fGR0LsT6GzOH7jaExLDvoTHWa SzKJcmfUUHxOmpDAVwE2QHg7OPtwOP0= X-MC-Unique: okLKI34bNP2n7pOI1Lau6Q-1 X-Mimecast-MFC-AGG-ID: okLKI34bNP2n7pOI1Lau6Q_1752534532 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534532; x=1753139332; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=s2VWciSAL1doHoL3X2OYKveRNkYGZN3tNbWc+3YhnME=; b=oEdPGWJAnLTrnP40gdqKYP/uOpRDNK6yM83+x8VQUmfLwec+Op6YLEBl7rarxzSc1q mFkxVJ0OZLNP12na7FvS/ZVd/zl+ALkQDxdnnrBtzc8027KYiBGFVLITp78IiU9bSthe Vrl9OIGuMgIGTzu/5h//Z5ZVVmLcUVJUz07YxS6QfAKMaaoVxlGrktrJTmOI9d/UYrB2 fokR/GMoKPu54jAev8QDZF/HFIS/kxXbWuIJjtD1FkflpKmjpAHbysAenm01Gh/n/K12 NGsuhM085SftOucy6L3mlQNdYNW2sy+kxhsUMEYIig3xAXqqtPAT6j3HJtqMTtWQFMpe kv7g== X-Gm-Message-State: AOJu0YyVrnVah8frXCzw4V63ZPmRmIIsLTEgtIxQpbH08aH2Yt8SW0gt 8sJAV11nRcmKnPoZOmLDfq+gFD+uXqHfCtM/m/ze2wECpxD6TfGuHUKTzT69Bi7pt99Owf87pcC rC769h7USiYPkpHxGfkDUVgWv296t4OC7y0jVs8xxiBQS6nJ8UWTvfNQEfTW86A/7409TYaPp1K QqhBIxGz+UC4bhvEiN8TCRSnkFRXKFFxTXBg== X-Gm-Gg: ASbGncskXZmd2ui/wIT6dN0QXL1S+IV2E+k2IZEhK0eTx5sfycewb9xUrM0Xb1Lkoc4 EBcntGQ5XosfTTZcibiA3zyINA2PxyiHzP37lQ/yVEOXT3TBgPPERMHNGvmZkuW+I5uPI2FSihI WN3EyX1Go+IzlptllgmQesbFIawsY55+4ai0LRiN1aeCPJOEySMnnuulMm9xEHL8+I0hGeY/yWp qd8ErUW1ypNsws9g7JOQxb2sSLf/2AhRtRU+NyYEKGbtI14wlgUvZ3kcIhS2pdPKJNLw+abPrSI lQFLjyJnXncPNEjPOXCWlFKBCOFbvSot X-Received: by 2002:a5d:5f86:0:b0:3b5:e2b3:1ad8 with SMTP id ffacd0b85a97d-3b6095240c0mr897035f8f.10.1752534532084; Mon, 14 Jul 2025 16:08:52 -0700 (PDT) X-Google-Smtp-Source: AGHT+IECd9FmJJk/+XqM85ZiQZVFMAWmXjpLmfW5yyv0FUrw9VJFS6joM7/vjgQ5DlsmosulxnuFlQ== X-Received: by 2002:a5d:5f86:0:b0:3b5:e2b3:1ad8 with SMTP id ffacd0b85a97d-3b6095240c0mr897010f8f.10.1752534531472; Mon, 14 Jul 2025 16:08:51 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:49 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Gustavo Romero , Igor Mammedov , Jonathan Cameron , Ani Sinha , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 60/97] hw/i386/acpi-build: Move build_append_pci_bus_devices/pcihp_slots to pcihp Message-ID: <6ae7823a41146c5fd2fd8d1c2ce5f8d27865ace5.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535549704116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger We intend to reuse build_append_pci_bus_devices and build_append_pcihp_slots on ARM. So let's move them to hw/acpi/pcihp.c as well as all static helpers they use. No functional change intended. Signed-off-by: Eric Auger Reviewed-by: Gustavo Romero Reviewed-by: Igor Mammedov Reviewed-by: Jonathan Cameron Message-Id: <20250714080639.2525563-15-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/acpi/pci.h | 1 - include/hw/acpi/pcihp.h | 2 + hw/acpi/pcihp.c | 173 ++++++++++++++++++++++++++++++++++++++++ hw/i386/acpi-build.c | 172 --------------------------------------- 4 files changed, 175 insertions(+), 173 deletions(-) diff --git a/include/hw/acpi/pci.h b/include/hw/acpi/pci.h index 8a328b580c..69bae95eac 100644 --- a/include/hw/acpi/pci.h +++ b/include/hw/acpi/pci.h @@ -37,7 +37,6 @@ typedef struct AcpiMcfgInfo { void build_mcfg(GArray *table_data, BIOSLinker *linker, AcpiMcfgInfo *info, const char *oem_id, const char *oem_table_id); =20 -void build_append_pci_bus_devices(Aml *parent_scope, PCIBus *bus); void build_pci_bridge_aml(AcpiDevAmlIf *adev, Aml *scope); =20 void build_srat_generic_affinity_structures(GArray *table_data); diff --git a/include/hw/acpi/pcihp.h b/include/hw/acpi/pcihp.h index f4fd44cb32..5506a58862 100644 --- a/include/hw/acpi/pcihp.h +++ b/include/hw/acpi/pcihp.h @@ -80,6 +80,8 @@ void build_append_pcihp_resources(Aml *table, uint64_t io_addr, uint64_t io_len); bool build_append_notification_callback(Aml *parent_scope, const PCIBus *b= us); =20 +void build_append_pci_bus_devices(Aml *parent_scope, PCIBus *bus); + /* Called on reset */ void acpi_pcihp_reset(AcpiPciHpState *s); =20 diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c index b64d06afc9..2c76edeb15 100644 --- a/hw/acpi/pcihp.c +++ b/hw/acpi/pcihp.c @@ -27,6 +27,7 @@ #include "qemu/osdep.h" #include "hw/acpi/pcihp.h" #include "hw/acpi/aml-build.h" +#include "hw/acpi/acpi_aml_interface.h" #include "hw/pci-host/i440fx.h" #include "hw/pci/pci.h" #include "hw/pci/pci_bridge.h" @@ -761,6 +762,178 @@ bool build_append_notification_callback(Aml *parent_s= cope, const PCIBus *bus) return !!nr_notifiers; } =20 +static Aml *aml_pci_device_dsm(void) +{ + Aml *method; + + method =3D aml_method("_DSM", 4, AML_SERIALIZED); + { + Aml *params =3D aml_local(0); + Aml *pkg =3D aml_package(2); + aml_append(pkg, aml_int(0)); + aml_append(pkg, aml_int(0)); + aml_append(method, aml_store(pkg, params)); + aml_append(method, + aml_store(aml_name("BSEL"), aml_index(params, aml_int(0)))); + aml_append(method, + aml_store(aml_name("ASUN"), aml_index(params, aml_int(1)))); + aml_append(method, + aml_return(aml_call5("PDSM", aml_arg(0), aml_arg(1), + aml_arg(2), aml_arg(3), params)) + ); + } + return method; +} + +static Aml *aml_pci_static_endpoint_dsm(PCIDevice *pdev) +{ + Aml *method; + + g_assert(pdev->acpi_index !=3D 0); + method =3D aml_method("_DSM", 4, AML_SERIALIZED); + { + Aml *params =3D aml_local(0); + Aml *pkg =3D aml_package(1); + aml_append(pkg, aml_int(pdev->acpi_index)); + aml_append(method, aml_store(pkg, params)); + aml_append(method, + aml_return(aml_call5("EDSM", aml_arg(0), aml_arg(1), + aml_arg(2), aml_arg(3), params)) + ); + } + return method; +} + +static void build_append_pcihp_notify_entry(Aml *method, int slot) +{ + Aml *if_ctx; + int32_t devfn =3D PCI_DEVFN(slot, 0); + + if_ctx =3D aml_if(aml_and(aml_arg(0), aml_int(0x1U << slot), NULL)); + aml_append(if_ctx, aml_notify(aml_name("S%.02X", devfn), aml_arg(1))); + aml_append(method, if_ctx); +} + +static bool is_devfn_ignored_generic(const int devfn, const PCIBus *bus) +{ + const PCIDevice *pdev =3D bus->devices[devfn]; + + if (PCI_FUNC(devfn)) { + if (IS_PCI_BRIDGE(pdev)) { + /* + * Ignore only hotplugged PCI bridges on !0 functions, but + * allow describing cold plugged bridges on all functions + */ + if (DEVICE(pdev)->hotplugged) { + return true; + } + } + } + return false; +} + +static bool is_devfn_ignored_hotplug(const int devfn, const PCIBus *bus) +{ + PCIDevice *pdev =3D bus->devices[devfn]; + if (pdev) { + return is_devfn_ignored_generic(devfn, bus) || + !DEVICE_GET_CLASS(pdev)->hotpluggable || + /* Cold plugged bridges aren't themselves hot-pluggable */ + (IS_PCI_BRIDGE(pdev) && !DEVICE(pdev)->hotplugged); + } else { /* non populated slots */ + /* + * hotplug is supported only for non-multifunction device + * so generate device description only for function 0 + */ + if (PCI_FUNC(devfn) || + (pci_bus_is_express(bus) && PCI_SLOT(devfn) > 0)) { + return true; + } + } + return false; +} + +void build_append_pcihp_slots(Aml *parent_scope, PCIBus *bus) +{ + int devfn; + Aml *dev, *notify_method =3D NULL, *method; + QObject *bsel =3D object_property_get_qobject(OBJECT(bus), + ACPI_PCIHP_PROP_BSEL, NULL); + uint64_t bsel_val =3D qnum_get_uint(qobject_to(QNum, bsel)); + qobject_unref(bsel); + + aml_append(parent_scope, aml_name_decl("BSEL", aml_int(bsel_val))); + notify_method =3D aml_method("DVNT", 2, AML_NOTSERIALIZED); + + for (devfn =3D 0; devfn < ARRAY_SIZE(bus->devices); devfn++) { + int slot =3D PCI_SLOT(devfn); + int adr =3D slot << 16 | PCI_FUNC(devfn); + + if (is_devfn_ignored_hotplug(devfn, bus)) { + continue; + } + + if (bus->devices[devfn]) { + dev =3D aml_scope("S%.02X", devfn); + } else { + dev =3D aml_device("S%.02X", devfn); + aml_append(dev, aml_name_decl("_ADR", aml_int(adr))); + } + + /* + * Can't declare _SUN here for every device as it changes 'slot' + * enumeration order in linux kernel, so use another variable for = it + */ + aml_append(dev, aml_name_decl("ASUN", aml_int(slot))); + aml_append(dev, aml_pci_device_dsm()); + + aml_append(dev, aml_name_decl("_SUN", aml_int(slot))); + /* add _EJ0 to make slot hotpluggable */ + method =3D aml_method("_EJ0", 1, AML_NOTSERIALIZED); + aml_append(method, + aml_call2("PCEJ", aml_name("BSEL"), aml_name("_SUN")) + ); + aml_append(dev, method); + + build_append_pcihp_notify_entry(notify_method, slot); + + /* device descriptor has been composed, add it into parent context= */ + aml_append(parent_scope, dev); + } + aml_append(parent_scope, notify_method); +} + +void build_append_pci_bus_devices(Aml *parent_scope, PCIBus *bus) +{ + int devfn; + Aml *dev; + + for (devfn =3D 0; devfn < ARRAY_SIZE(bus->devices); devfn++) { + /* ACPI spec: 1.0b: Table 6-2 _ADR Object Bus Types, PCI type */ + int adr =3D PCI_SLOT(devfn) << 16 | PCI_FUNC(devfn); + PCIDevice *pdev =3D bus->devices[devfn]; + + if (!pdev || is_devfn_ignored_generic(devfn, bus)) { + continue; + } + + /* start to compose PCI device descriptor */ + dev =3D aml_device("S%.02X", devfn); + aml_append(dev, aml_name_decl("_ADR", aml_int(adr))); + + call_dev_aml_func(DEVICE(bus->devices[devfn]), dev); + /* add _DSM if device has acpi-index set */ + if (pdev->acpi_index && + !object_property_get_bool(OBJECT(pdev), "hotpluggable", + &error_abort)) { + aml_append(dev, aml_pci_static_endpoint_dsm(pdev)); + } + + /* device descriptor has been composed, add it into parent context= */ + aml_append(parent_scope, dev); + } +} + const VMStateDescription vmstate_acpi_pcihp_pci_status =3D { .name =3D "acpi_pcihp_pci_status", .version_id =3D 1, diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index 3275675e60..fe8bc62c03 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -338,29 +338,6 @@ build_facs(GArray *table_data) g_array_append_vals(table_data, reserved, 40); /* Reserved */ } =20 -static Aml *aml_pci_device_dsm(void) -{ - Aml *method; - - method =3D aml_method("_DSM", 4, AML_SERIALIZED); - { - Aml *params =3D aml_local(0); - Aml *pkg =3D aml_package(2); - aml_append(pkg, aml_int(0)); - aml_append(pkg, aml_int(0)); - aml_append(method, aml_store(pkg, params)); - aml_append(method, - aml_store(aml_name("BSEL"), aml_index(params, aml_int(0)))); - aml_append(method, - aml_store(aml_name("ASUN"), aml_index(params, aml_int(1)))); - aml_append(method, - aml_return(aml_call5("PDSM", aml_arg(0), aml_arg(1), - aml_arg(2), aml_arg(3), params)) - ); - } - return method; -} - static Aml *aml_pci_edsm(void) { Aml *method, *ifctx; @@ -414,155 +391,6 @@ static Aml *aml_pci_edsm(void) return method; } =20 -static Aml *aml_pci_static_endpoint_dsm(PCIDevice *pdev) -{ - Aml *method; - - g_assert(pdev->acpi_index !=3D 0); - method =3D aml_method("_DSM", 4, AML_SERIALIZED); - { - Aml *params =3D aml_local(0); - Aml *pkg =3D aml_package(1); - aml_append(pkg, aml_int(pdev->acpi_index)); - aml_append(method, aml_store(pkg, params)); - aml_append(method, - aml_return(aml_call5("EDSM", aml_arg(0), aml_arg(1), - aml_arg(2), aml_arg(3), params)) - ); - } - return method; -} - -static void build_append_pcihp_notify_entry(Aml *method, int slot) -{ - Aml *if_ctx; - int32_t devfn =3D PCI_DEVFN(slot, 0); - - if_ctx =3D aml_if(aml_and(aml_arg(0), aml_int(0x1U << slot), NULL)); - aml_append(if_ctx, aml_notify(aml_name("S%.02X", devfn), aml_arg(1))); - aml_append(method, if_ctx); -} - -static bool is_devfn_ignored_generic(const int devfn, const PCIBus *bus) -{ - const PCIDevice *pdev =3D bus->devices[devfn]; - - if (PCI_FUNC(devfn)) { - if (IS_PCI_BRIDGE(pdev)) { - /* - * Ignore only hotplugged PCI bridges on !0 functions, but - * allow describing cold plugged bridges on all functions - */ - if (DEVICE(pdev)->hotplugged) { - return true; - } - } - } - return false; -} - -static bool is_devfn_ignored_hotplug(const int devfn, const PCIBus *bus) -{ - PCIDevice *pdev =3D bus->devices[devfn]; - if (pdev) { - return is_devfn_ignored_generic(devfn, bus) || - !DEVICE_GET_CLASS(pdev)->hotpluggable || - /* Cold plugged bridges aren't themselves hot-pluggable */ - (IS_PCI_BRIDGE(pdev) && !DEVICE(pdev)->hotplugged); - } else { /* non populated slots */ - /* - * hotplug is supported only for non-multifunction device - * so generate device description only for function 0 - */ - if (PCI_FUNC(devfn) || - (pci_bus_is_express(bus) && PCI_SLOT(devfn) > 0)) { - return true; - } - } - return false; -} - -void build_append_pcihp_slots(Aml *parent_scope, PCIBus *bus) -{ - int devfn; - Aml *dev, *notify_method =3D NULL, *method; - QObject *bsel =3D object_property_get_qobject(OBJECT(bus), - ACPI_PCIHP_PROP_BSEL, NULL); - uint64_t bsel_val =3D qnum_get_uint(qobject_to(QNum, bsel)); - qobject_unref(bsel); - - aml_append(parent_scope, aml_name_decl("BSEL", aml_int(bsel_val))); - notify_method =3D aml_method("DVNT", 2, AML_NOTSERIALIZED); - - for (devfn =3D 0; devfn < ARRAY_SIZE(bus->devices); devfn++) { - int slot =3D PCI_SLOT(devfn); - int adr =3D slot << 16 | PCI_FUNC(devfn); - - if (is_devfn_ignored_hotplug(devfn, bus)) { - continue; - } - - if (bus->devices[devfn]) { - dev =3D aml_scope("S%.02X", devfn); - } else { - dev =3D aml_device("S%.02X", devfn); - aml_append(dev, aml_name_decl("_ADR", aml_int(adr))); - } - - /* - * Can't declare _SUN here for every device as it changes 'slot' - * enumeration order in linux kernel, so use another variable for = it - */ - aml_append(dev, aml_name_decl("ASUN", aml_int(slot))); - aml_append(dev, aml_pci_device_dsm()); - - aml_append(dev, aml_name_decl("_SUN", aml_int(slot))); - /* add _EJ0 to make slot hotpluggable */ - method =3D aml_method("_EJ0", 1, AML_NOTSERIALIZED); - aml_append(method, - aml_call2("PCEJ", aml_name("BSEL"), aml_name("_SUN")) - ); - aml_append(dev, method); - - build_append_pcihp_notify_entry(notify_method, slot); - - /* device descriptor has been composed, add it into parent context= */ - aml_append(parent_scope, dev); - } - aml_append(parent_scope, notify_method); -} - -void build_append_pci_bus_devices(Aml *parent_scope, PCIBus *bus) -{ - int devfn; - Aml *dev; - - for (devfn =3D 0; devfn < ARRAY_SIZE(bus->devices); devfn++) { - /* ACPI spec: 1.0b: Table 6-2 _ADR Object Bus Types, PCI type */ - int adr =3D PCI_SLOT(devfn) << 16 | PCI_FUNC(devfn); - PCIDevice *pdev =3D bus->devices[devfn]; - - if (!pdev || is_devfn_ignored_generic(devfn, bus)) { - continue; - } - - /* start to compose PCI device descriptor */ - dev =3D aml_device("S%.02X", devfn); - aml_append(dev, aml_name_decl("_ADR", aml_int(adr))); - - call_dev_aml_func(DEVICE(bus->devices[devfn]), dev); - /* add _DSM if device has acpi-index set */ - if (pdev->acpi_index && - !object_property_get_bool(OBJECT(pdev), "hotpluggable", - &error_abort)) { - aml_append(dev, aml_pci_static_endpoint_dsm(pdev)); - } - - /* device descriptor has been composed, add it into parent context= */ - aml_append(parent_scope, dev); - } -} - /* * build_prt - Define interrupt routing rules * --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535135; cv=none; d=zohomail.com; s=zohoarc; b=B9qzSFc0rJ4u1Sf9Kik9CMQCidX/30/xj44IXJdHIKMMfs8WbEGJ29+31U9nOAWmEdeN5ExJ9A9AQHxzSAn2U3gALnJW1JeYnJmuatTs6cu1PW3mEGnSNkdGEr+f3GeNwmSEO/5Jf7BPPqLHqqYeLebEpNmgU4hqRa7yXJ+/fRU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535135; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=n2/RU4fBClmDZksI0BLHkAVpRgw7V4hSQeqiSZKZskI=; b=Y+8He6MK8MRB2OTk9i4pXEHtjB+39Is1oH5idw/iYWRPBBqeLCtzymofepvS4luGDrLxBtNcc2+VZCrOVtwFcawi1k8/E5jd9Y1JJ+VjVO7lNzvqQObzcYfrm0YJqx0gB378T+av0B2G3sXjKtN/B3RYFTMiV0JWy9spGwA7l40= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175253513545335.178651695045005; Mon, 14 Jul 2025 16:18:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSK9-0006RM-2V; Mon, 14 Jul 2025 19:11:06 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSI7-0002Kn-Uo for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:01 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSI6-0005nD-AZ for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:08:59 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-416-Ius2eIjcMjekE_x6j0HSCw-1; Mon, 14 Jul 2025 19:08:56 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-45526e19f43so12573015e9.3 for ; Mon, 14 Jul 2025 16:08:56 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8dc1f70sm13409581f8f.27.2025.07.14.16.08.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534537; 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: in-reply-to:in-reply-to:references:references; bh=n2/RU4fBClmDZksI0BLHkAVpRgw7V4hSQeqiSZKZskI=; b=gylU1A5BjSzYMAr1hbJdtIDPnMvzXxMFf0JDHKfJS4SXbkJA80S3RCqWA/CMJWKdiHP8nC CJpURsSfFdK2paxhnUJOISo9z9ObRhNPvZmpEin8f9LCSC/WJMuP7Y1at/mrbnpBx66+Pz aBQkYKtEVEKP3qnXMF+uhFuhtJOlHQo= X-MC-Unique: Ius2eIjcMjekE_x6j0HSCw-1 X-Mimecast-MFC-AGG-ID: Ius2eIjcMjekE_x6j0HSCw_1752534535 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534535; x=1753139335; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=n2/RU4fBClmDZksI0BLHkAVpRgw7V4hSQeqiSZKZskI=; b=Wz4RYFzZniAFMPdTJX+aLj8naQmnHWUTzBpv3vWwRm9TpCmjrZ4RzVzwpDV1OTzThf 78RcdJ7qg30/NFWoseHiR5iS3aTz2c0xYhzqvBB7hFL527c4VFQQxqRQY81/5MxvBxaM KKZwmuHQBQN35l7RGsRbXzNj3c3ZE4KxGmuLOw1FtVmjgGxABbKIpdMu3ufDWcTjOljA H+7Kkzh3atfWzh28/xD1DiUk4B12kFOW+brVqyKV+Abb8gGB2QpDzkNAO0w4UeaC6/3z je+vojhhAA0budDsJy2cic2CGU5dQaqrY5rTKde3HAHmbRBi5iRqoxl3IcDQ38x6XEf6 fIJQ== X-Gm-Message-State: AOJu0Yy6/+T6685I/YwK+w6cxq0hTDAMds2jsSVp2kVmkNHqPjmK4NVa tddGIfjs0uGGw+m06aiLuxX2769+2akwUDBzKGxhyt9B+eY5j87EcVXUbzql4p7/JSypNYLYmYD lgpcjyZYWXWmb5Hg2eICVx0K6OAlvyFr2ye6JbzDyMA2p5SeuSbsUN0lCKa1To5s0h+ZMEa+Fps /tsqJXKUsORRBODWZVbbt5fyQlymRYSqVYUA== X-Gm-Gg: ASbGnctyaIlGtuAJRt/IhA/DN3Jb6m/tkL+m3k3ZaoSzGA+5n1dR/EgsLZnz+crdi8z q+mZ2NBdaf8wlGckY2hthstgVGPtGqF2+fwWLhkDznrkhxCrozMbUsdzWHGJ/5jkyChMZq1kWQ2 dZVK2OjfbyDIDAdhg1RCl/AHNNoc0JY1kFYjL57Qf9WVkOrjkQ+f9179YIuUAHvi0cHvXhaTN+w F9TqVX0BDUIdxKPqDGvdv0XHrVB64O1U07YBZlPYioaXv2Pl1/aXED4FTGn2Nx72hhUCrZRPtw5 lbzumwTDTia/074f/2kk3jbbpL2x6WPi X-Received: by 2002:a5d:5f09:0:b0:3a4:d274:1d9b with SMTP id ffacd0b85a97d-3b5f18922bbmr12252968f8f.25.1752534535224; Mon, 14 Jul 2025 16:08:55 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGITCH4fHn+3HpV4LbGWtcqE4C7ouV+p6FyJhmq5sQQfR9QhPkr7xtl8gGcgTSq3L+QOOnl8w== X-Received: by 2002:a5d:5f09:0:b0:3a4:d274:1d9b with SMTP id ffacd0b85a97d-3b5f18922bbmr12252946f8f.25.1752534534771; Mon, 14 Jul 2025 16:08:54 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:51 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Igor Mammedov , Jonathan Cameron , Ani Sinha Subject: [PULL 61/97] hw/i386/acpi-build: Use AcpiPciHpState::root in acpi_set_pci_info Message-ID: <37419d72af412c3bf32f22dbe7a048789ab8f62b.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535137712116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger pcihp acpi_set_pci_info() generic code currently uses acpi_get_i386_pci_host() to retrieve the pci host bridge. To make it work also on ARM we get rid of that call and directly use AcpiPciHpState::root. Signed-off-by: Eric Auger Suggested-by: Igor Mammedov Reviewed-by: Igor Mammedov Reviewed-by: Jonathan Cameron Message-Id: <20250714080639.2525563-16-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/acpi/pcihp.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c index 2c76edeb15..2db2f16940 100644 --- a/hw/acpi/pcihp.c +++ b/hw/acpi/pcihp.c @@ -99,10 +99,10 @@ static void *acpi_set_bsel(PCIBus *bus, void *opaque) return info; } =20 -static void acpi_set_pci_info(bool has_bridge_hotplug) +static void acpi_set_pci_info(AcpiPciHpState *s) { static bool bsel_is_set; - Object *host =3D acpi_get_i386_pci_host(); + bool has_bridge_hotplug =3D s->use_acpi_hotplug_bridge; PCIBus *bus; BSELInfo info =3D { .bsel_alloc =3D ACPI_PCIHP_BSEL_DEFAULT, .has_bridge_hotplug =3D has_bridge_hotplug }; @@ -112,11 +112,8 @@ static void acpi_set_pci_info(bool has_bridge_hotplug) } bsel_is_set =3D true; =20 - if (!host) { - return; - } =20 - bus =3D PCI_HOST_BRIDGE(host)->bus; + bus =3D s->root; if (bus) { /* Scan all PCI buses. Set property to enable acpi based hotplug. = */ pci_for_each_bus_depth_first(bus, acpi_set_bsel, NULL, &info); @@ -266,7 +263,7 @@ static void acpi_pcihp_update(AcpiPciHpState *s) =20 void acpi_pcihp_reset(AcpiPciHpState *s) { - acpi_set_pci_info(s->use_acpi_hotplug_bridge); + acpi_set_pci_info(s); acpi_pcihp_update(s); } =20 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534981; cv=none; d=zohomail.com; s=zohoarc; b=WvmjVfUuBWXLlTis5XmQxfrN8sF8ZzFkQSjawyz5chJnqN1wVi15FUiXLCCI373JBFRZEgeRdI5Mw5lm1IU8Ik2+bKc5U8YEZeIVeOqMPcGYomhwUvyyxBCGVdftk+vyAMUrwAlfYZOemF5BybRQYyTKKS8id1QB19I9V1fuB8Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534981; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=wLsKPagMrSSZ7Gtre3WseVjTbI6weoA/9UfazL/iDaA=; b=PdEB7DOO2qGm0gAOidiB6Zd8yDek2ye0jEOsAkZXRH0zl01QUSTvJugBLQy2Se96afKnCObBmj69C2RGd2pd1OMHrBDWL8PTmAb+W020nUHYH+DPaX/nwoYzYzsH+x7qntzbOvlAtKR8F2xWSSfdUlU7kOY0zoop0MUUElvklwQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534981154273.8703479562706; Mon, 14 Jul 2025 16:16:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSIo-0004b9-3x; Mon, 14 Jul 2025 19:09:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIB-0002RT-Cy for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:03 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSI9-0005nc-Gx for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:03 -0400 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-52-tNNn0RtFNpitIIh7k1ho0g-1; Mon, 14 Jul 2025 19:08:59 -0400 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-3a4eee2398bso2323773f8f.1 for ; Mon, 14 Jul 2025 16:08:59 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4560538da14sm87693425e9.23.2025.07.14.16.08.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534541; 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: in-reply-to:in-reply-to:references:references; bh=wLsKPagMrSSZ7Gtre3WseVjTbI6weoA/9UfazL/iDaA=; b=Ti5jXVrKcHJBL3uDbWfOcAuTHRl2YD32RFQBxB63KUA5+kTCHWGXte0s6aXjh3K9n5SieC PffirW7IJcmmOUxZu+W4WS9xjjFXpErv4dOuijRHuoDOrZJpOCCmIeVZ6oqFgFNjnyVvQj uxWN5MxsPlbzjpiImrEmP/tQnmZ+kys= X-MC-Unique: tNNn0RtFNpitIIh7k1ho0g-1 X-Mimecast-MFC-AGG-ID: tNNn0RtFNpitIIh7k1ho0g_1752534538 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534538; x=1753139338; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=wLsKPagMrSSZ7Gtre3WseVjTbI6weoA/9UfazL/iDaA=; b=X5FyYnasFMo+cJseTF0aGjd/LBaODfrIPvHD0OP9Z8/aqcVn5gX70j7XckJ/bABu8+ 1t/c3hu5beXPVO49uGbNUA1z7whbw1YYSrCtOSTDskT3t0mXEgAKDRj0p3itvdpJdunZ eCtrU1n6jOrvTbyPsV9cUK3jFcTMlYFU8lUXisst47WRlJx3ZsaOk/i0J6tGxbcJiBDI Awonc41yrJmyn+qsuGaKpA3jzPefp8pH3MAqODTTCe5MMUysV1ynHJcwa0tRiPIZRgWI +q0SHP5eNOtt/jPHZU/Nptc/ZHf197MR8Mr+gsubSvmpIICJXnBjxHT79hFPGugjLZr8 L+pw== X-Gm-Message-State: AOJu0YwCBHttS2hiBvGl7HFFwGjDw7OidJ2fxngmXXAI76Ty1Ui3lNXR AlpQrXe+7WQJgqyI62/k0u9hg3J+//yUdYYyKPVzN2r1uqbf3/g+YawB8vzxCZBkyvHybi/kxPK PsS6bmp2newTZJujukskOx+cuHaAPRlUwvFMMYS1qAkTO0hujNL0acNDevXz9y3LFOi37jSGYCS 3nZ7xRSaIbPbky/WplqSCNaRi63Lf7+L8c2Q== X-Gm-Gg: ASbGncscMCDTm1Z3883Av/pLlWxe/gV5LrXS2gYJgVWfBmRxSsqCwe75Zw5Tn4N6zAu k7he3AKzsyJ5eGR3IBgC9tzOWB/Gy+xzaV5exoxV0mM7YQU6OIQAei2egKmi6VXLCwiFiRq7o4l ztwfoZMkKyCO5ocZWszXxXtGwO2QxwwGMlNmKC98P9NGhKfuiSLFFXB82TbewI1sOmjJwFHm5/+ mbbt0m9FwnMMIJvRKcgUswlMtf4MKe9Q2HuZclpoHZ79weZ5Zq/Gdb522vq7XX2Kn2BZD6WU9Hd bV/oa97ThY0x39RCV27mFh7M4AWxE499 X-Received: by 2002:a05:6000:290b:b0:3b3:9c75:acc6 with SMTP id ffacd0b85a97d-3b5f359d08dmr10954228f8f.59.1752534538108; Mon, 14 Jul 2025 16:08:58 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEHKYf9TfWNzQ38nWLMICaaq3N5Ev1KPs2u1gk9NTXmbaUObqSLZdBsF0lwPSGkenEO6y/srg== X-Received: by 2002:a05:6000:290b:b0:3b3:9c75:acc6 with SMTP id ffacd0b85a97d-3b5f359d08dmr10954205f8f.59.1752534537594; Mon, 14 Jul 2025 16:08:57 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:54 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Jonathan Cameron , Igor Mammedov , Ani Sinha , Marcel Apfelbaum , Paolo Bonzini , Richard Henderson , Eduardo Habkost Subject: [PULL 62/97] hw/i386/acpi-build: Move aml_pci_edsm to a generic place Message-ID: <7b96127b8213b9222074aa7eb9f03f6ad3e46e80.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534982387116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger Move aml_pci_edsm to pci-bridge.c since we want to reuse that for ARM and acpi-index support. Also rename it into build_pci_bridge_edsm. Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-17-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/acpi/pci.h | 1 + hw/acpi/pci-bridge.c | 54 ++++++++++++++++++++++++++++++++++++++++ hw/i386/acpi-build.c | 57 ++----------------------------------------- 3 files changed, 57 insertions(+), 55 deletions(-) diff --git a/include/hw/acpi/pci.h b/include/hw/acpi/pci.h index 69bae95eac..20b672575f 100644 --- a/include/hw/acpi/pci.h +++ b/include/hw/acpi/pci.h @@ -42,5 +42,6 @@ void build_pci_bridge_aml(AcpiDevAmlIf *adev, Aml *scope); void build_srat_generic_affinity_structures(GArray *table_data); =20 Aml *build_pci_host_bridge_osc_method(bool enable_native_pcie_hotplug); +Aml *build_pci_bridge_edsm(void); =20 #endif diff --git a/hw/acpi/pci-bridge.c b/hw/acpi/pci-bridge.c index 7baa7034a1..394a919479 100644 --- a/hw/acpi/pci-bridge.c +++ b/hw/acpi/pci-bridge.c @@ -35,3 +35,57 @@ void build_pci_bridge_aml(AcpiDevAmlIf *adev, Aml *scope) } } } + +Aml *build_pci_bridge_edsm(void) +{ + Aml *method, *ifctx; + Aml *zero =3D aml_int(0); + Aml *func =3D aml_arg(2); + Aml *ret =3D aml_local(0); + Aml *aidx =3D aml_local(1); + Aml *params =3D aml_arg(4); + + method =3D aml_method("EDSM", 5, AML_SERIALIZED); + + /* get supported functions */ + ifctx =3D aml_if(aml_equal(func, zero)); + { + /* 1: have supported functions */ + /* 7: support for function 7 */ + const uint8_t caps =3D 1 | BIT(7); + build_append_pci_dsm_func0_common(ifctx, ret); + aml_append(ifctx, aml_store(aml_int(caps), aml_index(ret, zero))); + aml_append(ifctx, aml_return(ret)); + } + aml_append(method, ifctx); + + /* handle specific functions requests */ + /* + * PCI Firmware Specification 3.1 + * 4.6.7. _DSM for Naming a PCI or PCI Express Device Under + * Operating Systems + */ + ifctx =3D aml_if(aml_equal(func, aml_int(7))); + { + Aml *pkg =3D aml_package(2); + aml_append(pkg, zero); + /* optional, if not impl. should return null string */ + aml_append(pkg, aml_string("%s", "")); + aml_append(ifctx, aml_store(pkg, ret)); + + /* + * IASL is fine when initializing Package with computational data, + * however it makes guest unhappy /it fails to process such AML/. + * So use runtime assignment to set acpi-index after initializer + * to make OSPM happy. + */ + aml_append(ifctx, + aml_store(aml_derefof(aml_index(params, aml_int(0))), aidx)); + aml_append(ifctx, aml_store(aidx, aml_index(ret, zero))); + aml_append(ifctx, aml_return(ret)); + } + aml_append(method, ifctx); + + return method; +} + diff --git a/hw/i386/acpi-build.c b/hw/i386/acpi-build.c index fe8bc62c03..423c4959fe 100644 --- a/hw/i386/acpi-build.c +++ b/hw/i386/acpi-build.c @@ -338,59 +338,6 @@ build_facs(GArray *table_data) g_array_append_vals(table_data, reserved, 40); /* Reserved */ } =20 -static Aml *aml_pci_edsm(void) -{ - Aml *method, *ifctx; - Aml *zero =3D aml_int(0); - Aml *func =3D aml_arg(2); - Aml *ret =3D aml_local(0); - Aml *aidx =3D aml_local(1); - Aml *params =3D aml_arg(4); - - method =3D aml_method("EDSM", 5, AML_SERIALIZED); - - /* get supported functions */ - ifctx =3D aml_if(aml_equal(func, zero)); - { - /* 1: have supported functions */ - /* 7: support for function 7 */ - const uint8_t caps =3D 1 | BIT(7); - build_append_pci_dsm_func0_common(ifctx, ret); - aml_append(ifctx, aml_store(aml_int(caps), aml_index(ret, zero))); - aml_append(ifctx, aml_return(ret)); - } - aml_append(method, ifctx); - - /* handle specific functions requests */ - /* - * PCI Firmware Specification 3.1 - * 4.6.7. _DSM for Naming a PCI or PCI Express Device Under - * Operating Systems - */ - ifctx =3D aml_if(aml_equal(func, aml_int(7))); - { - Aml *pkg =3D aml_package(2); - aml_append(pkg, zero); - /* optional, if not impl. should return null string */ - aml_append(pkg, aml_string("%s", "")); - aml_append(ifctx, aml_store(pkg, ret)); - - /* - * IASL is fine when initializing Package with computational data, - * however it makes guest unhappy /it fails to process such AML/. - * So use runtime assignment to set acpi-index after initializer - * to make OSPM happy. - */ - aml_append(ifctx, - aml_store(aml_derefof(aml_index(params, aml_int(0))), aidx)); - aml_append(ifctx, aml_store(aidx, aml_index(ret, zero))); - aml_append(ifctx, aml_return(ret)); - } - aml_append(method, ifctx); - - return method; -} - /* * build_prt - Define interrupt routing rules * @@ -937,7 +884,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, dev =3D aml_device("PCI0"); aml_append(dev, aml_name_decl("_HID", aml_eisaid("PNP0A03"))); aml_append(dev, aml_name_decl("_UID", aml_int(pcmc->pci_root_uid))= ); - aml_append(dev, aml_pci_edsm()); + aml_append(dev, build_pci_bridge_edsm()); aml_append(sb_scope, dev); aml_append(dsdt, sb_scope); =20 @@ -952,7 +899,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, aml_append(dev, aml_name_decl("_CID", aml_eisaid("PNP0A03"))); aml_append(dev, aml_name_decl("_UID", aml_int(pcmc->pci_root_uid))= ); aml_append(dev, build_pci_host_bridge_osc_method(!pm->pcihp_bridge= _en)); - aml_append(dev, aml_pci_edsm()); + aml_append(dev, build_pci_bridge_edsm()); aml_append(sb_scope, dev); if (mcfg_valid) { aml_append(sb_scope, build_q35_dram_controller(&mcfg)); --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534801; cv=none; d=zohomail.com; s=zohoarc; b=JG5gkV4sBhzl/ydUFnVIBPIbpwmb9VHBr41xZWvPBetn/yZf6aQe4RXkMmHpeMfVwQ2Tv2VXxbD3K0himUI9EV2AFCzNqCu1XEHghnCzWrQyxOK5GZFNNBeG+O1V3o7FGy/PF94mc1zIcHfhKornaX1v3NlckhoXALvZa1XDkl4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534801; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=vkrlbrhsKn6eS+sA2oOtiYsJKDGFt+PZH3pEh9q5Hf8=; b=gi/rfbbzNFfRPWJAUZiMogxdo/NicRNMNrUtuHrmk2rDqM95AOnl/2h15yCdTIQxA501MubfXD/pg89vIYxbPhwVihjvJDu2sIpAq3JdwQfixyefsUroT8BzFoOwDVeBkHDzmpS+Kf2XuY9SITVaA2+ltvOh/s2i99QAFqBtZcM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534801474754.6856582682639; Mon, 14 Jul 2025 16:13:21 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSJB-00058I-CM; Mon, 14 Jul 2025 19:10:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIE-0002VL-LY for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:09 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIC-0005o5-H7 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:06 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-692-gR4Os1bSM3-xIfO74Dhiig-1; Mon, 14 Jul 2025 19:09:02 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-4560a30a793so10161665e9.3 for ; Mon, 14 Jul 2025 16:09:02 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-456009ec9c8sm91680415e9.39.2025.07.14.16.08.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:08:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534543; 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: in-reply-to:in-reply-to:references:references; bh=vkrlbrhsKn6eS+sA2oOtiYsJKDGFt+PZH3pEh9q5Hf8=; b=LT9A219rIG2GfmGycgFxgyUVnbWxsK60+nlztlnh6lVYfeh28k6jVTmDrbthoI3lCaLrtU UCHTXHeiJNnwxMd5aiUhnJsZA70Xbox858Yxc524kZAALc7zQWrSPgC7ipuR18lK0rHw6I 4Orm6O4DlsSbT5/EqAvvGD5RlNCOwWI= X-MC-Unique: gR4Os1bSM3-xIfO74Dhiig-1 X-Mimecast-MFC-AGG-ID: gR4Os1bSM3-xIfO74Dhiig_1752534541 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534541; x=1753139341; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=vkrlbrhsKn6eS+sA2oOtiYsJKDGFt+PZH3pEh9q5Hf8=; b=wNcMYcYS5YfKbUI8AyDU5qZFwO3SdjLvfSqI5wdJjscuGHfmTWiDdXPPM3dB1ltUuV ZfyKxtK0MLGR7PLhfdoNk3SYijMHyQAZNH64Pvnk8XPKXX73+Rf7xMviArgbIICu1iRu r1NX3FzpaATpJldzF3Z5TNqreZSAY6LjQBskV6uKPceREdMHPLQwzUyWZR4O1JDbAgAx 7FXd+3MlzfxzbSfUe1wd5C5CH/bn1aYYK1nF9jQ+aS/lMmMwyzicmqxLzrbi14VKzd+C VlAHfS7BRiVpzcQRlm8VU9c7VNkKUdR/PLCKt4owF0vG6k1gnpbk9vQx+NhU4/U4jHvI VOWg== X-Gm-Message-State: AOJu0Yx80CFEI+djb61HYiZIdy2wUHmn9Y2r4tqFrItkg5q6HH/GRVvR FjCl5lLQXE8KlHN6PNOX5u7CvdKWJu0tn7mEGbwk1ovCm5VUDr2Nfj30F6/f2KOq74R466ivAI2 hzP+4rBGco8DN9/J/90dF4x6urbAIVkbjW/DnJp3rwVEt5OMjbadwWsfbR2b9Aqv4uP+U8OBowb r3SMhJU3xw9tg1x6bD62FXvyy8vXKhzBRMJQ== X-Gm-Gg: ASbGncsEm00nGrO7kimt7kkM0xyachfuMXO7Dgr0djE5kEH4XUH2z4gqix9c106KrTd 5S/HYCISNW7moceRD17m/mf8D7CG7qOg7YLnm4elCz9Wk9NGny6yVox6i7eL+N04fQ9eXRtSG6E vE9x9VuWJkWyBTh62iFNJ13p7TFTf9+plYXmbmmA9R+0cy5Qk18zNDsIijvj8pebwNfVVxUyLx5 8+Q/SQegGp0eLI7rhec8XYrDmBMXvLyIdDkOuX7KslOS7JiPETq9S8jPg97wClbLNnxp7M/Opmx wHmotGRpxeRR1MjOFKpKMNUET/6HPetm X-Received: by 2002:a05:600c:1e04:b0:456:c48:491f with SMTP id 5b1f17b1804b1-4560c484fbbmr105500325e9.10.1752534540675; Mon, 14 Jul 2025 16:09:00 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHMfqosGnNpE2JNodrS12kF8YYsT+u8JEf2idso1z5nPAIDS1pJIPJ3iZCom/rbOlNQXjssVw== X-Received: by 2002:a05:600c:1e04:b0:456:c48:491f with SMTP id 5b1f17b1804b1-4560c484fbbmr105500075e9.10.1752534540177; Mon, 14 Jul 2025 16:09:00 -0700 (PDT) Date: Mon, 14 Jul 2025 19:08:57 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Jonathan Cameron , Igor Mammedov , Ani Sinha Subject: [PULL 63/97] qtest/bios-tables-test: Prepare for fixing the aarch64 viot test Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534802717116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger The test misses a variant and this puts the mess on subsequent rebuild-expected-aml.sh where a first DSDT reference blob is overriden by another one. Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-18-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test-allowed-diff.h | 1 + tests/data/acpi/aarch64/virt/DSDT.viot | 0 2 files changed, 1 insertion(+) create mode 100644 tests/data/acpi/aarch64/virt/DSDT.viot diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index dfb8523c8b..7a74beab3d 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,2 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/aarch64/virt/DSDT.viot", diff --git a/tests/data/acpi/aarch64/virt/DSDT.viot b/tests/data/acpi/aarch= 64/virt/DSDT.viot new file mode 100644 index 0000000000..e69de29bb2 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535952; cv=none; d=zohomail.com; s=zohoarc; b=MBvobNCORIlcNLxh17LOsZaDl9lVfqrZLNk3qXAhOQhIukB3rRtVms+PRQdxHI4u4ZRGFG22JIuOROyXBYhHDHcr1kKI/sN3yYt0mJ9/ITHR5B4U8bwHAwee0aOw3HbaaMfVq7W+lJr9wHI6gnO++3yE0nho9lrr3dot/Cdr9/E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535952; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=mk9mKZgFjAYJwELNbZOkW/ell0njkShYeNK1NqBrpwg=; b=jxI6UhwTiaxnsqBC9kFEQlUll85mbIv2OoVDiNNuFkFVZlXoIaopC2blfZNVCn4/UfORYuGovch4CtsfJuCCOy+OWA8gWrbcCv50ixq8ybuRsfzJ9KaD/5Ecy2gIGPvzzL5IjMn92uWEuVxdWLU4ihxa+knvAm5JnRd02Ub8JB0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535952674637.8215046954617; Mon, 14 Jul 2025 16:32:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSJT-0005YN-J9; Mon, 14 Jul 2025 19:10:31 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIF-0002WR-SO for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:09 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIE-0005oH-F5 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:07 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-685-1ZHpUTPjNGi8QnfdJm41PA-1; Mon, 14 Jul 2025 19:09:04 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-453817323afso30144445e9.1 for ; Mon, 14 Jul 2025 16:09:04 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45610a39cacsm69274645e9.38.2025.07.14.16.09.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534545; 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: in-reply-to:in-reply-to:references:references; bh=mk9mKZgFjAYJwELNbZOkW/ell0njkShYeNK1NqBrpwg=; b=PC/3H+EKDBIZM8nBeZHeF7hEOwp1MFUSpe6rQDpxDvWrsM4Wf9hosfza//FK3ZJfZBId9Q 0mR+1LB4czX/Sfi6hSUhrjzvVkyYv472FzQx6mH6zhb6im3002Bnhjr4Jeou2BQeQzIXNL xhkTbnne8LP6Bu99d8eifK5UMWlTNwU= X-MC-Unique: 1ZHpUTPjNGi8QnfdJm41PA-1 X-Mimecast-MFC-AGG-ID: 1ZHpUTPjNGi8QnfdJm41PA_1752534543 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534543; x=1753139343; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=mk9mKZgFjAYJwELNbZOkW/ell0njkShYeNK1NqBrpwg=; b=O7MD1YD4UqN6TVJYXIZ7sfmH30Xly7NvrtdFDrEVsoZ1bo5ikNhs1xsZFmTptJAxAR WTzhDoSjdSvq4/NxVW7lQaFxfEjKijAiCF6ex1E0OMV7LGHy/BI37/2dPA68kp+VKQYU OtN1NOHWOBVINImR+yqrWfHte4+Kb2XkcGMzwVnpUNCEq2oxPLAf0F3XwYhR+dvfH+NZ PiExhrXFY8tB+efqQQbhJnSvDlUTq8ojQBLVYHcpyEqUH5t8DS0L1CVQ5l0Fg0JyOxBR nzAHS8jt2gYezfdaaHPT2CDZV383/hC4ZLKAEMQiNNlzsjJEV9bWF5sh5X+juVr9nXLg W4CQ== X-Gm-Message-State: AOJu0YzlODtUidxvhZNwXhdsAfcSKNkdWKPP9gye1F0EG5wlbsXKTPg6 IMqMpVGf+LZcHyd1R9ETMS0pLs2+Qb6zD/GJylagIaGLwQhPpsSZV6LXguMwR9GJAkz/AYBMdzg SqUjtSK82MzDS8PzTBsNiUWGwHITZd1clth8iNLJi2xlDVBWMuPGZY3KTVcIb9yGVde5ON6XK/O mDF/uwonCE9BYIuKqluFjbr75H5dGzHUOVtg== X-Gm-Gg: ASbGncsIi4pYybcyTOO9excbkCFP9EGz5hSH/9Ig8Qq9Cpg3h66NYK6Ibxo8p+Rbm2F jRs8TMSapiy3ATU8hm+Umf8Ggnvm13UaD7OXexYbzf+UZL03SwvoxqwovXMllFcEet5mqdfKhKv A93jtvT//otM5QH9ZD9SHAvF9CnmyRPOq+AhrQuXPjJWv9OdKZ5OyQBaS68DnZ4HjegkRq/fSyD S1yTJZ/aVPruiC/A+AH1ef2wM8AZJU8JXLr+DhGAW3ehGQ60KfJJTR0p9PLI4i48bUEVxBs/OJD SMv8XNm05yKWMtal2zaSqxs2fbnQC/JA X-Received: by 2002:a05:600c:8b85:b0:456:11db:2f1e with SMTP id 5b1f17b1804b1-45611db3291mr74639915e9.15.1752534543199; Mon, 14 Jul 2025 16:09:03 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFNlHrHVO2tQeygkjz5f2bEmmwhkGoJIq8ofS8pK47BUolgsBc+2GRSnq/+22mJ4C7ZbPvgew== X-Received: by 2002:a05:600c:8b85:b0:456:11db:2f1e with SMTP id 5b1f17b1804b1-45611db3291mr74639705e9.15.1752534542785; Mon, 14 Jul 2025 16:09:02 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:00 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Jonathan Cameron , Igor Mammedov , Ani Sinha Subject: [PULL 64/97] qtest/bios-tables-test: Add a variant to the aarch64 viot test Message-ID: <988af0a097e0f2c6118f94ebbfc742799b9e0457.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535953779116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-19-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c index e988deac02..4701975c05 100644 --- a/tests/qtest/bios-tables-test.c +++ b/tests/qtest/bios-tables-test.c @@ -2275,6 +2275,7 @@ static void test_acpi_aarch64_virt_viot(void) test_data data =3D { .machine =3D "virt", .arch =3D "aarch64", + .variant =3D ".viot", .tcg_only =3D true, .uefi_fl1 =3D "pc-bios/edk2-aarch64-code.fd", .uefi_fl2 =3D "pc-bios/edk2-arm-vars.fd", --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535163; cv=none; d=zohomail.com; s=zohoarc; b=cUSIjhjcaET49EteiqEfwbuD6LQTg8eNxBCoXsIshhLwUy8QPsSGNdLtsYGLw4AQYNCHYZndB0DtLrMgvQekmXEEgGLJzfCTXqQXvV+NdIIbn11kw1r48k84SV3YF3t5wcWC6RGwCVOOPBbwEls5uUhqR0LewH8gQaIyI3u/7RQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535163; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=L5I3yMYEwmIpktuYyHjO4leVTXpIN1TMnMIOMG7LcDw=; b=RIxYIkydJ2YQYC6JdchRDHjL8ISg7BPSZPaZdw86Y7olegxiPHJ6Bvr1HrZOWAW3CBnqlOgftDip+n3YfQo3TT3cKHfWEgrcH7dkaY9V/7zY4lRqPsPRc7oKXEolbjfXdFj5X+P2bJL9SdnHhPpVWTW6KK1kNO0Xz69EQp1gSgY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535163408606.6944725142093; Mon, 14 Jul 2025 16:19:23 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSKl-0008AT-8F; Mon, 14 Jul 2025 19:11:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIX-00041D-Vx for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:26 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIP-0005pu-Uu for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:25 -0400 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-45-N6YyaPi4OOelYqEuW0zMTA-1; Mon, 14 Jul 2025 19:09:07 -0400 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3a4eee2398bso2323879f8f.1 for ; Mon, 14 Jul 2025 16:09:07 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8dc91d8sm13318599f8f.42.2025.07.14.16.09.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534556; 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: in-reply-to:in-reply-to:references:references; bh=L5I3yMYEwmIpktuYyHjO4leVTXpIN1TMnMIOMG7LcDw=; b=SfPgkGyczTDqCJAl/M4Rcs/d+8hWtnzGFHM4JnlwMgHEdRMy4ljlmMpbZiFV0/Sb4XPAW5 EZ4+Bcas/x/v6fPm1QsdSWQSlThazfUzvNVN5WdAIZI6Pq6+KQsfp5Rrlzwlkm3SNbvm9Q oOTXBCdbQxk1SoCy62VJOg4GtCAi5KY= X-MC-Unique: N6YyaPi4OOelYqEuW0zMTA-1 X-Mimecast-MFC-AGG-ID: N6YyaPi4OOelYqEuW0zMTA_1752534546 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534546; x=1753139346; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=L5I3yMYEwmIpktuYyHjO4leVTXpIN1TMnMIOMG7LcDw=; b=gBvQaE8mX9Dwc1f/59XL9zJlY5SUwKukYzqGXMliVzX6lu01NYfNSuy8xZn0iXzUaG vj/DG364HYt9YfSzHIwmDwd+jZjAi/2Qvi0aEj6Qcuw+q3dDS9flAG3RY4Giqn+/Gm+N ii3xbyLGQn9O2L2Iyg/uNHaVg1YjKx2NiG76QZpZO/ctmcFEyu2tvEvkhpfap3ske9Kn Yh9ynDV+tk8j69gsMxbcc0eEg9N9whQOEieR4XSerJgIoxl+GeMcoJjT3DVtlZ26vZDK m2eVdIZI9YhhjllA+VX3wfN41v74XfAbZNIkKCipT0jyxNr501qZVnsZtOULHkZOY6Xs jv6A== X-Gm-Message-State: AOJu0Yzz5/OjyEcNCkhChz+Ymzw7ml6GpgVJvtFkls4x5BPCTX52gHBu J6i0tZAcW5sqnZrLCkw9uYquNPTg2d9fYld1X7CvRzoYepirmCg1witqStvqVNyGxiMJQLU7hfb A/c8xtTm3uH0NYX7a7uYgynlQHtsBOVCmQSs+BJeUw/KEIKnsBeKPQ95Q7xXmlGXKfIbdMjSVsL qeWsRSAX3zBpny1X6bW7j1js/9JZ6NdbWB3A== X-Gm-Gg: ASbGnctoFX/w57f9SBg1BpmaY9gUcA0vo6LCZG3SalAtGJIE05Z+AnqFRRLyk5CkGa5 7AkmI18wdqZdZ5GkOVnQzOKHKuxKlt+r/8I26GaETCG425fn8/T61L2FoGQ1UWgFzAZQoDw9xMe Bft+tP08B+DchTlc4Ti4iGl4yTsgMtKzdLzY5NftUvjx60miT+dP33p1bvOwBoKGV6cIhAXXx1R bHQK2Vx+JI/S7YgEDiBnBd7LwnmWxRli9i45pOk15+zq3+VObpHU3Z8ffzXP7eovmxSvnQji8x4 3f1cRek/efwpvIfWb/K4jyGXW4heofns X-Received: by 2002:a05:6000:288a:b0:3a3:7ba5:9618 with SMTP id ffacd0b85a97d-3b5f35784femr9088560f8f.29.1752534545848; Mon, 14 Jul 2025 16:09:05 -0700 (PDT) X-Google-Smtp-Source: AGHT+IE5e0euedvw7HqhCPvlxbYNuGFiaIDKENpttdy3ZwWvfDouvpH5mIIRGgHxULZSAM+1eGhY/w== X-Received: by 2002:a05:6000:288a:b0:3a3:7ba5:9618 with SMTP id ffacd0b85a97d-3b5f35784femr9088544f8f.29.1752534545332; Mon, 14 Jul 2025 16:09:05 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:02 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Jonathan Cameron , Igor Mammedov , Ani Sinha Subject: [PULL 65/97] qtest/bios-tables-test: Generate DSDT.viot Message-ID: <119c454da2529a529628ec04a52200a3e7058f31.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535163971116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger Use a specific DSDT.viot reference blob instead of relying on the default DSDT blob. The content is unchanged. Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-20-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test-allowed-diff.h | 1 - tests/data/acpi/aarch64/virt/DSDT.viot | Bin 0 -> 5158 bytes 2 files changed, 1 deletion(-) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index 7a74beab3d..dfb8523c8b 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,2 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/aarch64/virt/DSDT.viot", diff --git a/tests/data/acpi/aarch64/virt/DSDT.viot b/tests/data/acpi/aarch= 64/virt/DSDT.viot index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..acab6e65febbc210158d4c39be0= 680bbb90250f5 100644 GIT binary patch literal 5158 zcmZvg%WoT16o=3D2)6MH;|y)ALqOG8=3DsMmZ^!NIT`CYo z{%G$y+itD>`OvA=3DYBi0B)V=3Dz)p54~&Pu%uod|Y;H+cqZKy-vF2412b1uahyk+w0Ky z_`0(@2**Z)ZQHKbgE3>`jNEM5EIv<=3D0w%~J`Y}eDc7ceV(D-;`bKlwYxu10hcWv8l zkTG%hT4vIiI8ICR5m__iBO-}X5ZTi2jlwPUcSgImZLgg#JBvJD+@wgbxXlrDe|1Et zW#2$V7@{5^+G-aK31LPghRzrb&S;8^sKkgdMw2tHhzwm~7>sd+GuA}LoWw90V~sPe zij0`VNHNA$&R7>2afy*(jCIb~5E+KVuoz>5Gp>n@gv7`(#x=3D&M2QLSvm}yFk0%Kg~ z3^7gdB?(h~kug5z3^`9z(mqOzaf37DJWWfCGGpB23^`9T5~IQxw>U%2(|L)p${3$; zhMcFC#HcaGZO)MMG%GRQVvH7N$a$KR7#A6%%^7l@<|W1@#&8&;A?Im9V!X>39nO&R zbU|Xg&lp|Kkn?m=3DVtmLLo17u%X;ETaW{fS)kn^-8F>J=3Dz<_tMcmn24mF?yUK=3DV@7D zTw#nmoFV7wvc$N`7@u;6oTn9uvB4O9&XDtTMPgiMi~(ab?_13?#R`~J}TG_pfm$e7X_5x zH$&Y~y9(YOK&fJcZ|fa_<@X^gc#Dt~Mb;&O<@cSlUJjjJ@T)0S%id7Wq}K^rO;z)C zx5${Z+dH%8=3DM&)FEZRg)Qb$KM*YZo5E=3DC&!&P)IGTedgMTS##KQi3B?nj2J z%z@_|c+R2coF5sk5(Cc|c*f8(hMsZojDu$!J>%$UfTsbT26`IknE=3DlOcqY&@fu1IK zn&4@or-`0P@Jxbd5251#Yr zIgg$ecv|3Tp{IqOS@6t)XBIuP=3D$Ql09C+r?Gl!me@XUi}9zFBuSpd%hcoxvJfSwEB zxd5IE=3D(&KNi{QBko{Q+Yh@M68EP`hdJ&WjB0?!h7me8|=3Do=3Df1l1fEOixrCl&@GOI8 z89mGBxeT7m;JJ*R%jj7F&kA@}(6fS`E8w{To-63Nf}X43xeA`E=3D(&oXRq(8WXB9oG zp=3DZIGIPDg_%BWKx_5a4NShnNl;~&x#Ns+py>O*@`Buc5n9CcaK>3`~PnHs(PqDWdQ z>bHod-t_4$B8^TyU@_ix(ShpuCFOT1RQ=3DUq;iE~%9q4Bl{5Ahv|NU=3Dw?YqHG#eW7%zd3`m#Oc@cDjU@_ z^+Ds~fj;WGthjN!BP@0B)imul%)O^OoldLjDYMH`_v%Ef9lw8Bow;pwI}`ux!9Q@T zt0L)cuan;DcA%h)YVY}>N8M3(i&8{J!qmsllB(%+-EO~DSebP1?Ij+m#=3D)6&`t-n5 ZwaN40{-|vpjgObqjlY;*>N!CX_CM8!>@ENR literal 0 HcmV?d00001 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535056; cv=none; d=zohomail.com; s=zohoarc; b=MQDWyGfxplQqifCHhh+twMljrUx1CTPqpleyvgq+1jbal8rWYpICghI5ZAlCWWM1jSdWBlA8/U20huzKImEh1A6Ll4i6cyEFcyfoyV1IOO2E38Q29khJ8FMXJqphV06pgvNnqZ/vezAd8gPHxNdk5KTM4Nq8TYPuJPAN5tNoL58= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535056; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=vkLKjSQD4q3ibgj4rK/BB/V8wVj/Bt38mK7Hzew+pao=; b=OGG8L6oR71LONi/j1AK/SnF1bevaF52j4y8UbXN2KVwg0Uzo3m7nKxHkJDp17LRCIxSMEC+jEcdpkKI06+58jCkfbCxfBWYXBFljlEuNVRAfNmayuHzpR5a2q9JrUxi99as4sx4WaafTaVoykS5sRTq9c0BjzByTmcq6YN/YYao= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535056861866.7044365003821; Mon, 14 Jul 2025 16:17:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSJz-0006C9-CD; Mon, 14 Jul 2025 19:10:57 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIM-0002lu-4M for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:14 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIK-0005p5-Bq for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:13 -0400 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-191--_6JxA4VPIW0iPfHL35EBQ-1; Mon, 14 Jul 2025 19:09:10 -0400 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3a579058758so1906076f8f.1 for ; Mon, 14 Jul 2025 16:09:10 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8bd1997sm13798384f8f.10.2025.07.14.16.09.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534551; 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: in-reply-to:in-reply-to:references:references; bh=vkLKjSQD4q3ibgj4rK/BB/V8wVj/Bt38mK7Hzew+pao=; b=RgR+7CdG5qC4V5OvylliwM+zUYmAx9ILpWznh7pwCMLfLVo5Kn8vLCcyhn7ibgIkwxck3e /WKcEYP6mluunNRedLT77Uqe8tELpLE2u3Wx/TISjv57BHgx1npRD+fZ0UQsMt88T9km8i 1Y+rFihu6m4pcrvL+hFCFWmYhfyljCw= X-MC-Unique: -_6JxA4VPIW0iPfHL35EBQ-1 X-Mimecast-MFC-AGG-ID: -_6JxA4VPIW0iPfHL35EBQ_1752534549 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534549; x=1753139349; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=vkLKjSQD4q3ibgj4rK/BB/V8wVj/Bt38mK7Hzew+pao=; b=F1u1uiD5LLLvKB4tkoccyW6T1bXX7dn0kJOb0p1L6uQ8iav8GwYco4AVbvrYtRojt5 CK702GclayHz2WQ/X7toJWz39X9AkXuEKS2G/ENMplQvKcP8dtZ2tdm23cHbbtVIgF11 Yp0FtrdsdGyTm396pWOvTNNPc3uSWw+9xrxkUS8WGM3Pid+8ev73JOUgmiVj4ekIKmZK g0m6lwYTJxKdPRlCsGR4rR2dzsH/+vrP2dRqVWP2lSCl/2f9jp8usDGoL3dQSlghP6aJ oK7Ly2iwvaEJRZOqFSFboud3JeJ2XM4jp73b0bbAm4fhsXdaAOUsocII9nO33ATivVGx ruzw== X-Gm-Message-State: AOJu0YzM0c06wBw6+Kh1X97N/SFsxNNUVNOdRRu7npCp8QFigoI7+7nd mlIbS9jwwrOw7KE3nKih72P48zLlsNXdpFdI5bEWldOBIzjadReGEhj9z9din58r6c9jRGU87eQ tQeY4yOwt1nD50U9MeeT6Cf8QF9dfhvxFF0ASOnJ7MMuoPinl7/B225qBqZ3C9+6dHWnbj4u+xD aCT3gQwMTjYc+1pPX5CITG51pRedF/WE1mZw== X-Gm-Gg: ASbGnct09Iq11cePJ6COju9P6OGgzmyfswkbE0t9IELfCL7PgjkDERjIgMGBnsULgOC ymOb3GWW4Yuyw60I1vtiTt5OkEZE+M/BpP3tJFaBB8QXabxSQNQ5ZkylKl4RWXLFOfgmb6HdXCk OLX8aXOg5mm6tju8/ja+oDUZYD7xMTznoZcSeLDDOmuQpHapICybXlhC3jb0v6BWZlHGx79JXW7 oMCnieeFweXDs3y4egpXcSfN5uS//nguFD/9+B3HgqR8i18ewE0ogo9e/ENS7H7OtTvQ/Zx4X7v 085YcH8Rn5rfDfFKdsBkKIR0zWsSBpbJ X-Received: by 2002:a05:6000:2110:b0:3a5:39ee:2619 with SMTP id ffacd0b85a97d-3b5f18eb674mr9949845f8f.47.1752534548802; Mon, 14 Jul 2025 16:09:08 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHAt1O2/sCEjT+OkJeSHrZL4Ta8F85I7UbSKgoOB2S4oBnYybrmdYuG4xVtp+6wfTuBnjqQ+Q== X-Received: by 2002:a05:6000:2110:b0:3a5:39ee:2619 with SMTP id ffacd0b85a97d-3b5f18eb674mr9949832f8f.47.1752534548420; Mon, 14 Jul 2025 16:09:08 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:05 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Gustavo Romero , Eric Auger , Jonathan Cameron , Igor Mammedov , Ani Sinha Subject: [PULL 66/97] tests/qtest/bios-tables-test: Prepare for changes in the arm virt DSDT table Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535058747116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Gustavo Romero This commit adds DSDT blobs to the whilelist in the prospect to allow changes in the arm virt DSDT method. Signed-off-by: Gustavo Romero Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-21-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test-allowed-diff.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index dfb8523c8b..023fbc6059 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,7 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/aarch64/virt/DSDT", +"tests/data/acpi/aarch64/virt/DSDT.acpihmatvirt", +"tests/data/acpi/aarch64/virt/DSDT.memhp", +"tests/data/acpi/aarch64/virt/DSDT.pxb", +"tests/data/acpi/aarch64/virt/DSDT.topology", +"tests/data/acpi/aarch64/virt/DSDT.viot", --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535551; cv=none; d=zohomail.com; s=zohoarc; b=EN/Cr2CO/aqUABJGqUDVhM5K2jFrWDG6Rl6XNIZA8Ns6cfq9VEgbdwooxbmBnhE0vZWj+QJBfma5FkzMrEXiu+bJDjQ3FwWiAqDPqWovZOHZyHpi4yJCqT3Y7rI2JERpSkeAY8T2f8fiUufS+t8ru1vnN47d3MF4tyuKDSgt8tI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535551; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=UsGvHLuViq0eG3d8AKEXA0j+N6nfPMsx/ttHRgiNFf8=; b=DbYzbRosFEofohRO3atTzmd6WmG+3Z6EMQmCPLLCzWwRC9pRbaOHflP6t/Sj4GFQYtNgr0ImZR3dlssIQDwHa3kSKWMx0Pz4mizCId2k8LUechv7RGVfVjxvJQrqugFarJJCwUOwk5csjD5gaFZyhTpT/uLN+fjjHh98IyE8tas= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535551349485.39852503690156; Mon, 14 Jul 2025 16:25:51 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSKH-00078u-6s; Mon, 14 Jul 2025 19:11:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIP-0002to-AR for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:17 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIM-0005pR-TW for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:16 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-562-RGZn9dlgOPCNYT8CAytDBQ-1; Mon, 14 Jul 2025 19:09:12 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-456013b59c1so14814765e9.3 for ; Mon, 14 Jul 2025 16:09:12 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-456114a417csm66266125e9.25.2025.07.14.16.09.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534554; 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: in-reply-to:in-reply-to:references:references; bh=UsGvHLuViq0eG3d8AKEXA0j+N6nfPMsx/ttHRgiNFf8=; b=U56b1ZlJDDtLE7J7UTb1+1MuHHhaR0uxleX9T/EvVrtCBmw0S/cE0hZ/jAbJnXn9d3atuh SrUgo7QrVkqMQ29RZftgccLkGv79pLGTWgUZGod+RYIzJheqjiDPH4spLRUZnqVNeRrE2U jqecB/jlSwPJu1kyuBI9GVdFStB0YWE= X-MC-Unique: RGZn9dlgOPCNYT8CAytDBQ-1 X-Mimecast-MFC-AGG-ID: RGZn9dlgOPCNYT8CAytDBQ_1752534551 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534551; x=1753139351; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=UsGvHLuViq0eG3d8AKEXA0j+N6nfPMsx/ttHRgiNFf8=; b=UQtSvXNFbMTJ1I9ONnlMCmlEZeht574+QRZLEd58SuXlqeWs7OF51ekehNsLXM111g m05a0nIyA2KcwxMFg+rEhWq5ld23MQnZw9OMrwcxdqTaEgPSD4vLKMuDXvLFnkg9d8z1 td5rLJ984yq5ZvYZh/ITpXsMP5Pv3FQUwtrk3lqyDK0kacW+9fNzkIDaGr/MvgBdndhh rvn1itGJVCyw821zPcpcDxJmQJTSP+nBSFx9YH9QUmwYO/8qREsFH2DVuPTMw+LfZRyf RZ2JkTA9iym8u8d/SqCuLNfBFiQ4cuwZJdOFI4ywCZtGLNFzxc93h8Lj9f02jwa0Kv+v NIMw== X-Gm-Message-State: AOJu0YxAqhXXC7KPxBoRGEIQBPIeT392e/2ULh9a8e0z30M5NFXA/+Bi k5HzUs9v+TPkV0IqGWeRAkTlIZcuUoLhe0J8y+tEk15dDaKfMmucRXHOK2PoV3iCRgqt1Geq8zE VcH9ECd7ehw1hODw9xIhPXTH4Qlg5r2vWbZPjoezjoSwIQuLpQTvaIWMtynIEjzskYFpbkUFQfw UfXhYuU7mSQk5aMjlFOf0W5mgpnC7aEGtorg== X-Gm-Gg: ASbGncv55/oJfrisYoTFyYyiJbFVmQMF7sy8RwF7G1NC4r8yW7hjWh0xfIIppiQWrsq YIq9WaBU4LTjJ4YqtYJapliCoCo9fq+ZQ6UBsi6COZJDVtU73mvzmjZV7nb2CIX+Y/IvRNgF5Z5 STNj0OdZZCzbSoUdgidFvCLtmDlqOwyE40CqmMyxnpL3++X7yf/JqfO9Z1WtXuXCqgFYqhF7+j7 wQI7WoiKGaVBrDEXPucmkXbMDbeakfDNlrK4aV+zqCV+bQouozrYSwwFezpTc17dTt/ShvpIH/D NOH5SQD/KU1A2KkKsrTVCebgjsiOf2kw X-Received: by 2002:a05:600c:620f:b0:456:2771:e654 with SMTP id 5b1f17b1804b1-4562771e755mr3600445e9.24.1752534550972; Mon, 14 Jul 2025 16:09:10 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEGW68l2u+m2NscAhgpIkVRnoQOQSdxGgbPL86GHDJ/2260IraYJ0ERBlSzO4E801O6K+ZXqA== X-Received: by 2002:a05:600c:620f:b0:456:2771:e654 with SMTP id 5b1f17b1804b1-4562771e755mr3600165e9.24.1752534550514; Mon, 14 Jul 2025 16:09:10 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:08 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Jonathan Cameron , Igor Mammedov , Paolo Bonzini , Ani Sinha , Shannon Zhao , qemu-arm@nongnu.org Subject: [PULL 67/97] hw/arm/virt-acpi-build: Let non hotplug ports support static acpi-index Message-ID: <63e48f0e334767ade8310f27f01ef73ba1145a34.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535553643116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger hw/arm/virt-acpi-build: Let non hotplug ports support static acpi-index Add the requested ACPI bits requested to support static acpi-index for non hotplug ports. Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-22-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/arm/virt-acpi-build.c | 12 ++++++++++++ hw/arm/Kconfig | 2 ++ 2 files changed, 14 insertions(+) diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c index f3bad69aa7..3dc1cfcd67 100644 --- a/hw/arm/virt-acpi-build.c +++ b/hw/arm/virt-acpi-build.c @@ -34,6 +34,7 @@ #include "hw/core/cpu.h" #include "hw/acpi/acpi-defs.h" #include "hw/acpi/acpi.h" +#include "hw/acpi/pcihp.h" #include "hw/nvram/fw_cfg_acpi.h" #include "hw/acpi/bios-linker-loader.h" #include "hw/acpi/aml-build.h" @@ -906,6 +907,7 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, Virt= MachineState *vms) const int *irqmap =3D vms->irqmap; AcpiTable table =3D { .sig =3D "DSDT", .rev =3D 2, .oem_id =3D vms->oe= m_id, .oem_table_id =3D vms->oem_table_id }; + Aml *pci0_scope; =20 acpi_table_begin(&table, table_data); dsdt =3D init_aml_allocator(); @@ -959,6 +961,16 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, Vir= tMachineState *vms) =20 aml_append(dsdt, scope); =20 + pci0_scope =3D aml_scope("\\_SB.PCI0"); + + aml_append(pci0_scope, build_pci_bridge_edsm()); + build_append_pci_bus_devices(pci0_scope, vms->bus); + if (object_property_find(OBJECT(vms->bus), ACPI_PCIHP_PROP_BSEL)) { + build_append_pcihp_slots(pci0_scope, vms->bus); + } + + aml_append(dsdt, pci0_scope); + /* copy AML table into ACPI tables blob */ g_array_append_vals(table_data, dsdt->buf->data, dsdt->buf->len); =20 diff --git a/hw/arm/Kconfig b/hw/arm/Kconfig index 1634e26fcc..2aa4b5d778 100644 --- a/hw/arm/Kconfig +++ b/hw/arm/Kconfig @@ -34,6 +34,8 @@ config ARM_VIRT select ACPI_HW_REDUCED select ACPI_APEI select ACPI_VIOT + select ACPI_PCIHP + select ACPI_PCI_BRIDGE select VIRTIO_MEM_SUPPORTED select ACPI_CXL select ACPI_HMAT --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535812; cv=none; d=zohomail.com; s=zohoarc; b=gFZXdLOXnAluNX0B00PynLCuCpQ4iRGdNF5kFx3OuPkpEdTZdYY/7NtJPcBnDGjfOJNCzh0DDJQcldxSMXKLTt3uiDqOKW/H/5gQ74UJuKBiPnVgoDzPHueeYgmEaXdn5XPWOfy7pnsNjnB8MeoaZKOVU8O+6xhsEFUwarnV4Go= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535812; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=yxYpO+9d8NYemWvnw8rBAwgNT88syJ5YYAjBvVO7KoE=; b=egG2eTFz2S7vu7sbu8YBb3y6HRaeaJucwau8OmbZDgN4Rjf4LZ1pecix6e2LgSYtIRRLG278tL34pLyL0y1DazkGz5JH1RuQ2EaznFpwk9faDgMMr7jC1lokXWkrB+w5YRJINF6g9EiEtTpCsVV53dFc1S5cMbw3L0mPirI5uBE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535812413691.6000104312109; Mon, 14 Jul 2025 16:30:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSKM-0007mM-TS; Mon, 14 Jul 2025 19:11:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIR-00036v-Kk for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:20 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIP-0005pm-3f for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:19 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-680-l-BLSmhrOiGI1OZoFstRPw-1; Mon, 14 Jul 2025 19:09:15 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-4561dbbcc7eso4646985e9.2 for ; Mon, 14 Jul 2025 16:09:14 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b600a39281sm5851601f8f.73.2025.07.14.16.09.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534556; 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: in-reply-to:in-reply-to:references:references; bh=yxYpO+9d8NYemWvnw8rBAwgNT88syJ5YYAjBvVO7KoE=; b=B/SG3HbYtRKOyw6BPSBisFbeN3MCzQB2D/zb0d24cyvfG3Bqzt/t03XaYab+bogFf35D5x awjCPLE+1Ar+zFQynMgky4JrOQN82PBKmkp09cfqnrYKAXOU4zfxJ0NEEfdZyBP3MRvDzs +LwQkR54BuJsh/t5iGISw6e1c9WcYcU= X-MC-Unique: l-BLSmhrOiGI1OZoFstRPw-1 X-Mimecast-MFC-AGG-ID: l-BLSmhrOiGI1OZoFstRPw_1752534554 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534553; x=1753139353; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=yxYpO+9d8NYemWvnw8rBAwgNT88syJ5YYAjBvVO7KoE=; b=vUBibsRkK++KDJ9uLyobNO4ojn5teZnqIqoCqzXCrAwhORGX61vynYkgrsskgP3G5F U51ktgiXlyCv+1urGFkbABvujrPQjF0e9iwH35JcwAMb9D1U9miD+fG6ko1ow7YJqJkj mNbOz8BVzv102DwUBD5Ih397dKVST7uKNAB3xZvlvHAH+ysyHWq+EImEnLMZ5vY7Zved gpURI8ZUCrV0QFPk7+iJQg2NJcoCNcLJBtw1qLlL/GVnlljVNjllZmtT1Z1CiO14uPWj ru4njWEQE+bCkgKlRKX3VUS6C2/7VRsXREOcsdzWopUZ2NocbYj++1CeyAkyetHrYeWi PeEA== X-Gm-Message-State: AOJu0YztNWUjly64B2nE9nb8dCHpHnK/6p9pVPZj+FM+mCbQqB3tAnR1 jjN9Kq4f1GsafWjqMnbTRTKJgXP6Q6apDQTODYtinEzBbjd3QrA24S/TlNd83eI657iwvzcAoxE ZpHAd4ZcNPJvd8rxfQq0HB2n23ahv6rIcZuJGSKIkg+6Ys29+Oin+KITbS7XgRS3qKVsyM0w1Ju jrmzt++vc4/YUlNk+PK8wYufScsAsmlb8mKQ== X-Gm-Gg: ASbGncvWWhSKwm9eu25NwyGA7vbWgLr4xQivb9kuelWXKUURqVvCnH+6GM3Q/cUSSEA 9bwu0glhdJcuRM6mEePlFO5WB1TDt9kqddj3HR4RVCQ3A+Aqld0Qs3LOxyIKaMWXe8c7o6lzWGJ iy00TBMhLRT1b81+jejghPiL0oHT85ugwQTAeAmMlcTLchOqgW5zzZ2c40mJZoOSlIDFeLbP/Gu RYuWOc2mdXaruYYcuH3rVQ4d9xRZQA3qrDZ0TO6aLhxgVvnN4HAuk82sSRmoAtiffNAih7mC6m1 m/AXGGphtGgl8DaEjQEF9Fy0vgr+OFFl X-Received: by 2002:a05:600c:6748:b0:456:11cb:b9c7 with SMTP id 5b1f17b1804b1-45611cbbb91mr61929445e9.25.1752534553473; Mon, 14 Jul 2025 16:09:13 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFlsxKttcUxs4SQflWwpEy8Exp5FM5PqGA/NTSZxu9E3zh9nU+jZxrXQXYHQh5snj/BuwSzrQ== X-Received: by 2002:a05:600c:6748:b0:456:11cb:b9c7 with SMTP id 5b1f17b1804b1-45611cbbb91mr61929295e9.25.1752534553056; Mon, 14 Jul 2025 16:09:13 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:10 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Jonathan Cameron , Igor Mammedov , Ani Sinha Subject: [PULL 68/97] tests/qtest/bios-tables-test: Update ARM DSDT reference blobs Message-ID: <4e9b11c0057a0b8494f53eb56d9503f80f1c8b92.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535814128116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger Changes relate to the introduction of pieces related to acpi-index static support along with root ports with no hotplug. + + Scope (\_SB.PCI0) + { + Method (EDSM, 5, Serialized) + { + If ((Arg2 =3D=3D Zero)) + { + Local0 =3D Buffer (One) + { + 0x00 = // . + } + If ((Arg0 !=3D ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c343= 4d") /* Device Labeling Interface */)) + { + Return (Local0) + } + + If ((Arg1 < 0x02)) + { + Return (Local0) + } + + Local0 [Zero] =3D 0x81 + Return (Local0) + } + + If ((Arg2 =3D=3D 0x07)) + { + Local0 =3D Package (0x02) + { + Zero, + "" + } + Local1 =3D DerefOf (Arg4 [Zero]) + Local0 [Zero] =3D Local1 + Return (Local0) + } + } + + Device (S00) + { + Name (_ADR, Zero) // _ADR: Address + } + + Device (S08) + { + Name (_ADR, 0x00010000) // _ADR: Address + } + + Device (S10) + { + Name (_ADR, 0x00020000) // _ADR: Address + } + } } Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-23-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test-allowed-diff.h | 6 ------ tests/data/acpi/aarch64/virt/DSDT | Bin 5158 -> 5293 bytes .../data/acpi/aarch64/virt/DSDT.acpihmatvirt | Bin 5244 -> 5379 bytes tests/data/acpi/aarch64/virt/DSDT.memhp | Bin 6519 -> 6654 bytes tests/data/acpi/aarch64/virt/DSDT.pxb | Bin 7603 -> 7768 bytes tests/data/acpi/aarch64/virt/DSDT.topology | Bin 5360 -> 5495 bytes tests/data/acpi/aarch64/virt/DSDT.viot | Bin 5158 -> 5310 bytes 7 files changed, 6 deletions(-) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index 023fbc6059..dfb8523c8b 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,7 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/aarch64/virt/DSDT", -"tests/data/acpi/aarch64/virt/DSDT.acpihmatvirt", -"tests/data/acpi/aarch64/virt/DSDT.memhp", -"tests/data/acpi/aarch64/virt/DSDT.pxb", -"tests/data/acpi/aarch64/virt/DSDT.topology", -"tests/data/acpi/aarch64/virt/DSDT.viot", diff --git a/tests/data/acpi/aarch64/virt/DSDT b/tests/data/acpi/aarch64/vi= rt/DSDT index acab6e65febbc210158d4c39be0680bbb90250f5..18d97e8f22979411a528705c0e3= 14acb424bbfa5 100644 GIT binary patch delta 156 zcmZ3cu~w7ICDM6Gl delta 19 acmZ3hxlDu0CDC8qh84&E4EZYD8 delta 19 acmexo{N0GlCDFq|YTuA^&WCm0K diff --git a/tests/data/acpi/aarch64/virt/DSDT.pxb b/tests/data/acpi/aarch6= 4/virt/DSDT.pxb index 7fdbc03e2bf9fb7d35704779253de36e362f0bf9..c2779882494e16920787b8ab7b4= cb3c3b70f224b 100644 GIT binary patch delta 168 zcmdmNeZz*!CD2+L6)WZd delta 19 acmca%v)P)HJ2nXCn0iZX7Xs@xe~<0nVNVBHpa7F2TOM3(O{GF%$?g zGcqJBkeW0(Lr|DY;DY(dr@^LGz7xe?`AQyk_Fa;&fPHEv7t@l20M6GC8qh84& (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535361461976.6124052935307; Mon, 14 Jul 2025 16:22:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSKE-0006rH-R6; Mon, 14 Jul 2025 19:11:11 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIV-0003jB-Kj for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:23 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIS-0005qQ-Dt for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:22 -0400 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-48-b61yh_MIN1ehjnLrCZcVDQ-1; Mon, 14 Jul 2025 19:09:17 -0400 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3b5f97cb8fbso811743f8f.3 for ; Mon, 14 Jul 2025 16:09:17 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8dc3a62sm13380445f8f.40.2025.07.14.16.09.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534558; 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: in-reply-to:in-reply-to:references:references; bh=9MfyLI51ZGlhvFL7ll8x4gM+wsOFXmgTxRbWPYlHUXM=; b=NnDUrdkJnPCkydwt4xvlHBdSvd3oFwgR/tmR3j/7cf1vPOUW9FdgLe8Ku3QDQnQJXzzH7k bwbRlWRRVF0VPi5Sf6qFRbJkKtHMLSy3pa2TBVKKBlD+OlT21WC4MDEkDaWwDoRoxOpq0N yCsMY+K2E5Mf14vKL7OaAwbl/VPDTMg= X-MC-Unique: b61yh_MIN1ehjnLrCZcVDQ-1 X-Mimecast-MFC-AGG-ID: b61yh_MIN1ehjnLrCZcVDQ_1752534557 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534556; x=1753139356; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=9MfyLI51ZGlhvFL7ll8x4gM+wsOFXmgTxRbWPYlHUXM=; b=amu9yICcScVb1XHjqwid444uw8Ba2kbZIgGZX6GItn1L4Z/Jy8OR56pj/ecjw4q3Oo 586a4HGV2V6g0Xvx89eVznVQxvmPof9qTCbvDI0U3lvrGm7MBtKxLGr+TnXBcleQu4QB pocFsx0AWF7N/8j5mC/+Gy8awxH6DdzbVGhX/196xcU1NHr1bCXsSH1qeJCX1j67Y301 zdGuLyrZ4eijwZqhgOKuHDoTaZJNl8EXMNidgA/mWrCVecSR/Difc+ZbtTmjCwOWxffd eA5Vt2MusdmlGfesB9Zdc0u5NGz1VHg4B8FVjulQdnhw41eTX7gUY0og193O9kgs9fjK vw1A== X-Gm-Message-State: AOJu0YzfViTD4jyJEYR/pRHkJT4dRP6fTj15ie3e1YrjWTWkrVQiq3Z5 gXnBcoOIytUTIiRG4hysPv9/q/4EmL85J0Cjq5WbfrbnuveQqMlqTTA1DxZi6PMhOwR4sxyF64Q LqTjq3TqxNT9LE01OP99KFdf+x9jcNUQ4YEoZ7wJ35S61QkaR+EOx7p7sqGiyTap12JBQrapPEb gXmHzPYC1eNr5onDZpa6V+XrM+q2lpSQ3fRA== X-Gm-Gg: ASbGncvYIlXIFiv/9zeFOWNHrDyHmpiLyvifffw3PVQda8s79jbKs8w/LO3LI9Rz+Fv CK51SynDtWgveZHp/OMfzG0VwIGErj4I+6dtyIlsN7hKMo2Ljb8s3pb3uNyNn1OGj61loCWdwPC 808h5pw/lJ6tqTIBsc4eYwcGzup4moh53Qht1VfzZ97dJi1O8gDwdhja/wjJR8tB1AjufV0WTzW WIMccCzC5R2LfngksJrabwJf6CMwzuN9M1OZcvclkBxGMAd9lOrn5FK7PfXTquj7Ys1SiNLLyVp p9bRc68AOIrB/nlcCaP0cTzrio5OiwcC X-Received: by 2002:a05:6000:42c2:b0:3a0:b84d:60cc with SMTP id ffacd0b85a97d-3b5f187ebeamr8569166f8f.2.1752534556218; Mon, 14 Jul 2025 16:09:16 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFUEGjaSD2MBq82qIyiEw6WuOil0WjACok4Kkj/HmQqiQA3O0wUmT/F++iD9VPvZPD0HZcMBg== X-Received: by 2002:a05:6000:42c2:b0:3a0:b84d:60cc with SMTP id ffacd0b85a97d-3b5f187ebeamr8569145f8f.2.1752534555777; Mon, 14 Jul 2025 16:09:15 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:13 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Jonathan Cameron , Igor Mammedov , Ani Sinha , Shannon Zhao , qemu-arm@nongnu.org Subject: [PULL 69/97] hw/arm/virt-acpi-build: Modify the DSDT ACPI table to enable ACPI PCI hotplug Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535361706116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger Modify the DSDT ACPI table to enable ACPI PCI hotplug. Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-24-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/acpi/pcihp.h | 2 ++ include/hw/arm/virt.h | 1 + hw/acpi/pcihp.c | 1 - hw/arm/virt-acpi-build.c | 17 +++++++++++++++++ hw/arm/virt.c | 2 ++ 5 files changed, 22 insertions(+), 1 deletion(-) diff --git a/include/hw/acpi/pcihp.h b/include/hw/acpi/pcihp.h index 5506a58862..9ff548650b 100644 --- a/include/hw/acpi/pcihp.h +++ b/include/hw/acpi/pcihp.h @@ -38,6 +38,8 @@ #define ACPI_PCIHP_SEJ_BASE 0x8 #define ACPI_PCIHP_BNMR_BASE 0x10 =20 +#define ACPI_PCIHP_SIZE 0x0018 + typedef struct AcpiPciHpPciStatus { uint32_t up; uint32_t down; diff --git a/include/hw/arm/virt.h b/include/hw/arm/virt.h index 4375819ea0..365a28b082 100644 --- a/include/hw/arm/virt.h +++ b/include/hw/arm/virt.h @@ -80,6 +80,7 @@ enum { VIRT_ACPI_GED, VIRT_NVDIMM_ACPI, VIRT_PVTIME, + VIRT_ACPI_PCIHP, VIRT_LOWMEMMAP_LAST, }; =20 diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c index 2db2f16940..f1594e664a 100644 --- a/hw/acpi/pcihp.c +++ b/hw/acpi/pcihp.c @@ -43,7 +43,6 @@ #include "qobject/qnum.h" #include "trace.h" =20 -#define ACPI_PCIHP_SIZE 0x0018 #define PCI_UP_BASE 0x0000 #define PCI_DOWN_BASE 0x0004 #define PCI_EJ_BASE 0x0008 diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c index 3dc1cfcd67..b01fc4f8ef 100644 --- a/hw/arm/virt-acpi-build.c +++ b/hw/arm/virt-acpi-build.c @@ -969,6 +969,23 @@ build_dsdt(GArray *table_data, BIOSLinker *linker, Vir= tMachineState *vms) build_append_pcihp_slots(pci0_scope, vms->bus); } =20 + if (vms->acpi_dev) { + bool acpi_pcihp; + + acpi_pcihp =3D object_property_get_bool(OBJECT(vms->acpi_dev), + ACPI_PM_PROP_ACPI_PCIHP_BRID= GE, + NULL); + + if (acpi_pcihp) { + build_acpi_pci_hotplug(dsdt, AML_SYSTEM_MEMORY, + memmap[VIRT_ACPI_PCIHP].base); + build_append_pcihp_resources(pci0_scope, + memmap[VIRT_ACPI_PCIHP].base, + memmap[VIRT_ACPI_PCIHP].size); + + build_append_notification_callback(pci0_scope, vms->bus); + } + } aml_append(dsdt, pci0_scope); =20 /* copy AML table into ACPI tables blob */ diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 8070ff7b11..817adedb31 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -76,6 +76,7 @@ #include "standard-headers/linux/input.h" #include "hw/arm/smmuv3.h" #include "hw/acpi/acpi.h" +#include "hw/acpi/pcihp.h" #include "target/arm/cpu-qom.h" #include "target/arm/internals.h" #include "target/arm/multiprocessing.h" @@ -186,6 +187,7 @@ static const MemMapEntry base_memmap[] =3D { [VIRT_NVDIMM_ACPI] =3D { 0x09090000, NVDIMM_ACPI_IO_LEN}, [VIRT_PVTIME] =3D { 0x090a0000, 0x00010000 }, [VIRT_SECURE_GPIO] =3D { 0x090b0000, 0x00001000 }, + [VIRT_ACPI_PCIHP] =3D { 0x090c0000, ACPI_PCIHP_SIZE }, [VIRT_MMIO] =3D { 0x0a000000, 0x00000200 }, /* ...repeating for a total of NUM_VIRTIO_TRANSPORTS, each of that siz= e */ [VIRT_PLATFORM_BUS] =3D { 0x0c000000, 0x02000000 }, --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534800; cv=none; d=zohomail.com; s=zohoarc; b=akOw/SeeLeBWV6rk6kPiPdi9rCXXcBpENfXvAD/QrKrsG5BZ63ErcbIQCzoD1NB+NUqhbowFbJdL+M4NEikil8nke7h2sbYfJVTovZc7poJpgHyDnm4Iyvo9UNH8zIg1HBbkfX2gR6Egs6M2yyVqAomG55m57hvX165w8h8PPjE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534800; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=abIfIiNx1s306ZzyGHCdWRc0FqHz4inGvPBZMZGML7I=; b=NFCI0L9WW0tyY88dLylRWLSx0iMuGUjoYDNMepKzwn1qrnK0uEixcV962x3KJZYcWtQxpvDUhNOcNqzTVoSgC2tVV0Kb9eHlxe419JiuSRQAIlREAA2x+et3H+xzHADYAw5dnv9oWwCIYRO0R4u0WfNUoWfuMnEmSHq0x9nymW8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534800498460.03905845516624; Mon, 14 Jul 2025 16:13:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSKJ-0007Kc-9n; Mon, 14 Jul 2025 19:11:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIX-0003un-IJ for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:25 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIV-0005rj-U1 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:25 -0400 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-13-pDe2bfncMXGAf1C4gtkZrQ-1; Mon, 14 Jul 2025 19:09:21 -0400 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-451d2037f1eso30883115e9.0 for ; Mon, 14 Jul 2025 16:09:20 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e0d719sm13690284f8f.54.2025.07.14.16.09.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534563; 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: in-reply-to:in-reply-to:references:references; bh=abIfIiNx1s306ZzyGHCdWRc0FqHz4inGvPBZMZGML7I=; b=cGD6TNGvLjHx1umhj8rtphMG9YFxL1v4Gwq8vqV5mcZs2m8IpXLMaDhcHcS06hYni/DMHJ hfV6oDOuqL4jylZ62R1Fecnebg/irVtqseSu9MTFDG1rPIHep8qAfr53RIqeJnOtJGZLiF 8GgGdXXyO7GB5Bg/b67SYPPgerur1lw= X-MC-Unique: pDe2bfncMXGAf1C4gtkZrQ-1 X-Mimecast-MFC-AGG-ID: pDe2bfncMXGAf1C4gtkZrQ_1752534560 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534559; x=1753139359; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=abIfIiNx1s306ZzyGHCdWRc0FqHz4inGvPBZMZGML7I=; b=X0jtWKSsv85pvwn6bID+kv7ZwzgOgPbMJ5G32cjBpisM+N93fTcpstTinDyJ283Ncl 1/wL7WoxiEMxSV+TBNptlGaMNiqa51Xpq/dQ7byhGhV7urhQTOuJ2VjJOTXf8m2W0Q5G vspxqg4mIYhqEJR90913qNaD35BnVszWqDINUueUEMfQZ0HFP5OrJQGdB3xQqOap/ik0 Xx+0/UOKTuCZsrFuexovWfDmDZrzfKOSrx/wGv1GiAyowOtGcjYXtp+L6IOZ70WbBh6U /C0+sEW9Uridqq4N11XgdzkGhQTsVX0b0G9qwEFr7DgFek5PT1Z+gobUth9hr59+00oW eqmg== X-Gm-Message-State: AOJu0YxymPWVPkewPIKK2Jkx6PogDeU7jfgc3GIvm8YdI8Az1rEvw8Yp x/rI0ITajOu70R0stCm/PnVTyhVOKTgEIkRjjwhwT6KrqzaB/OceljiFZbwvZrRfQAP3NW9NUkX c/rlAaryh0k0l4jHcMyIpB7z5rLKSLJ62RrEyoT6NtWHQCwjhOS+7Zc3yYNqy9fTm578oTHll0U HDQiWGKO72MEDsJ8RZe3NOMJ+nQh9AyYqFAw== X-Gm-Gg: ASbGncve2ppLZCW5XkDXVyEdbs69rUlNxa4oMm25/93rUlCSWtdwRps34RiQkY0HWqF IFDlb7+IcLbJ0f8jPPd4CJIma905CO8XRjVkQGmCaDv4bqKhGgu0UeWyVKdUxWe/9Ptc1T0sri8 cJpK6NiIW+TLfbsU7li520lmttijwGdja0LYVp129Hen2dRuEVkBVfUu3QEyI2VlCpMspLsyAis AV2h3qYRrJUV1l4oIZJB5V8OMKfdPe36M6qTXshMzX5lFiYhEJo64O0AhBrPidt5YT7JlQnxCwJ W16QXZg9fzrYw64iNK8ieTLUTBCxfbdu X-Received: by 2002:a05:600c:3d89:b0:450:d30e:ff96 with SMTP id 5b1f17b1804b1-455f30bfc7dmr130563755e9.0.1752534559462; Mon, 14 Jul 2025 16:09:19 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFIFbkMAPSgyKo4pac+uDc6SV8ZtgSYpPq6yKxRgX1NUPh6ez12s8bhpaYBSJbKDWdgQG109g== X-Received: by 2002:a05:600c:3d89:b0:450:d30e:ff96 with SMTP id 5b1f17b1804b1-455f30bfc7dmr130563565e9.0.1752534559043; Mon, 14 Jul 2025 16:09:19 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:15 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Igor Mammedov , Jonathan Cameron , Ani Sinha Subject: [PULL 70/97] hw/acpi/ged: Add a bus link property Message-ID: <4b37deb11bd7e03238ae0bfc1fd6abdea1eb9a18.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534802716116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger This property will be set by the machine code on the object creation. It will be used by acpi pcihp hotplug code. Signed-off-by: Eric Auger Reviewed-by: Igor Mammedov Reviewed-by: Jonathan Cameron Message-Id: <20250714080639.2525563-25-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/acpi/generic_event_device.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/acpi/generic_event_device.c b/hw/acpi/generic_event_device.c index 7831db412b..ef1c1ec51f 100644 --- a/hw/acpi/generic_event_device.c +++ b/hw/acpi/generic_event_device.c @@ -13,6 +13,7 @@ #include "qapi/error.h" #include "hw/acpi/acpi.h" #include "hw/acpi/generic_event_device.h" +#include "hw/pci/pci.h" #include "hw/irq.h" #include "hw/mem/pc-dimm.h" #include "hw/mem/nvdimm.h" @@ -320,6 +321,8 @@ static const Property acpi_ged_properties[] =3D { DEFINE_PROP_UINT32("ged-event", AcpiGedState, ged_event_bitmap, 0), DEFINE_PROP_BOOL(ACPI_PM_PROP_ACPI_PCIHP_BRIDGE, AcpiGedState, pcihp_state.use_acpi_hotplug_bridge, 0), + DEFINE_PROP_LINK("bus", AcpiGedState, pcihp_state.root, + TYPE_PCI_BUS, PCIBus *), }; =20 static const VMStateDescription vmstate_memhp_state =3D { --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535370; cv=none; d=zohomail.com; s=zohoarc; b=X+YJoH//Fp07RPSCJUng4NQNQ2v5/LLf/rp+h5GBmMsA58mXZu6JC8z8rEpqO47JKOet5/osG36EIHwg0uQiOkI5cE9hUeNY8yCFN8cn59PzdVMT0dtjpP6Elb/eiRnJDvmUuh1ACCpqeRLPxZrzWsIlsEW46vE8Cze2QYH+/0M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535370; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=nWTgx9OOmQrzNpl+Eee6xG0XRq2aOUUPbQTx1jMMcO4=; b=iYOaDTDqCqASnW0R4qdnopFniGtyRLFpQHPSAEIHxvpNowRCQDKkw5XVuU+hF2vgoMc5jRZ/EFmuBpq3Jovku+5BwJqBBT4vGQrHE+zQisJJPe9PvsOegk/gSQcGcvcBrcjpFvpLd9lbRj2ih59OwJNLu6u+7hVfsYh9fSDxUi4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535370971539.8997188696651; Mon, 14 Jul 2025 16:22:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSKv-0008BF-Dk; Mon, 14 Jul 2025 19:11:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIa-0004R8-Ky for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:30 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIY-0005sG-U6 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:28 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-646-BKABEcG_MJqv_qQ0C6ikaA-1; Mon, 14 Jul 2025 19:09:23 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-451ecc3be97so25170285e9.0 for ; Mon, 14 Jul 2025 16:09:22 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4560ceb1337sm81503405e9.13.2025.07.14.16.09.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534564; 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: in-reply-to:in-reply-to:references:references; bh=nWTgx9OOmQrzNpl+Eee6xG0XRq2aOUUPbQTx1jMMcO4=; b=i/8aXuZiK3K6Aa9WURxKo56QYQG/hmAH1r6AeSgkMkGV+pZmuQdES7hW9loXvXoUOnZUAm e75aTVgXO7Twn5tfU4xpkxwrhoc577BGuwNeHXEFi6jc9Vh7ESnOXF2zAlbjEyo8tRAepv rVJOTSeHxljQeGsNtKo+fa1irbflulQ= X-MC-Unique: BKABEcG_MJqv_qQ0C6ikaA-1 X-Mimecast-MFC-AGG-ID: BKABEcG_MJqv_qQ0C6ikaA_1752534561 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534561; x=1753139361; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=nWTgx9OOmQrzNpl+Eee6xG0XRq2aOUUPbQTx1jMMcO4=; b=AP5zeV3aD7Xn+DqewXI0LqlamcmtcGpbJiZ81LGQm5fwM8jKNqCSIHuH9FOI2KdvUP nns3wGuBs9mUvZce2d/rdApBtEaumYM+AB2w7pjR1PVns2ABrwjfGqmXjb4/+Eq9geWw x664HSOXL5lKOgTffuFZ6gCjpCWWeguitc8skUsst/d746zY6Mq/qcGX2AIdbTgvj0JT L8rflCQLh7iLpRkaCXuzM7tSvbemiT1wQ7Mvgac2r2UKioYBc1nt0FExWEcMaR/cM1bk wzz4iIHuAvXWEwYB1kMRN6E8Gy9h1w94UeLYUOr7t4vTUr/qgfo5+DMmAau+VDUAIArT xnPA== X-Gm-Message-State: AOJu0Yy2ifw/+VJil+15LV+WglG4SnpK6CKdvUu+m8gn81Ml7SfpvkLA iD82h3EXfTIAoGRR+OLFsdFC73xQzCWogc3FYt2WNg435XzPYpCxw+q09m7adDUtRl9h3f9pRks YeURr/ZGiJlHAq24AAQ8JT93GioLx/cRnyIbtZfn4uaXzBYFOZfeHi+JlfthF2PJcQtzjaVGSIf bkubqAE87gcVrKKUjwt7+GQqVfng67FLzYhA== X-Gm-Gg: ASbGncufSh4bkowfq+Cw0J8NE2Iog+OcV4X1Iy5unA8J4T+dqEV1KXnaMGktU49gVAX PU98UNgOToLkTauTmrv54lg2lJip7nmlatzXaq1SV2WoTIBXU3YAE86L3UglFfpw+tjb12ZyWcU tQk9xNI9z4CfO8bfI7SAlQvw9jVy7L3v4qo/VfBtvsL4K7ga07BCxV1N3ksOwmcaxwgiJGEZTif 24B9t4dmvHaksrPbBrpviJG61LZdD3cK5kKl2S0AqxFEFwhMTx4J6SbYncOfnIYcY1uM2IrVJjs n/HdHYliGug7YV6WDJSiGCyh+gSS7oHu X-Received: by 2002:a05:600c:4ecf:b0:456:24aa:958e with SMTP id 5b1f17b1804b1-45624aa9786mr19627175e9.0.1752534561343; Mon, 14 Jul 2025 16:09:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGa/OVUbHxTW5QCZ8VAm3s4vhGBi/pvLBF02n0N6fAUc1zCjvIlOrw1NmHrzTAiGoovUfsBBw== X-Received: by 2002:a05:600c:4ecf:b0:456:24aa:958e with SMTP id 5b1f17b1804b1-45624aa9786mr19626955e9.0.1752534560887; Mon, 14 Jul 2025 16:09:20 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:19 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Jonathan Cameron , Igor Mammedov , qemu-arm@nongnu.org Subject: [PULL 71/97] hw/arm/virt: Pass the bus on the ged creation Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535371798116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger The bus will be needed on ged realize for acpi pci hp setup. Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-26-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/arm/virt.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 817adedb31..41b5086b55 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -701,6 +701,7 @@ static inline DeviceState *create_acpi_ged(VirtMachineS= tate *vms) =20 dev =3D qdev_new(TYPE_ACPI_GED); qdev_prop_set_uint32(dev, "ged-event", event); + object_property_set_link(OBJECT(dev), "bus", OBJECT(vms->bus), &error_= abort); sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); =20 sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, vms->memmap[VIRT_ACPI_GED].bas= e); --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535799; cv=none; d=zohomail.com; s=zohoarc; b=PW66554FgF123fRovY9lEEey6hLYWL1Uz5a8G5e2yDiDDdmfQ5tUEED0DwUjr7fbWOA1j9gMTpCrB1UnPdIZ2xLIIV9nAxK4BnfIKix01cVLK/QeBT4du02OBxmiBSTqG+15PAmhniQTOfmwalQJ0myleqPUiQgCDW6GS8I/Fis= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535799; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=SvnomgrO0EIpFHMECBjp7SXzcEMSUEgRi45f0SJbgzI=; b=JFFY8UBCpsUzofwLe7G6KWaRkWMDjlOz/zInw1ezSYPG9UCPR6cDTU4AMRW/LTViHxXyafoST6jRDNEdmrRyzCbCS1IPvtiX9U066hLhxFNb8hWOTMHMhZM9JgdZMEwnol4cKR0W+U9QRrFqmSejCWNYJojgvny/GlqScKotvno= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535799896286.3821199500111; Mon, 14 Jul 2025 16:29:59 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSKg-0008AN-IZ; Mon, 14 Jul 2025 19:11:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIb-0004VY-O4 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:30 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIZ-0005tH-SV for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:29 -0400 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-54-5NyrKIRWM_Sy79ejyyJ_XQ-1; Mon, 14 Jul 2025 19:09:26 -0400 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3af3c860ed7so2107731f8f.1 for ; Mon, 14 Jul 2025 16:09:25 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8dc9298sm13500295f8f.44.2025.07.14.16.09.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534567; 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: in-reply-to:in-reply-to:references:references; bh=SvnomgrO0EIpFHMECBjp7SXzcEMSUEgRi45f0SJbgzI=; b=SgKL4RRm79sUPpNfUNiPLVRYnwVj0Elako76z8wYrQcomW5tHJZmvS1J8DESvduMKaCX4h KSnyMMoNRz8lEyEkOM0VUoVDKC0KwM4DbFhx16dyd4EmeCLQgnkD8hnNQ4l+BjXvdGUC6r INnF0Vikz17495Zv7vRZ7c47tNPJovE= X-MC-Unique: 5NyrKIRWM_Sy79ejyyJ_XQ-1 X-Mimecast-MFC-AGG-ID: 5NyrKIRWM_Sy79ejyyJ_XQ_1752534565 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534564; x=1753139364; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=SvnomgrO0EIpFHMECBjp7SXzcEMSUEgRi45f0SJbgzI=; b=Zzl8ZZytQioiHkpqIIxugaVFYFzC+LtPtimbEBLQweJPj6JAhuhmBcOkNMC1kj9B2y ace7Mm3fog/gx73C/EMJHrXS3Cinv4wthccG72LIC0kD89XhGH1m+Yprz7uIxblYaRCf qeuzq16hudpC9e4w7u777ZWHaSlDYXawto2CZYrS3fPpg0jXZZND068dnPBckQR7wdM4 /aXP0YArlAkWJaJoC27WvTEhLQSYjKgUh0w/lebhuy3lPAIsXHBAsWvSVv3Lkh+jFKnC SldNfjg5u1m2pXDVxrfQfQNj/1T56VmFpdWV09fXp8nyKDMu7hqofc2rSjr/nN7IUT9w XXNQ== X-Gm-Message-State: AOJu0YwDtUBRAWIkigyFLrGV1ZCtXPNBDnAh40pi+EpDXYQ+1OzXHqVA KJtuhfUdfTD2qFyX22EeWNWqKeiOVlaIWI9MWrUSyoYhF9o++o+hjXVVd6itmsZ0PZlUYGv0+KT iMl9R8q/0ULMxp/CZUFVxN1Rq+oxOebYDDxr96BKG4eOfYgnqKZBXCTZ08AINWK5ZFHlWeH6izC pp5rcN9upsE1fdpDS+2p33vcvHoqdRiY0kwg== X-Gm-Gg: ASbGncu33p3NgB4mKPJK9n3EORBWOuXTZX3P+OzfbB7aO65T9/WaXyRrjVDHnLnPtxo 7vL+a6srh4b4vZnGV4XzO+qc7yKDFzIHhkpD0fYJt7TCiM/wq11RtqQ0xhXHNLcf3BEe0rs4jeI HjdhYYsJC7NRmzFpBsMqcA9AZTeokedyCNfmib0VCdgbqxrYq0wU4OJ4DV38r7xS8iqU2WtRYUS 7MZe0wsblbDmCcbku5qdkBQmaFc+Q+8VDx3kPuYJSg4IzsZdt4t1OBEUljWiD9KUIZsGHY5S1GH eQ9Pt0byKPtm3rMJjXu29p25gP/RR7T3 X-Received: by 2002:a05:6000:1ac8:b0:3b4:990a:a0d6 with SMTP id ffacd0b85a97d-3b5f2dc2958mr10298821f8f.19.1752534564589; Mon, 14 Jul 2025 16:09:24 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEYEDxg9iIqOjS+1bPGVLpVKZX3A1xlg1cF1bUvJm6qAlPkE/TrFqmbaY0T0A0T4bE5443UaQ== X-Received: by 2002:a05:6000:1ac8:b0:3b4:990a:a0d6 with SMTP id ffacd0b85a97d-3b5f2dc2958mr10298802f8f.19.1752534564164; Mon, 14 Jul 2025 16:09:24 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:21 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Igor Mammedov , Jonathan Cameron , Ani Sinha Subject: [PULL 72/97] hw/acpi/ged: Call pcihp plug callbacks in hotplug handler implementation Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535801909116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger Add PCI device related code in the TYPE_HOTPLUG_HANDLER implementation. For a PCI device hotplug/hotunplug event, the code routes to acpi_pcihp_device callbacks (pre_plug_cb, plug_cb, unplug_request_cb, unplug_cb). Signed-off-by: Eric Auger Reviewed-by: Igor Mammedov Reviewed-by: Jonathan Cameron Message-Id: <20250714080639.2525563-27-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/acpi/generic_event_device.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/hw/acpi/generic_event_device.c b/hw/acpi/generic_event_device.c index ef1c1ec51f..92b931758f 100644 --- a/hw/acpi/generic_event_device.c +++ b/hw/acpi/generic_event_device.c @@ -17,6 +17,7 @@ #include "hw/irq.h" #include "hw/mem/pc-dimm.h" #include "hw/mem/nvdimm.h" +#include "hw/pci/pci_device.h" #include "hw/qdev-properties.h" #include "migration/vmstate.h" #include "qemu/error-report.h" @@ -228,6 +229,14 @@ static const MemoryRegionOps ged_regs_ops =3D { }, }; =20 +static void acpi_ged_device_pre_plug_cb(HotplugHandler *hotplug_dev, + DeviceState *dev, Error **errp) +{ + if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) { + acpi_pcihp_device_pre_plug_cb(hotplug_dev, dev, errp); + } +} + static void acpi_ged_device_plug_cb(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp) { @@ -241,6 +250,8 @@ static void acpi_ged_device_plug_cb(HotplugHandler *hot= plug_dev, } } else if (object_dynamic_cast(OBJECT(dev), TYPE_CPU)) { acpi_cpu_plug_cb(hotplug_dev, &s->cpuhp_state, dev, errp); + } else if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) { + acpi_pcihp_device_plug_cb(hotplug_dev, &s->pcihp_state, dev, errp); } else { error_setg(errp, "virt: device plug request for unsupported device" " type: %s", object_get_typename(OBJECT(dev))); @@ -257,6 +268,9 @@ static void acpi_ged_unplug_request_cb(HotplugHandler *= hotplug_dev, acpi_memory_unplug_request_cb(hotplug_dev, &s->memhp_state, dev, e= rrp); } else if (object_dynamic_cast(OBJECT(dev), TYPE_CPU)) { acpi_cpu_unplug_request_cb(hotplug_dev, &s->cpuhp_state, dev, errp= ); + } else if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) { + acpi_pcihp_device_unplug_request_cb(hotplug_dev, &s->pcihp_state, + dev, errp); } else { error_setg(errp, "acpi: device unplug request for unsupported devi= ce" " type: %s", object_get_typename(OBJECT(dev))); @@ -272,6 +286,8 @@ static void acpi_ged_unplug_cb(HotplugHandler *hotplug_= dev, acpi_memory_unplug_cb(&s->memhp_state, dev, errp); } else if (object_dynamic_cast(OBJECT(dev), TYPE_CPU)) { acpi_cpu_unplug_cb(&s->cpuhp_state, dev, errp); + } else if (object_dynamic_cast(OBJECT(dev), TYPE_PCI_DEVICE)) { + acpi_pcihp_device_unplug_cb(hotplug_dev, &s->pcihp_state, dev, err= p); } else { error_setg(errp, "acpi: device unplug for unsupported device" " type: %s", object_get_typename(OBJECT(dev))); @@ -485,6 +501,7 @@ static void acpi_ged_class_init(ObjectClass *class, con= st void *data) dc->vmsd =3D &vmstate_acpi_ged; dc->realize =3D acpi_ged_realize; =20 + hc->pre_plug =3D acpi_ged_device_pre_plug_cb; hc->plug =3D acpi_ged_device_plug_cb; hc->unplug_request =3D acpi_ged_unplug_request_cb; hc->unplug =3D acpi_ged_unplug_cb; --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535548; cv=none; d=zohomail.com; s=zohoarc; b=W8tkHfzCQIbyczb2EWuHOItwyjOBBKYEYoXnR2wngRGoDice+97HZVZYNko2Ta4Fvjzx+p3YDTh3Qbwz+KeB9pypaHVi4MhGI96K1UtPdpJcxZdS5MboMac04BSRjThqxn4yTrMZ4YtmHSptVmvYXjcdQlmMYUEytINWmRz8Mbw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535548; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=WQxn9QS/vMZYb/YDbv5LwymPvubtqzGJ3vEfbTcnRSM=; b=NR0Dl0mwey+MqEpG72NxiekkXRCmfgYczeDtsag1EuQcCuaAn29Tc99yDhWPeuPiV9naHcnZxM0x0CTLQASaV+ufwBydGgr5I7rezc2DDMXwD92Wva0LBvDjHagC10AgKMx7uHOYsGdBanJ0IWDvHv6EmmzB2m/QdnKPqjsfrB4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535548647871.8198903557776; Mon, 14 Jul 2025 16:25:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSKv-0008Ba-B4; Mon, 14 Jul 2025 19:11:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIg-0004f1-2t for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:42 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSId-0005tz-Jr for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:33 -0400 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-67-ihcVTHhMM3-Ji7QU-JOc2A-1; Mon, 14 Jul 2025 19:09:28 -0400 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3a503f28b09so3030604f8f.0 for ; Mon, 14 Jul 2025 16:09:28 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e1e3bdsm13361937f8f.81.2025.07.14.16.09.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534570; 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: in-reply-to:in-reply-to:references:references; bh=WQxn9QS/vMZYb/YDbv5LwymPvubtqzGJ3vEfbTcnRSM=; b=AVb2BBxWtXWBFcVMJo4uPGDVkOmIPgta0ZTk2nXczKKQooo8pA64JOSZaapm1L3MLFU2TH wCwjRJqu4ku+N8FdSujurObbzLzW+Df2ITSWfqcUfEPo9A38ImZ8ibFUqtbZ3WPy+hS9Ro Hz9QnlnPKcKDMMWl6T7+euNq9lyV9/o= X-MC-Unique: ihcVTHhMM3-Ji7QU-JOc2A-1 X-Mimecast-MFC-AGG-ID: ihcVTHhMM3-Ji7QU-JOc2A_1752534568 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534567; x=1753139367; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=WQxn9QS/vMZYb/YDbv5LwymPvubtqzGJ3vEfbTcnRSM=; b=dvXXD7cOG9qwky9Bzrn8ApGm27aELnhHkoFQqHBMTuMVg5pb14RDW3KCj2J6wUmTvj ZUqPFb7/hiBpJAqT0cVVFbvF3wc5xecMIgbGrNb2zCsokDQJZJY1tKV+705Fv+clt1hN JqQ6YkTKGPa7fzUwsps98mzuSZ8OXArqURn6z9iv1/FLBTqZ/rqVitK88a60VafbnLLb ovdoeW9/AbzX0jDDiqdmnPGjDk85bZKrk4p1Mboz20DriYLfuqZwpSNZjKvohWBAHrH3 n+OBh/nBIqsqDoX8yYf4x99VBUiMmOdwjo2xQnSL/+czVr21WLbXiNgJ6c7Gs3IbY93m xhXA== X-Gm-Message-State: AOJu0Yx3aarmOxaj9ABsucXazN/5RxMsGgQnzbuNUgIAri8t6Y8r2N99 O1zQRQ8LGutQV87m71f4ASYJ+AvSQEbVWYD3RZEL4cN3DnilCYjkXE0pJZ7HLqsaz7GcqYhjOE+ HPIu00gjYYHhvUarO9F9GQLpOb7qxC4BwUYLbrG42OySV43SOuCYnChhkAOaYT2e6wWtFAp4G21 Z+e3g4/TwzlyuES4YagpZJP7b5bbu8SwxcxQ== X-Gm-Gg: ASbGncvEMgeLIvUf0GB+C4pw/wClbnSjeA6xDRGtklU+dnTV3JlIGQlUFZvp+hlIpGt B5PcZMRveesNe4xI78OK+lNMXNdqpWpnjH5hdYkFWYaTdufka3BuBIkxo2MN8abUU78f3MuQwrR WjY/i2Rlz+r6hwdxMyZd64fmM38n7vufAhZjg/0Aqe+JUQp+2BEM+wFRlotbYrf6q4SqbXl0wuO YkLCdXGWvGSDig1rqXqD6AKfDS7anlQMGZ1mNR3r7CChIhcKVhtVavb9OU1rsL43Uu9LvkzRc0O /NqTZtQX4dNEuHSGWoqNktIvH6Nk39yB X-Received: by 2002:a05:6000:3c9:b0:3a5:7895:7f6b with SMTP id ffacd0b85a97d-3b609525fd2mr1025431f8f.7.1752534567401; Mon, 14 Jul 2025 16:09:27 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEsHGCkbGRjjLtkot/O4pSBpQ7p+18CvPkQrwb3h2IHySJGr+T0l+qrJKAqZv67jUcV2RyePg== X-Received: by 2002:a05:6000:3c9:b0:3a5:7895:7f6b with SMTP id ffacd0b85a97d-3b609525fd2mr1025410f8f.7.1752534566936; Mon, 14 Jul 2025 16:09:26 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:24 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Igor Mammedov , Jonathan Cameron , Ani Sinha , Marcel Apfelbaum , Philippe =?utf-8?Q?Mathieu-Daud=C3=A9?= , Aurelien Jarno Subject: [PULL 73/97] hw/acpi/pcihp: Remove root arg in acpi_pcihp_init Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535549663116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger Let pass the root bus to ich9 and piix4 through a property link instead of through an argument passed to acpi_pcihp_init(). Also make sure the root bus is set at the entry of acpi_pcihp_init(). The rationale of that change is to be consistent with the forecoming ARM implementation where the machine passes the root bus (steming from GPEX) to the GED device through a link property. Signed-off-by: Eric Auger Suggested-by: Igor Mammedov Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-28-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/acpi/pcihp.h | 2 +- hw/acpi/acpi-pci-hotplug-stub.c | 2 +- hw/acpi/ich9.c | 7 ++++++- hw/acpi/pcihp.c | 4 ++-- hw/acpi/piix4.c | 5 ++++- 5 files changed, 14 insertions(+), 6 deletions(-) diff --git a/include/hw/acpi/pcihp.h b/include/hw/acpi/pcihp.h index 9ff548650b..ca6a258825 100644 --- a/include/hw/acpi/pcihp.h +++ b/include/hw/acpi/pcihp.h @@ -62,7 +62,7 @@ typedef struct AcpiPciHpState { bool use_acpi_root_pci_hotplug; } AcpiPciHpState; =20 -void acpi_pcihp_init(Object *owner, AcpiPciHpState *, PCIBus *root, +void acpi_pcihp_init(Object *owner, AcpiPciHpState *, MemoryRegion *io, uint16_t io_base); =20 bool acpi_pcihp_is_hotpluggable_bus(AcpiPciHpState *s, BusState *bus); diff --git a/hw/acpi/acpi-pci-hotplug-stub.c b/hw/acpi/acpi-pci-hotplug-stu= b.c index b7bc6e40a1..d58ea726a8 100644 --- a/hw/acpi/acpi-pci-hotplug-stub.c +++ b/hw/acpi/acpi-pci-hotplug-stub.c @@ -4,7 +4,7 @@ =20 const VMStateDescription vmstate_acpi_pcihp_pci_status; =20 -void acpi_pcihp_init(Object *owner, AcpiPciHpState *s, PCIBus *root_bus, +void acpi_pcihp_init(Object *owner, AcpiPciHpState *s, MemoryRegion *address_space_io, uint16_t io_base) { } diff --git a/hw/acpi/ich9.c b/hw/acpi/ich9.c index 967b67485e..2b3b493c01 100644 --- a/hw/acpi/ich9.c +++ b/hw/acpi/ich9.c @@ -322,9 +322,10 @@ void ich9_pm_init(PCIDevice *lpc_pci, ICH9LPCPMRegs *p= m, qemu_irq sci_irq) } =20 if (pm->acpi_pci_hotplug.use_acpi_hotplug_bridge) { + object_property_set_link(OBJECT(lpc_pci), "bus", + OBJECT(pci_get_bus(lpc_pci)), &error_abor= t); acpi_pcihp_init(OBJECT(lpc_pci), &pm->acpi_pci_hotplug, - pci_get_bus(lpc_pci), pci_address_space_io(lpc_pci), ACPI_PCIHP_ADDR_ICH9); =20 @@ -428,6 +429,10 @@ void ich9_pm_add_properties(Object *obj, ICH9LPCPMRegs= *pm) =20 object_property_add_uint32_ptr(obj, ACPI_PM_PROP_PM_IO_BASE, &pm->pm_io_base, OBJ_PROP_FLAG_READ); + object_property_add_link(obj, "bus", TYPE_PCI_BUS, + (Object **)&pm->acpi_pci_hotplug.root, + object_property_allow_set_link, + OBJ_PROP_LINK_STRONG); object_property_add(obj, ACPI_PM_PROP_GPE0_BLK, "uint32", ich9_pm_get_gpe0_blk, NULL, NULL, pm); diff --git a/hw/acpi/pcihp.c b/hw/acpi/pcihp.c index f1594e664a..4922bbc778 100644 --- a/hw/acpi/pcihp.c +++ b/hw/acpi/pcihp.c @@ -493,13 +493,13 @@ static const MemoryRegionOps acpi_pcihp_io_ops =3D { }, }; =20 -void acpi_pcihp_init(Object *owner, AcpiPciHpState *s, PCIBus *root_bus, +void acpi_pcihp_init(Object *owner, AcpiPciHpState *s, MemoryRegion *io, uint16_t io_base) { s->io_len =3D ACPI_PCIHP_SIZE; s->io_base =3D io_base; =20 - s->root =3D root_bus; + assert(s->root); =20 memory_region_init_io(&s->io, owner, &acpi_pcihp_io_ops, s, "acpi-pci-hotplug", s->io_len); diff --git a/hw/acpi/piix4.c b/hw/acpi/piix4.c index d98b80df6d..7a18f18dda 100644 --- a/hw/acpi/piix4.c +++ b/hw/acpi/piix4.c @@ -567,7 +567,8 @@ static void piix4_acpi_system_hot_add_init(MemoryRegion= *parent, =20 if (s->acpi_pci_hotplug.use_acpi_hotplug_bridge || s->acpi_pci_hotplug.use_acpi_root_pci_hotplug) { - acpi_pcihp_init(OBJECT(s), &s->acpi_pci_hotplug, bus, parent, + object_property_set_link(OBJECT(s), "bus", OBJECT(bus), &error_abo= rt); + acpi_pcihp_init(OBJECT(s), &s->acpi_pci_hotplug, parent, ACPI_PCIHP_ADDR_PIIX4); qbus_set_hotplug_handler(BUS(pci_get_bus(PCI_DEVICE(s))), OBJECT(s= )); } @@ -611,6 +612,8 @@ static const Property piix4_pm_properties[] =3D { acpi_pci_hotplug.use_acpi_hotplug_bridge, true), DEFINE_PROP_BOOL(ACPI_PM_PROP_ACPI_PCI_ROOTHP, PIIX4PMState, acpi_pci_hotplug.use_acpi_root_pci_hotplug, true), + DEFINE_PROP_LINK("bus", PIIX4PMState, acpi_pci_hotplug.root, + TYPE_PCI_BUS, PCIBus *), DEFINE_PROP_BOOL("memory-hotplug-support", PIIX4PMState, acpi_memory_hotplug.is_enabled, true), DEFINE_PROP_BOOL("smm-compat", PIIX4PMState, smm_compat, false), --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535317; cv=none; d=zohomail.com; s=zohoarc; b=mXISYpdnlyFcZn9AFjwLxkQaIcOP9n7sZHmtjyn4A/AYMmaNey4W/D+evPrR4joq+zlRFoaZpCVSJnL06S3u8dWk/rgyVbShnc5UFQmAElwocL1KczIbwjbMMKWUzC2JOiEm9M43pM5SXiOTUtN8rKVdrAurnOEjVb2KLRRrh3Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535317; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=dQNHSRwys1OpaB1ilXn8N+IA7K18jcvtXblvgfOk7GQ=; b=f472sl6NgGH3wGUzq1hrkwS+YivIE5j0kcoLrtr8I3blnpCjXTf3c00WDjERQz+2CkrMSIFJZ8m9NZfN/OZPnwCu84tfk5A4MWKqjL5Y3wBrNndtMji0zaTjEGg/IAbebTNrBwSR3sM6V2S3WU+uEGG/YjAuNEfvQ6T5wz1rOOY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535317912364.37062024689897; Mon, 14 Jul 2025 16:21:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSLl-0008Vq-A9; Mon, 14 Jul 2025 19:12:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIh-0004lk-UK for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:42 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIe-0005u6-TS for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:35 -0400 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-270-9Ad1pC_oPYmVbsWNZT996Q-1; Mon, 14 Jul 2025 19:09:31 -0400 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-45626532e27so1772515e9.1 for ; Mon, 14 Jul 2025 16:09:30 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45627898725sm1724035e9.1.2025.07.14.16.09.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534572; 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: in-reply-to:in-reply-to:references:references; bh=dQNHSRwys1OpaB1ilXn8N+IA7K18jcvtXblvgfOk7GQ=; b=LSBMKGaNpwuo440Z67I4O/Y1DnFEkC1IgJuxIKDI2AUVHKswOM8gfWjiHAB/lFOR6DVNya BHeyghEprm3lB9kW13fWV+3jK3p5lLAxPCQfdLVbEcNqG6HdGXjIhthmCEu3cyfRPQ5rT1 rf//B4dz0HwmxqVTjYvYk/bb++4TTnc= X-MC-Unique: 9Ad1pC_oPYmVbsWNZT996Q-1 X-Mimecast-MFC-AGG-ID: 9Ad1pC_oPYmVbsWNZT996Q_1752534570 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534569; x=1753139369; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=dQNHSRwys1OpaB1ilXn8N+IA7K18jcvtXblvgfOk7GQ=; b=hkJql4Sn1KZLw0n0mtHXWUztOM6SOHswxz3ESct80mn6Jy+Nvs4PhIPYk9c0gMzyh2 RKu2NjP7jp89rzq/KKEibmyygMCrgu3QF9bVO2fUtf0pDw/8fHGd2aGJy9+pBdK9kFIN k8wtt+NjImi7U2W39XT4bvpyw/pJZnWERMfbOXkRe3RsyT3NXw2KqgzPTc/Ft/QwXqan 2DWNozJiy8kNtJ9/+ts6D0AVvCEE8TnXHm7sFA1MIAOFZgX5ZQIHpSfjVPRA6l1gNAzp 5Vy+2ydYTYAb3BxSOQsNR6qt29Xfgt50DvSXuS7mWH2LrTNfxbMPCkGbjzXb0EgWf1hV t7lA== X-Gm-Message-State: AOJu0Yx2eokF19KlBqVGyqD/VP4axbAGsm94UB6d0Q0slRKWvo1ovwGz XcqaFfEnULkojlZrRu8cytRVQzaATsAip3tQQVB3j877iu3G4rds0EUnB0Xeg/2CDJISW03w/sX mxOtxdTvXHbMi1N38tDOzdyjteV5qFRel824BGzPFWMY4a3K82+IsWhpFJbCXX+mhUZ5XZ35OWP eruEReXwQneUVE3Cpzrnp97/9/CHdmFbDThg== X-Gm-Gg: ASbGncsVvk+sqQc9nIZB1VmWj/nOgWRcprgjGFC5fMr4Q72G5/uVEh/dPkGND+fshoy KRNT3K8lQbK3uHI8OOxbC85qsvtywKcKrBOHh4AvKRNeQ8I0Y7d1kAbuKyQblT4Cya8XbM6paiR EhRDHsEqutbJhBx30ogdQc3RdDnAAD+kMV7NllWcNUjLj5g9o+X/QZO7HCNa8IAB4gc+Y+ll1FR 9b0Y6tUoa9QirJvzZP42EV8YCLJDFIT817VEqq2kYpWBQOoAYjO+CaCAFnfCY99V7ZqebCwwix7 LoKPye2bfW53qIrqbFgAlFsWXMULiB08 X-Received: by 2002:a05:600c:138d:b0:453:697:6f08 with SMTP id 5b1f17b1804b1-45565edcb1emr111754595e9.26.1752534569451; Mon, 14 Jul 2025 16:09:29 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEL3UFtkIylaf2lRGIEE6l+rDW7M3DPp6lvk8JK1y8Q452p96zU0MDz7RcsopuDTLFtp+6TdQ== X-Received: by 2002:a05:600c:138d:b0:453:697:6f08 with SMTP id 5b1f17b1804b1-45565edcb1emr111754355e9.26.1752534568911; Mon, 14 Jul 2025 16:09:28 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:27 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Jonathan Cameron , Igor Mammedov , Ani Sinha Subject: [PULL 74/97] hw/acpi/ged: Prepare the device to react to PCI hotplug events Message-ID: <03a83fb2d10a9e2a97d5a8e9a770552515706483.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535319532116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger QEMU will notify the OS about PCI hotplug/hotunplug events through GED interrupts. Let the GED device handle a new PCI hotplug event. On its occurrence it calls the \\_SB.PCI0.PCNT method with the BLCK mutex held. The GED device uses a dedicated MMIO region that will be mapped by the machine code. At this point the GED still does not support PCI device hotplug in its TYPE_HOTPLUG_HANDLER implementation. This will come in a subsequent patch. Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-29-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/acpi/generic_event_device.h | 14 ++++++++++- hw/acpi/generic_event_device.c | 35 ++++++++++++++++++++++++++ 2 files changed, 48 insertions(+), 1 deletion(-) diff --git a/include/hw/acpi/generic_event_device.h b/include/hw/acpi/gener= ic_event_device.h index f5ffa67a39..d56adaa626 100644 --- a/include/hw/acpi/generic_event_device.h +++ b/include/hw/acpi/generic_event_device.h @@ -69,7 +69,7 @@ #define ACPI_POWER_BUTTON_DEVICE "PWRB" =20 #define TYPE_ACPI_GED "acpi-ged" -OBJECT_DECLARE_SIMPLE_TYPE(AcpiGedState, ACPI_GED) +OBJECT_DECLARE_TYPE(AcpiGedState, AcpiGedClass, ACPI_GED) =20 #define ACPI_GED_EVT_SEL_OFFSET 0x0 #define ACPI_GED_EVT_SEL_LEN 0x4 @@ -102,6 +102,7 @@ OBJECT_DECLARE_SIMPLE_TYPE(AcpiGedState, ACPI_GED) #define ACPI_GED_PWR_DOWN_EVT 0x2 #define ACPI_GED_NVDIMM_HOTPLUG_EVT 0x4 #define ACPI_GED_CPU_HOTPLUG_EVT 0x8 +#define ACPI_GED_PCI_HOTPLUG_EVT 0x10 =20 typedef struct GEDState { MemoryRegion evt; @@ -109,6 +110,8 @@ typedef struct GEDState { uint32_t sel; } GEDState; =20 +#define ACPI_PCIHP_REGION_NAME "pcihp container" + struct AcpiGedState { SysBusDevice parent_obj; MemHotplugState memhp_state; @@ -116,12 +119,21 @@ struct AcpiGedState { CPUHotplugState cpuhp_state; MemoryRegion container_cpuhp; AcpiPciHpState pcihp_state; + MemoryRegion container_pcihp; GEDState ged_state; uint32_t ged_event_bitmap; qemu_irq irq; AcpiGhesState ghes_state; }; =20 +typedef struct AcpiGedClass { + /* */ + SysBusDeviceClass parent_class; + + /*< public >*/ + ResettablePhases parent_phases; +} AcpiGedClass; + void build_ged_aml(Aml *table, const char* name, HotplugHandler *hotplug_d= ev, uint32_t ged_irq, AmlRegionSpace rs, hwaddr ged_base); void acpi_dsdt_add_power_button(Aml *scope); diff --git a/hw/acpi/generic_event_device.c b/hw/acpi/generic_event_device.c index 92b931758f..7535d07737 100644 --- a/hw/acpi/generic_event_device.c +++ b/hw/acpi/generic_event_device.c @@ -12,6 +12,7 @@ #include "qemu/osdep.h" #include "qapi/error.h" #include "hw/acpi/acpi.h" +#include "hw/acpi/pcihp.h" #include "hw/acpi/generic_event_device.h" #include "hw/pci/pci.h" #include "hw/irq.h" @@ -28,6 +29,7 @@ static const uint32_t ged_supported_events[] =3D { ACPI_GED_PWR_DOWN_EVT, ACPI_GED_NVDIMM_HOTPLUG_EVT, ACPI_GED_CPU_HOTPLUG_EVT, + ACPI_GED_PCI_HOTPLUG_EVT, }; =20 /* @@ -123,6 +125,12 @@ void build_ged_aml(Aml *table, const char *name, Hotpl= ugHandler *hotplug_dev, aml_notify(aml_name("\\_SB.NVDR"), aml_int(0x80))); break; + case ACPI_GED_PCI_HOTPLUG_EVT: + aml_append(if_ctx, + aml_acquire(aml_name("\\_SB.PCI0.BLCK"), 0xFFFF= )); + aml_append(if_ctx, aml_call0("\\_SB.PCI0.PCNT")); + aml_append(if_ctx, aml_release(aml_name("\\_SB.PCI0.BLCK")= )); + break; default: /* * Please make sure all the events in ged_supported_events= [] @@ -316,6 +324,8 @@ static void acpi_ged_send_event(AcpiDeviceIf *adev, Acp= iEventStatusBits ev) sel =3D ACPI_GED_NVDIMM_HOTPLUG_EVT; } else if (ev & ACPI_CPU_HOTPLUG_STATUS) { sel =3D ACPI_GED_CPU_HOTPLUG_EVT; + } else if (ev & ACPI_PCI_HOTPLUG_STATUS) { + sel =3D ACPI_GED_PCI_HOTPLUG_EVT; } else { /* Unknown event. Return without generating interrupt. */ warn_report("GED: Unsupported event %d. No irq injected", ev); @@ -427,9 +437,13 @@ static void acpi_ged_realize(DeviceState *dev, Error *= *errp) { SysBusDevice *sbd =3D SYS_BUS_DEVICE(dev); AcpiGedState *s =3D ACPI_GED(dev); + AcpiPciHpState *pcihp_state =3D &s->pcihp_state; uint32_t ged_events; int i; =20 + if (pcihp_state->use_acpi_hotplug_bridge) { + s->ged_event_bitmap |=3D ACPI_GED_PCI_HOTPLUG_EVT; + } ged_events =3D ctpop32(s->ged_event_bitmap); =20 for (i =3D 0; i < ARRAY_SIZE(ged_supported_events) && ged_events; i++)= { @@ -449,6 +463,13 @@ static void acpi_ged_realize(DeviceState *dev, Error *= *errp) cpu_hotplug_hw_init(&s->container_cpuhp, OBJECT(dev), &s->cpuhp_state, 0); break; + case ACPI_GED_PCI_HOTPLUG_EVT: + memory_region_init(&s->container_pcihp, OBJECT(dev), + ACPI_PCIHP_REGION_NAME, ACPI_PCIHP_SIZE); + sysbus_init_mmio(sbd, &s->container_pcihp); + acpi_pcihp_init(OBJECT(s), &s->pcihp_state, + &s->container_pcihp, 0); + qbus_set_hotplug_handler(BUS(s->pcihp_state.root), OBJECT(dev)= ); } ged_events--; } @@ -490,11 +511,22 @@ static void acpi_ged_initfn(Object *obj) sysbus_init_mmio(sbd, &ged_st->regs); } =20 +static void ged_reset_hold(Object *obj, ResetType type) +{ + AcpiGedState *s =3D ACPI_GED(obj); + + if (s->pcihp_state.use_acpi_hotplug_bridge) { + acpi_pcihp_reset(&s->pcihp_state); + } +} + static void acpi_ged_class_init(ObjectClass *class, const void *data) { DeviceClass *dc =3D DEVICE_CLASS(class); HotplugHandlerClass *hc =3D HOTPLUG_HANDLER_CLASS(class); AcpiDeviceIfClass *adevc =3D ACPI_DEVICE_IF_CLASS(class); + ResettableClass *rc =3D RESETTABLE_CLASS(class); + AcpiGedClass *gedc =3D ACPI_GED_CLASS(class); =20 dc->desc =3D "ACPI Generic Event Device"; device_class_set_props(dc, acpi_ged_properties); @@ -505,6 +537,8 @@ static void acpi_ged_class_init(ObjectClass *class, con= st void *data) hc->plug =3D acpi_ged_device_plug_cb; hc->unplug_request =3D acpi_ged_unplug_request_cb; hc->unplug =3D acpi_ged_unplug_cb; + resettable_class_set_parent_phases(rc, NULL, ged_reset_hold, NULL, + &gedc->parent_phases); =20 adevc->ospm_status =3D acpi_ged_ospm_status; adevc->send_event =3D acpi_ged_send_event; @@ -516,6 +550,7 @@ static const TypeInfo acpi_ged_info =3D { .instance_size =3D sizeof(AcpiGedState), .instance_init =3D acpi_ged_initfn, .class_init =3D acpi_ged_class_init, + .class_size =3D sizeof(AcpiGedClass), .interfaces =3D (const InterfaceInfo[]) { { TYPE_HOTPLUG_HANDLER }, { TYPE_ACPI_DEVICE_IF }, --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535771; cv=none; d=zohomail.com; s=zohoarc; b=IJpeyY1tcK195e121s2YhX3bSYfR2rbhGJNoGulgnM9slK9j+mPQ8dm7krAlX23UJEoIf+vUxkz3o8RuWQHWI+2gJZnPz8TTH1jQM8O5eeHsuVwFp+/bLSo/LRI7WXGLGH0lArZhWjQgsTu/GkRuCnCBwUjc9tTmQGxaGZIRips= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535771; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=0rpEe4Ya0FUWqHztCZx1kne7sIio/ZH524H7ccN5+II=; b=U2nbV4UdL1Rps4zhj5DLTAsEj5DQSUmrBJspIh+pQaCdqE9V+tl2oGBEeiaKd7y/koCMecyRRAaOQp07bIEW/fJeUVO0W38rbosT60yT6tgMDc8uQy5gtTM/PwL3ICXCxbqRDQzDS/dNxgW9yIJ5+th2gu0NaaZZtLTmqAQytOU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175253577171828.630333354799745; Mon, 14 Jul 2025 16:29:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSLd-0008T0-I2; Mon, 14 Jul 2025 19:12:44 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIl-0004m8-KJ for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:46 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIh-0005ue-VS for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:38 -0400 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-232-F7YDCXgVNZWd_WHId9YkYg-1; Mon, 14 Jul 2025 19:09:34 -0400 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3a4f858bc5eso3632369f8f.0 for ; Mon, 14 Jul 2025 16:09:34 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e0d4b5sm13749186f8f.53.2025.07.14.16.09.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534575; 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: in-reply-to:in-reply-to:references:references; bh=0rpEe4Ya0FUWqHztCZx1kne7sIio/ZH524H7ccN5+II=; b=UPu61Nv5y49+SukWJTh0ZHFQBcyqYMPr+GgwDkN7acigMfsmS3HRgI1OOmrgkMry2eM8NY Kjvmi363DxwsnMuxdP+1/vrhMk3R7HKf85Jm25T5zq1N4cXQ3ysyfoCeqq6mX/CE5YPFTW 8FqBo8sFwexjX80T9WcuMiH0DuW6zts= X-MC-Unique: F7YDCXgVNZWd_WHId9YkYg-1 X-Mimecast-MFC-AGG-ID: F7YDCXgVNZWd_WHId9YkYg_1752534573 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534573; x=1753139373; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=0rpEe4Ya0FUWqHztCZx1kne7sIio/ZH524H7ccN5+II=; b=gCDCRlem21zy5fmDKYbKO5mpwMxQYgKr7m7HSWlBB+NstlOFDtjZugwVC036jx9jxV fSySUpmLCsMgJq2OpFIZ/Knk7gqVF3WfKGX5DO+NyFu81C108HQbsxo9fALQO62Pa34Q Ck3gtUE62MqXd9pHszIF4uQ3HWr95K3JF3xaydYg4qU53eW8JiAV0uIHp0cD1vNZrVWA Ge9++NPIKCAb4c2f7Vvb/lhlhE+xTkuAi4nsXAQsUSsUNSx/LzL02s7YoQJwQSreb8Pg SnbckLMzyNgu84ApQFgRlGfkAY+77RWDRVDCwvINVZi4PvnFEf6d/k4zj9DbDTVruQvQ 6CBA== X-Gm-Message-State: AOJu0YyqQhB9yDVdNiKPwFNTlyu3xY+t8pd4ciZ8sBGIJ8pD7VXLhbwj tr9MieD5SQRUBQ3VONbY6sGLhNGYefKsuU0o5IYjX6TDgr1kEzwgI9UBo953rgVHhVbPOdcMFGR 2ISgiq23EFeH02Ezuny6ByESwHpxreI+yxo/IxSzInvP0dRkzEN7auzSm0GEJqAV0VcrfWM0Z9e i0O6hhoU4zGo0uvoaMsWLwCWeF2Q8Ns/AoeA== X-Gm-Gg: ASbGncsoPCVMLofbHY7LDxASwwvFpqO1G+YM+9W4XbIINm92oYIr6ZNevPBFSuk1afa ELUcd3Xdrwa4PekbcJAYQVDFgDvvESwvqv9AzrdUYpY/wGd8e+UdXEqI49iAGc1CLtGViIApYY/ qE8iugN2/ZvwNhF1DJ/MsGMcbxDFt9tWoFPBhXoY0XHywdSO0TXAdZ8re2pHGqEzbHqc3dq8DSQ T8W4FRpSR4KaOkabU6Y2CE1o5Jc4eA0a0drh6S7tjptyHGjJF5d0OP8Tpr0gaccQIBO1em1ZS8f MAn67LyfV/Lk60OOHVjN121PmQyKm0GO X-Received: by 2002:a05:6000:4606:b0:3a4:f72a:b18a with SMTP id ffacd0b85a97d-3b5f2dd2b82mr11501203f8f.26.1752534572818; Mon, 14 Jul 2025 16:09:32 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGH7vlAm3oGq5yZ3p3JuGb4UNA/mb4v8bBju/0aLwHLYMFwrCvQzI8Gc6hwukw3Ib513pWX9w== X-Received: by 2002:a05:6000:4606:b0:3a4:f72a:b18a with SMTP id ffacd0b85a97d-3b5f2dd2b82mr11501180f8f.26.1752534572299; Mon, 14 Jul 2025 16:09:32 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:29 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Igor Mammedov , Jonathan Cameron , Prasad Pandit , Ani Sinha Subject: [PULL 75/97] hw/acpi/ged: Support migration of AcpiPciHpState Message-ID: <6778bd7c1cc29188497691cd3290c195a9ebea11.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535773859116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger Add a subsection to migrate the AcpiPciHpState state. Signed-off-by: Eric Auger Reviewed-by: Igor Mammedov Reviewed-by: Jonathan Cameron Reviewed-by: Prasad Pandit Message-Id: <20250714080639.2525563-30-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/acpi/generic_event_device.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/hw/acpi/generic_event_device.c b/hw/acpi/generic_event_device.c index 7535d07737..95682b79a2 100644 --- a/hw/acpi/generic_event_device.c +++ b/hw/acpi/generic_event_device.c @@ -417,6 +417,25 @@ static const VMStateDescription vmstate_ghes_state =3D= { } }; =20 +static bool pcihp_needed(void *opaque) +{ + AcpiGedState *s =3D opaque; + return s->pcihp_state.use_acpi_hotplug_bridge; +} + +static const VMStateDescription vmstate_pcihp_state =3D { + .name =3D "acpi-ged/pcihp", + .version_id =3D 1, + .minimum_version_id =3D 1, + .needed =3D pcihp_needed, + .fields =3D (const VMStateField[]) { + VMSTATE_PCI_HOTPLUG(pcihp_state, + AcpiGedState, + NULL, NULL), + VMSTATE_END_OF_LIST() + } +}; + static const VMStateDescription vmstate_acpi_ged =3D { .name =3D "acpi-ged", .version_id =3D 1, @@ -429,6 +448,7 @@ static const VMStateDescription vmstate_acpi_ged =3D { &vmstate_memhp_state, &vmstate_cpuhp_state, &vmstate_ghes_state, + &vmstate_pcihp_state, NULL } }; --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752534833; cv=none; d=zohomail.com; s=zohoarc; b=gG8OhhRSTdIQKoCOx6Rq7LQyZISJbvodyvRNAzDyQGQVKUfYg6RJMO29GNjf0wlgzeg0IvEXf1S6FXzL7Q94Dhk//DP1ZLIye57eqIck3HrpKQeMKHv6PeRT3zbd6+ne4e2tbBDEVCXBw20I/fuNbfGiLXpWfnbvnGjp+eOMiOM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752534833; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=7VVYFAZpDz35U6k3Zkt3LihPzSlnPDiy3RZ7fk4hpjY=; b=LRcGVmYEj5OeIkZTtyiUP59nqJZqwRObcLIp3FPSOSf+ze+av3cxmiBJBo4jScMlR0YjQwz/DabL2UFKGBZWVhpYpHAf4vnMPxtMnsEDFs4gmh4LzQt6qmhSj2poKxPX+B61Sy4FVpSUk4yKbRl/4MPKOFTWmqwMjYfVaBNIcNg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752534833850426.0256487052782; Mon, 14 Jul 2025 16:13:53 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSMJ-000223-KF; Mon, 14 Jul 2025 19:13:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIr-0004nL-9x for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:51 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIl-0005uw-Db for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:42 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-586-MdXefwbnM5WLgqV0WKweag-1; Mon, 14 Jul 2025 19:09:36 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-451d2037f1eso30883505e9.0 for ; Mon, 14 Jul 2025 16:09:36 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-454dd474a9csm144014855e9.16.2025.07.14.16.09.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534578; 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: in-reply-to:in-reply-to:references:references; bh=7VVYFAZpDz35U6k3Zkt3LihPzSlnPDiy3RZ7fk4hpjY=; b=OcRKHWbmHVTnh/pHMIRJtuGAd3iIrhhDGsZf0Qppe3hXrWGaC1jtlOnajgvG7UtN5wLCPr 8oGofGy3B0Jxt1JOatIWObT1iH0f7JnefhVtOop1NTG1lLQZSk97W4AtY2QzJPk5cyy5gN 8s3M0MYRHQcIQw8KZ2qb4wWdjSYe8Pg= X-MC-Unique: MdXefwbnM5WLgqV0WKweag-1 X-Mimecast-MFC-AGG-ID: MdXefwbnM5WLgqV0WKweag_1752534576 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534575; x=1753139375; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=7VVYFAZpDz35U6k3Zkt3LihPzSlnPDiy3RZ7fk4hpjY=; b=ad6TRbtuiM9bQJYRyPAJAe9DgvYUrJn/NJcdVUmNqF4izoNxQVoJR/xfZAqjBbS+Tr 481c05WfXNrYNxLqvpcCTeTOm+QYAqVPknYcLmM9Y8gSgfhplRikuE8FCWKZjLr732t6 IK/Ued7OeeY8c8b1i7W3TnmI5E3qDZPELf9V+O9OO/mw66nK0s3aXTTHZBullOmAJRCQ CBqDoPFNB5yFaRjubSzrXk/Yuv5ctMb+uMScrBztZSXg2S3F4KToLdCrsTtycAQohQkd 5RbmF6ht3QHKl3zVsGesGbyhB7g1kBW0nqw9h2ckjyDsL45tyAuZ96b2kUQoMOg3iyc6 1ouA== X-Gm-Message-State: AOJu0Yy+lxA97+elZvU535g7QxlAqOEkthRsOGYTk3a6QvdsA+4R8jwj nc2tvKiqOxxQOvabc4S/snEFSeVcicI65mL9hjInowtbNGRY0Pkamk28TyMgX/vcwBnJZpW35/i DvLvy3L/tLVFjhHRuf5ZdlHM/L8WmNIJ6Jx0aNkSieBOyD2iyeXCx6fjy+bb6wxYuBCoeJ/pgII PM4OAHF42fPVHIoMXQ72mMFKM0G14/pHMfNA== X-Gm-Gg: ASbGncurzwZRkxzhTmEfI78cox+SQsksfOs9ajxDBnyH/V1v2IbWPuoE/+FWwMg2G69 xgEVYXTnititro3j0N4AfFP6/3C/UeMELTT4UgywLxlsenMohI0TFTx/k0eB1Dr8YvzP8VzCIrw T3ES6UH8ibvSyIGSzZCGYqG47jsl0Zso0zYyNKd3NQ4gVRfzbc/BiXYdB7oF6vMAF8jnctkkzUJ oWdJB9yiTzg9gUJ4+LTp6A7yqcjpbVC/9cYZ1UnbhV6Ezm8GzjD2Q7LN+4s7YpAb+e22Vt/B8oS iyG3B/5qKiyQZXsJy7HQP4jYGfTYoLqi X-Received: by 2002:a05:600c:1c10:b0:456:1e5a:885e with SMTP id 5b1f17b1804b1-4561e5a8f83mr39095745e9.3.1752534575476; Mon, 14 Jul 2025 16:09:35 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGCaGuCUzpnOO1L1GfLPMZrDCnMsDId2hz+FtM4lmOzBw+ihjturbDq374aErhiXb5sRkon0A== X-Received: by 2002:a05:600c:1c10:b0:456:1e5a:885e with SMTP id 5b1f17b1804b1-4561e5a8f83mr39095525e9.3.1752534575014; Mon, 14 Jul 2025 16:09:35 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:32 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Jonathan Cameron , Igor Mammedov , Paolo Bonzini , Daniel =?utf-8?B?UC4gQmVycmFuZ8Op?= , Eduardo Habkost Subject: [PULL 76/97] hw/core/sysbus: Introduce sysbus_mmio_map_name() helper Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752534836728116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger Some sysbus devices have conditional mmio regions. This happens for instance with the hw/acpi/ged device. In that case it becomes difficult to predict which index a specific MMIO region corresponds to when one needs to mmio map the region. Introduce a new helper that takes the name of the region instead of its index. If the region is not found this returns -1. Otherwise it maps the corresponding index and returns this latter. Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-31-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/sysbus.h | 1 + hw/core/sysbus.c | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/include/hw/sysbus.h b/include/hw/sysbus.h index 7dc88aaa27..18fde8a7b4 100644 --- a/include/hw/sysbus.h +++ b/include/hw/sysbus.h @@ -82,6 +82,7 @@ void sysbus_connect_irq(SysBusDevice *dev, int n, qemu_ir= q irq); bool sysbus_is_irq_connected(SysBusDevice *dev, int n); qemu_irq sysbus_get_connected_irq(SysBusDevice *dev, int n); void sysbus_mmio_map(SysBusDevice *dev, int n, hwaddr addr); +int sysbus_mmio_map_name(SysBusDevice *dev, const char*name, hwaddr addr); void sysbus_mmio_map_overlap(SysBusDevice *dev, int n, hwaddr addr, int priority); =20 diff --git a/hw/core/sysbus.c b/hw/core/sysbus.c index e71367adfb..ec69e877a2 100644 --- a/hw/core/sysbus.c +++ b/hw/core/sysbus.c @@ -151,6 +151,17 @@ void sysbus_mmio_map(SysBusDevice *dev, int n, hwaddr = addr) sysbus_mmio_map_common(dev, n, addr, false, 0); } =20 +int sysbus_mmio_map_name(SysBusDevice *dev, const char *name, hwaddr addr) +{ + for (int i =3D 0; i < dev->num_mmio; i++) { + if (!strcmp(dev->mmio[i].memory->name, name)) { + sysbus_mmio_map(dev, i, addr); + return i; + } + } + return -1; +} + void sysbus_mmio_map_overlap(SysBusDevice *dev, int n, hwaddr addr, int priority) { --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535249; cv=none; d=zohomail.com; s=zohoarc; b=ejw8X/0Oi3OlGoS89FaPbJKGfAN+VmqLY6zfldpfJfIpGq0Nia3i2IglgKFpvHYofJC/yjA+CljSwIA9Gq0J1VqGEtw3aiV4JD2LtOMrCGtPu1zRegfJ1gtow/fFMXBz5ELB35jNqwuD8V7ug0FQTzB69YWsXH4tkDMMLHwo6EY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535249; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=7vjM29loqh3qj497TGPCCyUnVFVvjEr4KsZrS7AgqPw=; b=a/ozjP9tb6S0P3s24Wwh3bWT1nr02GLzJZsPwXWGnwPlPH1887hZ+0yquwIN8C+bmSuLBQp4ZXZzY00hs7cUlhcDlVguShygoKeYFFMGnoC4dly1QprM/uiadP8wC9ZeBEUgpSKi4AOnrZnbqCIe1unTW9MQDeOlFNw1js425QY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535249141330.3091825313311; Mon, 14 Jul 2025 16:20:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSKp-0008B4-Ks; Mon, 14 Jul 2025 19:11:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIt-0004nW-Am for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:51 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIq-0005vM-SA for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:46 -0400 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-414-_knP4bjBOGSEryKo52cTBw-1; Mon, 14 Jul 2025 19:09:40 -0400 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-451d3f03b74so27426135e9.3 for ; Mon, 14 Jul 2025 16:09:40 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45611a518c2sm63682025e9.31.2025.07.14.16.09.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534581; 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: in-reply-to:in-reply-to:references:references; bh=7vjM29loqh3qj497TGPCCyUnVFVvjEr4KsZrS7AgqPw=; b=DvK1+kd0dqguCVSC6CPWxezRLFBVp8ZhLcwPfpFdcwbypN6fy4uce2OqeoyC4y5JAy0OBF cse9qZ3dJUEz5Rm1Hx4uaUS+AMqwNwhtSzxLnhoEvyzvQ4psWel8h320IzB1btH+Ji3Y3P 3yF3jiMHYGJj1wgwNHyvOoXCwKaKGV8= X-MC-Unique: _knP4bjBOGSEryKo52cTBw-1 X-Mimecast-MFC-AGG-ID: _knP4bjBOGSEryKo52cTBw_1752534579 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534579; x=1753139379; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=7vjM29loqh3qj497TGPCCyUnVFVvjEr4KsZrS7AgqPw=; b=jJIEMGlNhXBMlgiChYhEOM1WpLve9qXI6rRh0vbizdMX6kLboF3dJaaGDG5ffORQ/O WCAlbQHKslu54nAEia6N734uUJ1s7/nJJyKrIq4gTB0XvRlkRv8pmX/j9jt1OJ9QJ+2D hVQjpv1t5pElGr4BEvhLBOv2vAzH/QvF7ljdYGiWF6ya//Kkje5nMyBvnleRLcwE9bH8 hUtQkdh5eJNmmBOnC/3Hf/g+fRpByB8r1M+aLkpXGhRCdZD8buKB+LER4frRHtA0O7KP +TJ9IG7q6OwUs3ZB3jBlnEDra1HZGlG18C/vWMZ87LsPZ4bL5aVqABd6fQWPpitLlVkc jdRA== X-Gm-Message-State: AOJu0YzRvzcTGzu0EsroxaZe7cbQ4c1m+3kooQzCnqoLq7ZhP/zBqtr+ RWaDRIcNu3AMXa/qWi+lb2vzUlMpGri42ZPZSBPVrEGr9wtACB59HAuM9z0FmFp4tKsOOa3OsNX kfje8ZWCJsTh4zoLhf74UIE96U5qOvA5j6CEsKf2145vImhhmdBFr3mPZ6foMoUqidK/XKRbyrK qYuJcw2zlJSazB/ctM0UaVBjdaazlbBQIISw== X-Gm-Gg: ASbGncs/1OQYR4XAnhlE1evQMiewiaiCrddAwUg3TavODV6WS7nBMJPB+Ndw968CPAB 8ZDz4quHwH1CfmtECrHtscZ+17uusfHIgJuaPTl9bd56i35Cof52OAx9hX/xCJiVjf3aYo8PPio csXfIST9uH60RUaHdD5VDQQUQiMhT7Kpn9X4BjcUZAlceXcGZGmCcxV4rnKZ6e8wzQSlV0xQuL7 5kXnBIH6USrWoOw+8ewt84p00W9fMVRNNx357rIXmhQO1kpSaLVLzIGm3I3zUvSVRE65HsATTaG s1Y0mtpe5kz00LC68OJxmgdnCx2ai33I X-Received: by 2002:a05:600c:4e12:b0:456:21d2:c6f7 with SMTP id 5b1f17b1804b1-45621d2ca13mr31083655e9.23.1752534578824; Mon, 14 Jul 2025 16:09:38 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHc6PyhwOgHRGXBSHK7aRyngXPVE3CMkGLbC8HVHMAt/Zojj/QvxJ3/qGbeeIPuTSdbA3/m2Q== X-Received: by 2002:a05:600c:4e12:b0:456:21d2:c6f7 with SMTP id 5b1f17b1804b1-45621d2ca13mr31083475e9.23.1752534578424; Mon, 14 Jul 2025 16:09:38 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:35 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Jonathan Cameron , Igor Mammedov , Ani Sinha , qemu-arm@nongnu.org Subject: [PULL 77/97] hw/arm/virt: Minor code reshuffling in create_acpi_ged Message-ID: <1fb3e6a87bb1ff9d6a637297e6106e86eff038c4.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535250774116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger Use a local SysBusDevice handle. Also use the newly introduced sysbus_mmio_map_name which brings better readability about the region being mapped. GED device has regions which exist depending on some external properties and it becomes difficult to guess the index of a region. Better refer to a region by its name. Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-32-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/acpi/generic_event_device.h | 1 + hw/arm/virt.c | 11 +++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/include/hw/acpi/generic_event_device.h b/include/hw/acpi/gener= ic_event_device.h index d56adaa626..2c5b055327 100644 --- a/include/hw/acpi/generic_event_device.h +++ b/include/hw/acpi/generic_event_device.h @@ -111,6 +111,7 @@ typedef struct GEDState { } GEDState; =20 #define ACPI_PCIHP_REGION_NAME "pcihp container" +#define ACPI_MEMHP_REGION_NAME "memhp container" =20 struct AcpiGedState { SysBusDevice parent_obj; diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 41b5086b55..f127a668ef 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -688,6 +688,7 @@ static inline DeviceState *create_acpi_ged(VirtMachineS= tate *vms) { DeviceState *dev; MachineState *ms =3D MACHINE(vms); + SysBusDevice *sbdev; int irq =3D vms->irqmap[VIRT_ACPI_GED]; uint32_t event =3D ACPI_GED_PWR_DOWN_EVT; =20 @@ -702,11 +703,13 @@ static inline DeviceState *create_acpi_ged(VirtMachin= eState *vms) dev =3D qdev_new(TYPE_ACPI_GED); qdev_prop_set_uint32(dev, "ged-event", event); object_property_set_link(OBJECT(dev), "bus", OBJECT(vms->bus), &error_= abort); - sysbus_realize_and_unref(SYS_BUS_DEVICE(dev), &error_fatal); + sbdev =3D SYS_BUS_DEVICE(dev); + sysbus_realize_and_unref(sbdev, &error_fatal); =20 - sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, vms->memmap[VIRT_ACPI_GED].bas= e); - sysbus_mmio_map(SYS_BUS_DEVICE(dev), 1, vms->memmap[VIRT_PCDIMM_ACPI].= base); - sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, qdev_get_gpio_in(vms->gic, = irq)); + sysbus_mmio_map_name(sbdev, TYPE_ACPI_GED, vms->memmap[VIRT_ACPI_GED].= base); + sysbus_mmio_map_name(sbdev, ACPI_MEMHP_REGION_NAME, + vms->memmap[VIRT_PCDIMM_ACPI].base); + sysbus_connect_irq(sbdev, 0, qdev_get_gpio_in(vms->gic, irq)); =20 return dev; } --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535529; cv=none; d=zohomail.com; s=zohoarc; b=UpJBQPtqTsKa4IS+5Vfsed8jeyFZFcs2JLtEN3zKu0/KH/RzNExwjHiL9Skksr3VYppYOJqyliddkWxbL9aTMy2ZghBqGNyJPqGT+pC5hLd42uPKrhkQy6uHlMfqXPTwDX34L7fAidazegMMiiZ1efIyZ1evWg2PrTHkaa69krw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535529; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Ch85qCxvAmCXoJ+NOOx+afwY7JfNKRiohRHU3Ox1I3g=; b=T0Nhnkz98BtirJ44vrO1SW9TI7WJp7+OyUJ29hjthlWtqs6p9dQB2ltYlncgZL+U5WNn/mwyG9NW3J9aDewEUWsjqOqiDcKk6VeRv145Wu0WStaMbKMaPSOBZetHG5VeJiaF6vlfA0E9+y1I+lbrX8gHqIbUd91v21HYmLYL/uo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535528880971.5864757059536; Mon, 14 Jul 2025 16:25:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSMO-0002WW-Vy; Mon, 14 Jul 2025 19:13:26 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIx-0004or-Mg for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:53 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIr-0005vk-3X for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:47 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-628-Y0vbr7XnPhiOsEu2EkcPcw-1; Mon, 14 Jul 2025 19:09:42 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-455ea9cb0beso26562025e9.0 for ; Mon, 14 Jul 2025 16:09:42 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8bd180fsm13369695f8f.2.2025.07.14.16.09.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534583; 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: in-reply-to:in-reply-to:references:references; bh=Ch85qCxvAmCXoJ+NOOx+afwY7JfNKRiohRHU3Ox1I3g=; b=N1nu3cCpl90dPHKE5TpGUvfj3PMt70JsyML4ozR9f3qGjEO27Tr89YH1sJJ2dm6mCFPVPs EGFczcbhdzdlxZNEbImtaMwy86vklj41pMo842L0o7xT4CWy9XBmSxA1l5pgjF+g7fU0di VVz9EXGnUO5xfTGUBcd4xhsMExxlnhk= X-MC-Unique: Y0vbr7XnPhiOsEu2EkcPcw-1 X-Mimecast-MFC-AGG-ID: Y0vbr7XnPhiOsEu2EkcPcw_1752534581 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534581; x=1753139381; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Ch85qCxvAmCXoJ+NOOx+afwY7JfNKRiohRHU3Ox1I3g=; b=wUWnbqLgU2o6AfGmm9H2thiYeJ/TTyXKP3M2aQ6iwPN9VbWnC8EBuW9sWTNsX6+xbt g8gkCPQBzavRQ0ZPl2ikPJQPk6AFuvavUXFXDzRGQTpUsteIkJX3C6MF31sFcyGsZca3 2huPtnCfzHwq+r2TPAdxuqXIkfTakvHckHAc9gg8hkeyZchrncxpfku13zdfsotC2KSF g9Ud0wJkhutgGMsx6OZXczQiQ4hXNQOQPreVUWPpU8/reZplTZ2xNLT6WzL4cDmo/fNx eEjyODWqJPR7Rt9v5fWEwaXpsJtktjTkycgFLtNeaDZYoyK1SbSwJsa5Ma9BSnmHJhc6 37pQ== X-Gm-Message-State: AOJu0Yxv9xxXTCKgqJpwe3Uq4hctx2S2WhT2xmH94Qrk4otkrQr1/bMv FyPlbLZBx5gGR7gXRyrsqzQrNR+ql9uLgs5dDLiixcTZ1n7RFzc7DGDUWKFStLMl9wnwny+0wth VGy1ZLXkuo3IUuepqCnwOnpcKXWmNjn2ZwOjBFPIQQqptDe6xAcBz2OiMFVOCD8SAmdAtPDY9s/ MyxdbRrgfpBRkBCKxrRCXt9lPaOLbczP87Zw== X-Gm-Gg: ASbGnctgS/QJ4ILINYcBuXBUXpTcawEh/d0sovnxBOTAUpwaDPoJFKQQf82EjG1Jb+8 JBBXN4JJc4gYE63IbbaTI8wPIMwu0mmyMKE8aU/RHVKcfj8CaJdu1+hepN0VJvI5kqnJL32WwM0 Z6Zu4FLeAe2DeVXYbe09up/6Xh5g3DqgcFpKxcrA412vhWI+KDUMPY/HswEL6lSwPCikMJRbYbM 6EFRmtd7BlkM4nROqXMtJwiT9ERwGalYx7Ft2Sajr8AadtdmFrPlY8CPvGkCgwjXgrBjdFGOeWS BMPs2ISrj9ZCsQB6IWl+dNHC+OFZgmYd X-Received: by 2002:a05:6000:2a8a:b0:3a3:71cb:f0bd with SMTP id ffacd0b85a97d-3b5f188e702mr9336549f8f.23.1752534580688; Mon, 14 Jul 2025 16:09:40 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFIoRwndar8o46lZkgjDi+/pA/NlseW3O9MbPUamqQ5li/NgikHoiq6lzt4urFfskPmtoG4bw== X-Received: by 2002:a05:6000:2a8a:b0:3a3:71cb:f0bd with SMTP id ffacd0b85a97d-3b5f188e702mr9336530f8f.23.1752534580294; Mon, 14 Jul 2025 16:09:40 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:38 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Jonathan Cameron , Igor Mammedov , qemu-arm@nongnu.org Subject: [PULL 78/97] hw/arm/virt: Let virt support pci hotplug/unplug GED event Message-ID: <28ac8a5662a55c40b377e9c94c2b49191db346c8.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=unavailable 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: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535531275116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger Set up the IO registers used to communicate between QEMU and ACPI. Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-33-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/arm/virt.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index f127a668ef..ef6be3660f 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -691,6 +691,7 @@ static inline DeviceState *create_acpi_ged(VirtMachineS= tate *vms) SysBusDevice *sbdev; int irq =3D vms->irqmap[VIRT_ACPI_GED]; uint32_t event =3D ACPI_GED_PWR_DOWN_EVT; + bool acpi_pcihp; =20 if (ms->ram_slots) { event |=3D ACPI_GED_MEM_HOTPLUG_EVT; @@ -709,6 +710,18 @@ static inline DeviceState *create_acpi_ged(VirtMachine= State *vms) sysbus_mmio_map_name(sbdev, TYPE_ACPI_GED, vms->memmap[VIRT_ACPI_GED].= base); sysbus_mmio_map_name(sbdev, ACPI_MEMHP_REGION_NAME, vms->memmap[VIRT_PCDIMM_ACPI].base); + + acpi_pcihp =3D object_property_get_bool(OBJECT(dev), + ACPI_PM_PROP_ACPI_PCIHP_BRIDGE, = NULL); + + if (acpi_pcihp) { + int pcihp_region_index; + + pcihp_region_index =3D sysbus_mmio_map_name(sbdev, ACPI_PCIHP_REGI= ON_NAME, + vms->memmap[VIRT_ACPI_PC= IHP].base); + assert(pcihp_region_index >=3D 0); + } + sysbus_connect_irq(sbdev, 0, qdev_get_gpio_in(vms->gic, irq)); =20 return dev; --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535300; cv=none; d=zohomail.com; s=zohoarc; b=IGB8gmIWONJtBAVenaHAY1KAgtdyUrFZujvpEsgqxpOyXyYJ8r1PECJfoHQUlPazeyu1glCU5TX+ABsjPWvn8HdrFHwxiUbA2HkgTEykZ/3gRcYI49S1m/Qvj4BA8wzIThypjD6zLlShIWxvc3I6GALyC0htLUofWkmkj1u432o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535300; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=M8rbTdW4vVYGZlsb7/OLzoGiSk0uauCtBaQnEm6Xd5k=; b=cKFBBZsFpxMDGWUOAylwWavkktdzQDPK/QIQYuoeYJuX8fER2xPRJ0ZV2cTSi8iW8rVvhjoCgIESccDU7uFLJHjgOvOM3iGJmvgb7kZLKQMAR1bMagZ55ikeKz9cYZ3kvIXbZgkoHy0yYkVhN5EWUUM4RpLBPdgq+Kzwnb+dRko= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175253530097250.70828413866718; Mon, 14 Jul 2025 16:21:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSMH-000227-GB; Mon, 14 Jul 2025 19:13:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIy-0004ow-D8 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:55 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIv-0005wm-0f for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:52 -0400 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-630-EfkY5_irPYazVrO36GFRsA-1; Mon, 14 Jul 2025 19:09:45 -0400 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3a4f858bc5eso3632449f8f.0 for ; Mon, 14 Jul 2025 16:09:45 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e14ce6sm13747213f8f.68.2025.07.14.16.09.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534587; 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: in-reply-to:in-reply-to:references:references; bh=M8rbTdW4vVYGZlsb7/OLzoGiSk0uauCtBaQnEm6Xd5k=; b=Rf5fddYBk5w4CCtKFoswAwEJNyToppcEVkRk0dKmW/rYoNs53FVU2qzxfELmTDlaF1qj7y 57AqlFxkpEMr7ope+xakBIw2uCurIQQDti8APCs4sJ9kkf2wt0Zj8XghUBIz4ZiDIDMm+/ nu3epWYGBwgy3DnZU04GcSJPN4UFHM8= X-MC-Unique: EfkY5_irPYazVrO36GFRsA-1 X-Mimecast-MFC-AGG-ID: EfkY5_irPYazVrO36GFRsA_1752534584 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534584; x=1753139384; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=M8rbTdW4vVYGZlsb7/OLzoGiSk0uauCtBaQnEm6Xd5k=; b=CzGCIiylQataetXGFX8RyYstQTw3EjJaKrVtvSyQkWylBHaKCCUsHRdsV8cBb841p5 NTM02eSUljdK/HywbCd6tmx/z8+VV++yQ2/W36D2P/pmTVph0MWyEry8uVxINxZX60nJ M6SuoHN7X+I6j1bSWlLnLgMe24w95Zy+AkaSOUn7t2XiKYCI8PukZRrsKg5ARw47cg7a mbFddxSbG8fY+CF4oUyqHeyB4w7npbJHk4W1AK2odN1SXvSyaw+UcJ/EeJtVlJTmClPi Hit57nGEac57mx1P2HIlaENa/fIY4HSkYnOJdpAf7HqWsK7wAquyM4ynEB3uMOMg2GSK P87g== X-Gm-Message-State: AOJu0YwudFEBRmzbsepIH1VC9Sz+rHQfYLgFEMeiokZrOILVHq7tMbl+ LTJZoT5P0CIHysbxrIxC/aJYagH7C/Vm5liEBa09gBqmQiOgELgb6oLmvgGZEidHAzeNhpy967W bIg7PopdkMNXKs2DdenT6TEfPUeJHh7/kX+Xy2viy+dPnYWBKoE7lgyIrDnBVjNsTEQGvc+81So DhZWdFHXygy3NFxI4vDR536ZvvMTo61dLqlg== X-Gm-Gg: ASbGncvlsREQKEP9wRQb4C+egf5fpnYy55BYVxWGlvzb/f/MAWo9E6dIQtLcKZeXbrB UmXe5ZQNvLkVSHMBojfPCGUBoRv6sZV8n3/vUq0y/H5yXjRbK1gHNB+jjt+mEvuSIAbB60aiOyb IuDjOyw6uZAWLpCw0nvBULL/mldeXL+qjzeSO9FJ1MwPb7APuMYuHhkskVS4rZwFOi7D56gYhkK Y0e6Dh8D8/VjfK0ZJKQ3u9YeEoLic5uzstAkDBZbA14xbyGW+IgdtkOnvxQcNXvEQT+nmgMQ+ao T+/b0JcmRm1OzBHV9U2CxxJdZa7I/Snc X-Received: by 2002:a05:6000:40ca:b0:3a4:f038:af76 with SMTP id ffacd0b85a97d-3b5f2e45b2emr11328389f8f.53.1752534584126; Mon, 14 Jul 2025 16:09:44 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFz5DS0AKNLyPF2+V76FGDsY21ZHRCkuivsc3TkfhJXNqmuLXmDPjCYKG5eCWh8vJ44hoxwSw== X-Received: by 2002:a05:6000:40ca:b0:3a4:f038:af76 with SMTP id ffacd0b85a97d-3b5f2e45b2emr11328371f8f.53.1752534583674; Mon, 14 Jul 2025 16:09:43 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:40 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Gustavo Romero , Eric Auger , Jonathan Cameron , Igor Mammedov , Ani Sinha Subject: [PULL 79/97] tests/qtest/bios-tables-test: Prepare for addition of acpi pci hp tests Message-ID: <4c73cbc859fe6db82be35fcc1480cbf5dc779dc2.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535303498116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Gustavo Romero Soon we will introduce new tests related to ACPI PCI hotplug and acpi-index that will use a new reference blob: tests/data/acpi/aarch64/virt/DSDT.acpipcihp tests/data/acpi/aarch64/virt/DSDT.hpoffacpiindex Signed-off-by: Gustavo Romero Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-34-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test-allowed-diff.h | 2 ++ tests/data/acpi/aarch64/virt/DSDT.acpipcihp | 0 tests/data/acpi/aarch64/virt/DSDT.hpoffacpiindex | 0 3 files changed, 2 insertions(+) create mode 100644 tests/data/acpi/aarch64/virt/DSDT.acpipcihp create mode 100644 tests/data/acpi/aarch64/virt/DSDT.hpoffacpiindex diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index dfb8523c8b..02f4f0b29f 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,3 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/aarch64/virt/DSDT.acpipcihp", +"tests/data/acpi/aarch64/virt/DSDT.hpoffacpiindex", diff --git a/tests/data/acpi/aarch64/virt/DSDT.acpipcihp b/tests/data/acpi/= aarch64/virt/DSDT.acpipcihp new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/data/acpi/aarch64/virt/DSDT.hpoffacpiindex b/tests/data/= acpi/aarch64/virt/DSDT.hpoffacpiindex new file mode 100644 index 0000000000..e69de29bb2 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535781; cv=none; d=zohomail.com; s=zohoarc; b=SEemtgIToP6j2iIxdO6qr6fxdDxLJul2pm2t2ULXazBw+KM781mEtlMnwWoCUtiKiuV9wMKT4kEaT0gPufPw9+5KGgphj3YxyIvFc+fohzqsbDS4euBVcIJRAZLpWDsiBj2YDY1AzeZfTFrIZXGjnCMwrBFVz6qwhpvysArDg0Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535781; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=QqTJ16m3W94kcOoIuD8eqXOCXfhNBwJpPqGbqHsBKLU=; b=llqK5xCBo70Sa7futbey62NEuOzHJEbM6P5m1KH8LFTsB2dnrTjUZfDheOS4ugt5ZyMdyb+yzAP5e2fGY0xtlypvyK23M7/mzEoBkxGCmfD1eXjCGr6kzcrtWoWYCfzWiiihFhIfcvj5Wl0tt9L+jp0/NatzDOAElBpnaWFxsqg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535781653841.4296407701776; Mon, 14 Jul 2025 16:29:41 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSMP-0002Xd-K7; Mon, 14 Jul 2025 19:13:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJ0-0004pX-5F for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:57 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSIx-0005x0-EK for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:53 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-569-fGaD2fZYM5au_GhMthOB3Q-1; Mon, 14 Jul 2025 19:09:49 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-451d2037f1eso30883875e9.0 for ; Mon, 14 Jul 2025 16:09:48 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4560394e061sm87585675e9.31.2025.07.14.16.09.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534590; 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: in-reply-to:in-reply-to:references:references; bh=QqTJ16m3W94kcOoIuD8eqXOCXfhNBwJpPqGbqHsBKLU=; b=fPlHT2haEIS6HpqcsLpjC68S3ZTBvfn+CRzYpdhqA1qIHI3KJLQn6g7U8CrwQXYrgP8sNr Wch2wQCeFSWVGcv/3FXzaTKH7YmO48YmKKs5kIUKzjNcqgxhzrpCzbERi5dvEXmxu8qik3 bX5/g3EeAperrEJhVCnuRljQel8jIZE= X-MC-Unique: fGaD2fZYM5au_GhMthOB3Q-1 X-Mimecast-MFC-AGG-ID: fGaD2fZYM5au_GhMthOB3Q_1752534588 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534587; x=1753139387; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=QqTJ16m3W94kcOoIuD8eqXOCXfhNBwJpPqGbqHsBKLU=; b=t/M9SRghVfJopPcdVhGUJAdr/o4LalCKFMDqC1GwdzzQhsItfVvobu5TqfCffVUtmw hONGXca3rwr9e+KVCqYApG3V0FGSeYZcWEnUizNmoBvJhcoq5BS0PEAjCORL8E7ovl9F hcAEpTjEP+5krVLPmqmP98HbZHixj7/qmHUnAv1LW7t6suymSx8xjplQGYMX9xaTXUw6 OZ2oEpN+eNuGVLiaGezrlzpLjLEgIW5T+rxjflDs/VzmbpkgcbzaoHH/gWZeXhdOVIB4 qRqoC8H/rLEQOMFbmvevsE9zOQ1LC4BtoYdvm3zfIcwAfGlhN3o6vH8TUbJNtDv3TegX nYWg== X-Gm-Message-State: AOJu0Yw0wBOZ/ISJD9J6z0YfJyo1Oa8VruOUgVqPU20u4G3JM0hQKCvm mmmrxvhh4Y7oFvVmAcvyNJT3o9YAyEV2q8ZQ9I+cGZ8zskL5dPtaL4UHqgp3GRKv9mMJH+8w/dS PDfKr7WhSCh4woDrOtK5Vd9y0Op6PMfJy4HjLcVUj4oGvfNuq6kZyMO1KGEr0ACVKg6NbBh09hN T0noqkvfwtezT1S/wJ3Ayj6sT0JwBGP00CgA== X-Gm-Gg: ASbGncuCCQ11q/YHz8W9EZR6UMQyciV2zUnYJW/svs345GDCoCQD/zDhyVxiiii2Ik9 O4v6RhBwvke2ys2h6MG2h/EJLBlFMxgYeEpnegPe050k/id1vM6lXb3lnQyvZ/TQe7MqZZEXpD5 oNI+tqsZLBQ/hhqOf54roPfySYhiBcdJUBF6aOpGLCJ2fiiZPGTZmJey/VLzqLGgw5M3S52UeC/ kJ/w/IVqCe50ysCvRn8OWnK49l6+Yrv88bpFOlK88Z2AyeC6T99bMFxVJM72VzZvxoBF+p3tzFc WJ/x5An3vSUgjYEatPpIkf/mB4Gdn9JT X-Received: by 2002:a05:600c:1e04:b0:456:c48:491f with SMTP id 5b1f17b1804b1-4560c484fbbmr105519465e9.10.1752534587555; Mon, 14 Jul 2025 16:09:47 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFsoPaJGvE6lvlB6QXLaHNsv2urzMPx770IGVf42omrNkzGIp9onEx5jfb7qH2r2ms9kZSlgw== X-Received: by 2002:a05:600c:1e04:b0:456:c48:491f with SMTP id 5b1f17b1804b1-4560c484fbbmr105519235e9.10.1752534587046; Mon, 14 Jul 2025 16:09:47 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:43 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Gustavo Romero , Eric Auger , Jonathan Cameron , Igor Mammedov , Ani Sinha Subject: [PULL 80/97] tests/qtest/bios-tables-test: Add aarch64 ACPI PCI hotplug test Message-ID: <9b25d58455d7a78c4e58ce1401c9ee7f84c0e51b.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535783974116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Gustavo Romero Add 2 new tests: - test_acpi_aarch64_virt_acpi_pci_hotplug tests the acpi pci hotplug using -global acpi-ged.acpi-pci-hotplug-with-bridge-support=3Don - test_acpi_aarch64_virt_pcie_root_port_hpoff tests static-acpi index on a root port with disabled hotplug Signed-off-by: Gustavo Romero Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-35-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test.c | 52 ++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/tests/qtest/bios-tables-test.c b/tests/qtest/bios-tables-test.c index 4701975c05..6aec68decc 100644 --- a/tests/qtest/bios-tables-test.c +++ b/tests/qtest/bios-tables-test.c @@ -1643,6 +1643,54 @@ static void test_acpi_aarch64_virt_tcg_memhp(void) =20 } =20 +static void test_acpi_aarch64_virt_acpi_pci_hotplug(void) +{ + test_data data =3D { + .machine =3D "virt", + .arch =3D "aarch64", + .tcg_only =3D true, + .uefi_fl1 =3D "pc-bios/edk2-aarch64-code.fd", + .uefi_fl2 =3D "pc-bios/edk2-arm-vars.fd", + .cd =3D "tests/data/uefi-boot-images/bios-tables-test.aarch64.iso.= qcow2", + .ram_start =3D 0x40000000ULL, + .scan_len =3D 256ULL * MiB, + .variant =3D ".acpipcihp", + }; + + /* Use ACPI PCI Hotplug */ + test_acpi_one(" -global acpi-ged.acpi-pci-hotplug-with-bridge-support= =3Don" + " -cpu cortex-a57" + " -device pcie-root-port,id=3Dpcie.1,bus=3Dpcie.0,chassis= =3D0,slot=3D1,addr=3D7.0" + " -device pci-testdev,bus=3Dpcie.1", + &data); + + free_test_data(&data); +} + +static void test_acpi_aarch64_virt_pcie_root_port_hpoff(void) +{ + test_data data =3D { + .machine =3D "virt", + .arch =3D "aarch64", + .tcg_only =3D true, + .uefi_fl1 =3D "pc-bios/edk2-aarch64-code.fd", + .uefi_fl2 =3D "pc-bios/edk2-arm-vars.fd", + .cd =3D "tests/data/uefi-boot-images/bios-tables-test.aarch64.iso.= qcow2", + .ram_start =3D 0x40000000ULL, + .scan_len =3D 256ULL * MiB, + .variant =3D ".hpoffacpiindex", + }; + + /* turn hotplug off on the pcie-root-port and use static acpi-index*/ + test_acpi_one(" -device pcie-root-port,id=3Dpcie.1,chassis=3D0," + "slot=3D1,hotplug=3Doff,addr=3D7= .0" + " -device pci-testdev,bus=3Dpcie.1,acpi-index=3D12" + " -cpu cortex-a57", + &data); + + free_test_data(&data); +} + static void test_acpi_microvm_prepare(test_data *data) { data->machine =3D "microvm"; @@ -2708,6 +2756,10 @@ int main(int argc, char *argv[]) qtest_add_func("acpi/virt/numamem", test_acpi_aarch64_virt_tcg_numamem); qtest_add_func("acpi/virt/memhp", test_acpi_aarch64_virt_tcg_m= emhp); + qtest_add_func("acpi/virt/acpipcihp", + test_acpi_aarch64_virt_acpi_pci_hotplug); + qtest_add_func("acpi/virt/hpoffacpiindex", + test_acpi_aarch64_virt_pcie_root_port_hpoff); qtest_add_func("acpi/virt/pxb", test_acpi_aarch64_virt_tcg_pxb= ); qtest_add_func("acpi/virt/oem-fields", test_acpi_aarch64_virt_oem_fields); --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535644; cv=none; d=zohomail.com; s=zohoarc; b=dopXJRAibC9weShpSOkHN+sXjIJLyYY02D1Yweyqse5CRsj1oPmSfv+RoD8omoobu59ApF6VuU2/eHyOObT7ahiRgUhKMkzu7QNxdkoaftFvju1R9/yTK4eosI9Nk00PKLLfvQ3psYJpHjqQcZ1EJK58teXLY7p0lGyQ/Bo6d1A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535644; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=RzQPJO3Gv8GhZxILk7jR74xx7cfLj6pB+oPn/uD9tEQ=; b=I0O9htBZvlupFk3KFYSM20diztEBov5uEVZs3cB0O8y5RcCkVTdCOg3bR6e9Irx/bNCXtyITh3wE8hJ++LRTnQ1cuFI33g6Zlj/TmTeXPknC/BgJoahG4pjVS8FV7fTX6IouYjxesOpxjyoVrwnR4FFSNvzI4P4/KApnIi2fZwE= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535644206963.5697099008737; Mon, 14 Jul 2025 16:27:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSMU-0003BW-Pz; Mon, 14 Jul 2025 19:13:30 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJ2-0004r0-BU for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:01 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJ0-0005xe-5p for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:56 -0400 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-184-q5s-7cyXMc2BqUlDW0YAfw-1; Mon, 14 Jul 2025 19:09:52 -0400 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3a6d90929d6so2161277f8f.2 for ; Mon, 14 Jul 2025 16:09:51 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45626c8e104sm3163705e9.0.2025.07.14.16.09.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534593; 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: in-reply-to:in-reply-to:references:references; bh=RzQPJO3Gv8GhZxILk7jR74xx7cfLj6pB+oPn/uD9tEQ=; b=KFGDxu3S5YCHKa7Jn9jwCk4SiGCEsXqPGWN45TOFPNBSV9/NLVznptvgceMIC5xi34cgJ/ 8g0KxRY+vKnPR0aJJN8nRtHONp1w6R1MZi3qvlZlgt+M+f1mWQlL/+2h3DFWkUDakbJ/2d XffAQwOxlnw7TYEFs1V8LZKGsajYbUs= X-MC-Unique: q5s-7cyXMc2BqUlDW0YAfw-1 X-Mimecast-MFC-AGG-ID: q5s-7cyXMc2BqUlDW0YAfw_1752534591 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534590; x=1753139390; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=RzQPJO3Gv8GhZxILk7jR74xx7cfLj6pB+oPn/uD9tEQ=; b=OnLgNn8r0G3m9Tbdti3a/rPtLKkxS8FAdFtDM8RsmzwI0rphvHHvtf+M/4Hd6Y0Tbf wDTyLX63m6XR06OIx4tPKXWD3mM0pMNaDP0zY+xOAjHwLtdm67H4YMP10nKWotJQAyK0 2hXzOsW8w87dAcziW4CU620GeRAHV4bZmUOS6ug8QF1W4pkNQl6rrwhGxZtnLEW/sX+R SkhmoJwhW+BmN/N+0hUnzEScIvvkedHJwkeFMAuZUXrkgrawfI+ABlWmh/DzmvsIx0mn HkR3WGhv3YZzS3riIRWb+WIs4KDauLwnp/6rI++kCtGVawycBCiL68497MFaj74tAhxn QOCg== X-Gm-Message-State: AOJu0YyXz+eeqbB9WY2M6BlAX6O9YAspPzNef2hXs368kS0Ob0d+c7hS JSJ5JkrYQCKJQy7J0dDGMbYxx2D+i0gs577BzhCFzRTgOSpXY9NCAMB/qy89E7ON7Gmjy96TmOj TZ/dCz6GcLrXP9eGQDWEIBMj9N/nl4wtr2U81eULMTAINzLRq5a1rSQfY5Xf/k3nEBciGZAzIEz lrmQ2o9ge2Sy+toadtzT1475lAquDCgAtahg== X-Gm-Gg: ASbGncvFKHryFHrJ2+DQjuCoOrriaFWJhxE8b6k1wo6cN/0moD3jQHegbYV1FC7Z60Y gjAR4shx++FPRFvRbSm9HYEkK9kFYZXW1fIS82kbd1oCiqJYdxqhvsqAQ3qszoBUNS4nsZ42dYJ qZHut2Ay/jrcvR0q+d/QCIOZibYY7BU29KERJkiXkj5m7BLWCs29KwUVkSsCtbdIXh++RZHN9JI 7SSvLYbeUWUX7q+GSwsPUkFiaR71CqAO4nOdG6GT8mJCr9LPk3q8fBsthKv2hUS1qEuHoTr0SeU wAzH/y/cqYcKXqLK10lghD1O4tqF/6Ke X-Received: by 2002:a05:6000:1882:b0:3a3:7387:3078 with SMTP id ffacd0b85a97d-3b5f2db1241mr11339172f8f.4.1752534590314; Mon, 14 Jul 2025 16:09:50 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHryh6vYVEuhoGsJVRI9pFkLafBjBaYTBYDBEFMu2MLTplfd3B2Z4UIfaA+sqcHVZZELYHs9w== X-Received: by 2002:a05:6000:1882:b0:3a3:7387:3078 with SMTP id ffacd0b85a97d-3b5f2db1241mr11339158f8f.4.1752534589782; Mon, 14 Jul 2025 16:09:49 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:47 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Jonathan Cameron , Igor Mammedov , Ani Sinha Subject: [PULL 81/97] qtest/bios-tables-test: Generate reference blob for DSDT.hpoffacpiindex Message-ID: <48d63a8ce867bad6409090ba0cee48ed2242288a.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535646894116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger The disassembled DSDT table is given below * Original Table Header: * Signature "DSDT" * Length 0x000014E3 (5347) * Revision 0x02 * Checksum 0x92 * OEM ID "BOCHS " * OEM Table ID "BXPC " * OEM Revision 0x00000001 (1) * Compiler ID "BXPC" * Compiler Version 0x00000001 (1) */ DefinitionBlock ("", "DSDT", 2, "BOCHS ", "BXPC ", 0x00000001) { Scope (\_SB) { Device (C000) { Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardwa= re ID Name (_UID, Zero) // _UID: Unique ID } Device (COM0) { Name (_HID, "ARMH0011") // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Sett= ings { Memory32Fixed (ReadWrite, 0x09000000, // Address Base 0x00001000, // Address Length ) Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, = ,, ) { 0x00000021, } }) } Device (FWCF) { Name (_HID, "QEMU0002") // _HID: Hardware ID Name (_STA, 0x0B) // _STA: Status Name (_CCA, One) // _CCA: Cache Coherency Attribute Name (_CRS, ResourceTemplate () // _CRS: Current Resource Sett= ings { Memory32Fixed (ReadWrite, 0x09020000, // Address Base 0x00000018, // Address Length ) }) } Device (VR00) { Name (_HID, "LNRO0005") // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Name (_CCA, One) // _CCA: Cache Coherency Attribute Name (_CRS, ResourceTemplate () // _CRS: Current Resource Sett= ings { Memory32Fixed (ReadWrite, 0x0A000000, // Address Base 0x00000200, // Address Length ) Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, = ,, ) { 0x00000030, } }) } ../.. Device (L000) { Name (_HID, "PNP0C0F" /* PCI Interrupt Link Device */) // _HID= : Hardware ID Name (_UID, Zero) // _UID: Unique ID Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Set= tings { Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, = ,, ) { 0x00000023, } }) Name (_CRS, ResourceTemplate () // _CRS: Current Resource Sett= ings { Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, = ,, ) { 0x00000023, } }) Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { } } ../.. Device (PCI0) { Name (_HID, "PNP0A08" /* PCI Express Bus */) // _HID: Hardware= ID Name (_CID, "PNP0A03" /* PCI Bus */) // _CID: Compatible ID Name (_SEG, Zero) // _SEG: PCI Segment Name (_BBN, Zero) // _BBN: BIOS Bus Number Name (_UID, Zero) // _UID: Unique ID Name (_STR, Unicode ("PCIe 0 Device")) // _STR: Description St= ring Name (_CCA, One) // _CCA: Cache Coherency Attribute Name (_PRT, Package (0x80) // _PRT: PCI Routing Table { Package (0x04) { 0xFFFF, Zero, L000, Zero }, ../.. }) Method (_CBA, 0, NotSerialized) // _CBA: Configuration Base Ad= dress { Return (0x0000004010000000) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Sett= ings { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDec= ode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, ) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixe= d, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x10000000, // Range Minimum 0x3EFEFFFF, // Range Maximum 0x00000000, // Translation Offset 0x2EFF0000, // Length ,, , AddressRangeMemory, TypeStatic) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, E= ntireRange, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x0000FFFF, // Range Maximum 0x3EFF0000, // Translation Offset 0x00010000, // Length ,, , TypeStatic, DenseTranslation) QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixe= d, NonCacheable, ReadWrite, 0x0000000000000000, // Granularity 0x0000008000000000, // Range Minimum 0x000000FFFFFFFFFF, // Range Maximum 0x0000000000000000, // Translation Offset 0x0000008000000000, // Length ,, , AddressRangeMemory, TypeStatic) }) Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capa= bilities { CreateDWordField (Arg3, Zero, CDW1) If ((Arg0 =3D=3D ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd= 766") /* PCI Host Bridge Device */)) { CreateDWordField (Arg3, 0x04, CDW2) CreateDWordField (Arg3, 0x08, CDW3) Local0 =3D CDW3 /* \_SB_.PCI0._OSC.CDW3 */ Local0 &=3D 0x1F If ((Arg1 !=3D One)) { CDW1 |=3D 0x08 } If ((CDW3 !=3D Local0)) { CDW1 |=3D 0x10 } CDW3 =3D Local0 } Else { CDW1 |=3D 0x04 } Return (Arg3) } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 =3D=3D ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c34= 34d") /* Device Labeling Interface */)) { If ((Arg2 =3D=3D Zero)) { Return (Buffer (One) { 0x01 = // . }) } } Return (Buffer (One) { 0x00 // . }) } Device (RES0) { Name (_HID, "PNP0C02" /* PNP Motherboard Resources */) // = _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource = Settings { QWordMemory (ResourceProducer, PosDecode, MinFixed, Max= Fixed, NonCacheable, ReadWrite, 0x0000000000000000, // Granularity 0x0000004010000000, // Range Minimum 0x000000401FFFFFFF, // Range Maximum 0x0000000000000000, // Translation Offset 0x0000000010000000, // Length ,, , AddressRangeMemory, TypeStatic) }) } } Device (\_SB.GED) { Name (_HID, "ACPI0013" /* Generic Event Device */) // _HID: Ha= rdware ID Name (_UID, "GED") // _UID: Unique ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Sett= ings { Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,= , ) { 0x00000029, } }) OperationRegion (EREG, SystemMemory, 0x09080000, 0x04) Field (EREG, DWordAcc, NoLock, WriteAsZeros) { ESEL, 32 } Method (_EVT, 1, Serialized) // _EVT: Event { Local0 =3D ESEL /* \_SB_.GED_.ESEL */ If (((Local0 & 0x02) =3D=3D 0x02)) { Notify (PWRB, 0x80) // Status Change } } } Device (PWRB) { Name (_HID, "PNP0C0C" /* Power Button Device */) // _HID: Hard= ware ID Name (_UID, Zero) // _UID: Unique ID } } Scope (\_SB.PCI0) { Method (EDSM, 5, Serialized) { If ((Arg2 =3D=3D Zero)) { Local0 =3D Buffer (One) { 0x00 /= / . } If ((Arg0 !=3D ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434= d") /* Device Labeling Interface */)) { Return (Local0) } If ((Arg1 < 0x02)) { Return (Local0) } Local0 [Zero] =3D 0x81 Return (Local0) } If ((Arg2 =3D=3D 0x07)) { Local0 =3D Package (0x02) { Zero, "" } Local1 =3D DerefOf (Arg4 [Zero]) Local0 [Zero] =3D Local1 Return (Local0) } } Device (S00) { Name (_ADR, Zero) // _ADR: Address } Device (S08) { Name (_ADR, 0x00010000) // _ADR: Address } Device (S38) { Name (_ADR, 0x00070000) // _ADR: Address Device (S00) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, Serialized) // _DSM: Device-Specific Meth= od { Local0 =3D Package (0x01) { 0x0C } Return (EDSM (Arg0, Arg1, Arg2, Arg3, Local0)) } } } } } Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-36-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test-allowed-diff.h | 1 - tests/data/acpi/aarch64/virt/DSDT.hpoffacpiindex | Bin 0 -> 5347 bytes 2 files changed, 1 deletion(-) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index 02f4f0b29f..dc3ab24d05 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,3 +1,2 @@ /* List of comma-separated changed AML files to ignore */ "tests/data/acpi/aarch64/virt/DSDT.acpipcihp", -"tests/data/acpi/aarch64/virt/DSDT.hpoffacpiindex", diff --git a/tests/data/acpi/aarch64/virt/DSDT.hpoffacpiindex b/tests/data/= acpi/aarch64/virt/DSDT.hpoffacpiindex index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..970d43f68bca060361105f70dbb= 00b3a25646db4 100644 GIT binary patch literal 5347 zcmZvgOK%!i6oAjb0K+ig;bCKAY)F$veMSTLl{8HQGuS2pn=3D(#ZiAY0KrHbt?kQ!A=3D zqe>2yk~F*8YS&cq52@5ucinZ-Wz|jpKzF6Oa|inz<;()+KF)XVH=3DL0U*KwV_zj6Sf zlg6&S?Uoy#b?tJwTvh-;+>3AX`EBKa=3DQh0ls9;-`rFq*eCt0_RG&kPk1&JJQ-j;bJYw9$3_eej9HW33A7cierzwt6M2uUQ!RP4=3D$5=3D*;PcVbe zQh|$0dK2Nh8<0@j(Z&ouPnS5x4aDdmMvc$YWsY$ZF?KM6&(jjexP=3D(I z0i&h1&kLgNPS>)n&GX`;+jG+?J>l0mm;L#&h@pMCsOR=3Dvr7uyzb_hz*2 zJ7QPC+e1*I7{S|mn_pOR#4~9*L8~TezUCHa zUZb&d{v6%CUb>_gyI?~L9zhu_D1!r!;A=3DR5&*2e(fcRxvx3`yVf2AL15^7>H0rA^_ zyjR+mRe_8l`t^`_Jkv(FZCN$QBvoTFQ9#60&RZg?3YnA~^W$n4O%Z7Yb3=3DY)^}Hn_ zr&B{R(h4F&;73kZ3Hy=3DL9fbYJ>C~`{tOSu^897}=3D^&_V{Q2og1R8>Y!H?PXb=3D_(Q8 z86ln#>KT!d(^aCxGfF(8)H6ywW5hE?JY&=3D|Mm;s+sS!_&dTP`&PCVnpGfq9@)Ke#( zI`P!0r%pW+#4|xW6Vx+7Jq_Y%5Kn`88q_mMJd?yTNj;O)Geta8#4|-bQ`B>Yc+L>d z8R|JhJx$_i5>JzQn$$B*Jk!K8O+C}pGebNx#4|%ZGt@InJhQ|zOFgsHGeN!t67l`Kq@m!#u z3)HhfJPX9LKs^i8bCGy163<2Ixkx>W#Ir~|i`277J(q~*67gK3o=3DenonRqS}&t>Yl zOg&4)vqU^g)U!18%$c6usKZ%Gocf6WH?m^cj_FTcB_U*hxF+I5d6@?=3D#9@xO%*o_G z@wZHjUVE7b#R$t5z{H-SNNe;xZXCUO$GME_IBwPW6{Ypbu1z;^a4FWBW%~;^3>MTW^^APj@nzl*Cg;mnrVWiC81{;F>sd+iE(V zJbRD_ZWU1^-D^3?t)@c?%CPdT3_Wi4npeb&8s^-=3D#OSx qYeO~+kw5*>id(zrh(UjJ`C@u5FMcp%m{Aqo7@UbcK0Y`+8vG9j4In)L literal 0 HcmV?d00001 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535633; cv=none; d=zohomail.com; s=zohoarc; b=lZd2EVMiJaX1xK0Hy12hutMmvh8bakR97IATMQFVjxs7jVFh1q5dE2PwriwhH3WyOfPeXYGVpPdMUIspdvBYc4LeZIdT1S2TIamwyrHiIu98Kxtv2ogN8cbNcAdCTMhWWBEQg1Zb8Tvd50b4p/QtT0b+ZSk3criM3IuNdiKFsEE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535633; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=zSklgvGW22s4WGs6rcYFJ26y1nMVRaljtRqxxZXjRjc=; b=k72Lp7wM/1dbnhC1/s3awbrTHprFrRG1rKNB70HDAXwMeitIp9OEQdcspZ6t44Rt7W3BjwPVQrtG3iMiiKBJHfIjPFruNhfnd9+gIWD1eb3FEatA5SOA1zGLFNfSJf4vCh9anREzx02cjtFUYB9+4Fz5X0Ip7UsKTGUxId1PTgU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535633611522.0212910879578; Mon, 14 Jul 2025 16:27:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSN8-0005Rh-8u; Mon, 14 Jul 2025 19:14:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJ4-0004re-Mj for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:01 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJ1-0005xn-VB for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:58 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-641-KpGyC5CoPgqGgls1dqyUyA-1; Mon, 14 Jul 2025 19:09:54 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-4560a30a793so10162725e9.3 for ; Mon, 14 Jul 2025 16:09:53 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-45617f18d99sm52581595e9.8.2025.07.14.16.09.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534595; 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: in-reply-to:in-reply-to:references:references; bh=zSklgvGW22s4WGs6rcYFJ26y1nMVRaljtRqxxZXjRjc=; b=PZLl5xWe/WDP5GfTVPD3Gj/lIMOZ/hnHWGlSl2eKZY2gYcpQhfEBRoWmNQmLA1u3Yfv5hc 6Wul6de9xkm3GZI3/UNEwcbYOjnbMG8PaKMPXTSy4fmPjwlCG9GNxGgi3ybJhAsp2gFpYy 2aL7k/dq9GdHbBmO+3vQ9KhzYuf18jQ= X-MC-Unique: KpGyC5CoPgqGgls1dqyUyA-1 X-Mimecast-MFC-AGG-ID: KpGyC5CoPgqGgls1dqyUyA_1752534593 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534592; x=1753139392; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=zSklgvGW22s4WGs6rcYFJ26y1nMVRaljtRqxxZXjRjc=; b=k6Ixage00N9KpKFVlnjFdrneXexOuA/UGvyHt2t6bXTfJg5g53E28FTc8s4N0PaixQ V9bheXbzCv01qP3pPJ2bnqrsYTAAoAP+1ZgFqoBa7Aus61KznghTHwKMbMMcSD7Fh27y sXTO67MMt8v3reNZJP7d2kPflc/2GMxDQzp2CP2S2Jbs8XkdXjHpmXp3oHjYjxsdxZiq 1TJIVC4TsQrxzI2/3FJrplMT76bsOIIXKSQaJcpFSLlOdbFM+w0MYX6y8g7BrgaXLDp/ Bw5z0XcgZYVcO3PYaPaJbJWc8It22jn2af8EMGBa29o2RBsPr2qtRD9eDpuC4n90Qiuz Iq+Q== X-Gm-Message-State: AOJu0YwRFJd0vlJyztkMiUbStQicuY7ZAUjbXRnGeb7ag24k9DHbN7Is GNQ/fXTf6mu4ZLfCQ8mY0geUIRC9ylMSjVl2SzM5amJh3qDNVmaT+IBQov3q7uvGljejPcuNpZT ZWGnb4Wn4tWeEXw3iOPoqmnc5HTpypvwUY63AmtHavRhyFr6F8s8H8ylabhIvTz+Zqt8do2g7IV 1zYroF06dAxN6qVPU30YktO1/AB6Q9hVGNiw== X-Gm-Gg: ASbGncv5jKvG1qW0ZUGBbRyB/BCDXu8AQ5G1bWfocW544NZ2NS+ycP2yYpycAf2Y/iB EQ7xzzIlhduDXnIpXlISomsq9iFR4bP78PwST55pAg5ujD5rBZd6DcwE9SwvVQ4uLWxlW0AgyaJ JcA1erEn0VttrSQ4uWjpBQjo3IOKJOuuQkzG6hl9UJWEnJQyBeLB2NEwMAfVYzkRXo80JZgXbI3 Jdf6XM5ZQfOrGeNHAKWT8Tjh49F9FOC7FmbzEWtA7Py8ejkQCEyIvWaTyjGauQk9+o8/SLyI5xI DuLfaguZ+oBNG1xkX8w7/oiGK7l7JbJa X-Received: by 2002:a05:600c:1d08:b0:456:1a69:9502 with SMTP id 5b1f17b1804b1-4561a6997b0mr47566615e9.21.1752534592304; Mon, 14 Jul 2025 16:09:52 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHxjSDRLI9j8ranyki1OH3QBYAFFmUKMvv2GRWgT6s7mrDM/DLaScZv173Wq6Z4GnJlLcqaqw== X-Received: by 2002:a05:600c:1d08:b0:456:1a69:9502 with SMTP id 5b1f17b1804b1-4561a6997b0mr47566355e9.21.1752534591705; Mon, 14 Jul 2025 16:09:51 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:50 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Eric Auger , Jonathan Cameron , Igor Mammedov , Ani Sinha Subject: [PULL 82/97] qtest/bios-tables-test: Generate reference blob for DSDT.acpipcihp Message-ID: <9785e9ec8f0e3069b8b909648df551372acd0479.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535634667116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Eric Auger The disassembled DSDT table is given below. /* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20210604 (64-bit version) * Copyright (c) 2000 - 2021 Intel Corporation * * Disassembling to symbolic ASL+ operators * * Disassembly of ../tests/data/acpi/aarch64/virt/DSDT.acpipcihp, Thu Jul = 3 05:16:27 2025 * * Original Table Header: * Signature "DSDT" * Length 0x0000183A (6202) * Revision 0x02 * Checksum 0x98 * OEM ID "BOCHS " * OEM Table ID "BXPC " * OEM Revision 0x00000001 (1) * Compiler ID "BXPC" * Compiler Version 0x00000001 (1) */ DefinitionBlock ("", "DSDT", 2, "BOCHS ", "BXPC ", 0x00000001) { Scope (\_SB) { Device (C000) { Name (_HID, "ACPI0007" /* Processor Device */) // _HID: Hardwa= re ID Name (_UID, Zero) // _UID: Unique ID } Device (COM0) { Name (_HID, "ARMH0011") // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Sett= ings { Memory32Fixed (ReadWrite, 0x09000000, // Address Base 0x00001000, // Address Length ) Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, = ,, ) { 0x00000021, } }) } Device (FWCF) { Name (_HID, "QEMU0002") // _HID: Hardware ID Name (_STA, 0x0B) // _STA: Status Name (_CCA, One) // _CCA: Cache Coherency Attribute Name (_CRS, ResourceTemplate () // _CRS: Current Resource Sett= ings { Memory32Fixed (ReadWrite, 0x09020000, // Address Base 0x00000018, // Address Length ) }) } Device (VR00) { Name (_HID, "LNRO0005") // _HID: Hardware ID Name (_UID, Zero) // _UID: Unique ID Name (_CCA, One) // _CCA: Cache Coherency Attribute Name (_CRS, ResourceTemplate () // _CRS: Current Resource Sett= ings { Memory32Fixed (ReadWrite, 0x0A000000, // Address Base 0x00000200, // Address Length ) Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, = ,, ) { 0x00000030, } }) } ../.. Device (L000) { Name (_HID, "PNP0C0F" /* PCI Interrupt Link Device */) // _HID= : Hardware ID Name (_UID, Zero) // _UID: Unique ID Name (_PRS, ResourceTemplate () // _PRS: Possible Resource Set= tings { Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, = ,, ) { 0x00000023, } }) Name (_CRS, ResourceTemplate () // _CRS: Current Resource Sett= ings { Interrupt (ResourceConsumer, Level, ActiveHigh, Exclusive, = ,, ) { 0x00000023, } }) Method (_SRS, 1, NotSerialized) // _SRS: Set Resource Settings { } } ../.. Device (PCI0) { Name (_HID, "PNP0A08" /* PCI Express Bus */) // _HID: Hardware= ID Name (_CID, "PNP0A03" /* PCI Bus */) // _CID: Compatible ID Name (_SEG, Zero) // _SEG: PCI Segment Name (_BBN, Zero) // _BBN: BIOS Bus Number Name (_UID, Zero) // _UID: Unique ID Name (_STR, Unicode ("PCIe 0 Device")) // _STR: Description St= ring Name (_CCA, One) // _CCA: Cache Coherency Attribute Name (_PRT, Package (0x80) // _PRT: PCI Routing Table { Package (0x04) { 0xFFFF, Zero, L000, Zero }, ../.. }) Method (_CBA, 0, NotSerialized) // _CBA: Configuration Base Ad= dress { Return (0x0000004010000000) } Name (_CRS, ResourceTemplate () // _CRS: Current Resource Sett= ings { WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDec= ode, 0x0000, // Granularity 0x0000, // Range Minimum 0x00FF, // Range Maximum 0x0000, // Translation Offset 0x0100, // Length ,, ) DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixe= d, NonCacheable, ReadWrite, 0x00000000, // Granularity 0x10000000, // Range Minimum 0x3EFEFFFF, // Range Maximum 0x00000000, // Translation Offset 0x2EFF0000, // Length ,, , AddressRangeMemory, TypeStatic) DWordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, E= ntireRange, 0x00000000, // Granularity 0x00000000, // Range Minimum 0x0000FFFF, // Range Maximum 0x3EFF0000, // Translation Offset 0x00010000, // Length ,, , TypeStatic, DenseTranslation) QWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixe= d, NonCacheable, ReadWrite, 0x0000000000000000, // Granularity 0x0000008000000000, // Range Minimum 0x000000FFFFFFFFFF, // Range Maximum 0x0000000000000000, // Translation Offset 0x0000008000000000, // Length ,, , AddressRangeMemory, TypeStatic) }) Method (_OSC, 4, NotSerialized) // _OSC: Operating System Capa= bilities { CreateDWordField (Arg3, Zero, CDW1) If ((Arg0 =3D=3D ToUUID ("33db4d5b-1ff7-401c-9657-7441c03dd= 766") /* PCI Host Bridge Device */)) { CreateDWordField (Arg3, 0x04, CDW2) CreateDWordField (Arg3, 0x08, CDW3) Local0 =3D CDW3 /* \_SB_.PCI0._OSC.CDW3 */ Local0 &=3D 0x1E If ((Arg1 !=3D One)) { CDW1 |=3D 0x08 } If ((CDW3 !=3D Local0)) { CDW1 |=3D 0x10 } CDW3 =3D Local0 } Else { CDW1 |=3D 0x04 } Return (Arg3) } Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg0 =3D=3D ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c34= 34d") /* Device Labeling Interface */)) { If ((Arg2 =3D=3D Zero)) { Return (Buffer (One) { 0x01 = // . }) } } Return (Buffer (One) { 0x00 // . }) } Device (RES0) { Name (_HID, "PNP0C02" /* PNP Motherboard Resources */) // = _HID: Hardware ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource = Settings { QWordMemory (ResourceProducer, PosDecode, MinFixed, Max= Fixed, NonCacheable, ReadWrite, 0x0000000000000000, // Granularity 0x0000004010000000, // Range Minimum 0x000000401FFFFFFF, // Range Maximum 0x0000000000000000, // Translation Offset 0x0000000010000000, // Length ,, , AddressRangeMemory, TypeStatic) }) } } Device (\_SB.GED) { Name (_HID, "ACPI0013" /* Generic Event Device */) // _HID: Ha= rdware ID Name (_UID, "GED") // _UID: Unique ID Name (_CRS, ResourceTemplate () // _CRS: Current Resource Sett= ings { Interrupt (ResourceConsumer, Edge, ActiveHigh, Exclusive, ,= , ) { 0x00000029, } }) OperationRegion (EREG, SystemMemory, 0x09080000, 0x04) Field (EREG, DWordAcc, NoLock, WriteAsZeros) { ESEL, 32 } Method (_EVT, 1, Serialized) // _EVT: Event { Local0 =3D ESEL /* \_SB_.GED_.ESEL */ If (((Local0 & 0x02) =3D=3D 0x02)) { Notify (PWRB, 0x80) // Status Change } If (((Local0 & 0x10) =3D=3D 0x10)) { Acquire (\_SB.PCI0.BLCK, 0xFFFF) \_SB.PCI0.PCNT () Release (\_SB.PCI0.BLCK) } } } Device (PWRB) { Name (_HID, "PNP0C0C" /* Power Button Device */) // _HID: Hard= ware ID Name (_UID, Zero) // _UID: Unique ID } } Scope (_SB.PCI0) { OperationRegion (PCST, SystemMemory, 0x090C0000, 0x08) Field (PCST, DWordAcc, NoLock, WriteAsZeros) { PCIU, 32, PCID, 32 } OperationRegion (SEJ, SystemMemory, 0x090C0008, 0x04) Field (SEJ, DWordAcc, NoLock, WriteAsZeros) { B0EJ, 32 } OperationRegion (BNMR, SystemMemory, 0x090C0010, 0x08) Field (BNMR, DWordAcc, NoLock, WriteAsZeros) { BNUM, 32, PIDX, 32 } Mutex (BLCK, 0x00) Method (PCEJ, 2, NotSerialized) { Acquire (BLCK, 0xFFFF) BNUM =3D Arg0 B0EJ =3D (One << Arg1) Release (BLCK) Return (Zero) } Method (AIDX, 2, NotSerialized) { Acquire (BLCK, 0xFFFF) BNUM =3D Arg0 PIDX =3D (One << Arg1) Local0 =3D PIDX /* \_SB_.PCI0.PIDX */ Release (BLCK) Return (Local0) } Method (PDSM, 5, Serialized) { If ((Arg2 =3D=3D Zero)) { Local0 =3D Buffer (One) { 0x00 /= / . } If ((Arg0 !=3D ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434= d") /* Device Labeling Interface */)) { Return (Local0) } If ((Arg1 < 0x02)) { Return (Local0) } Local1 =3D Zero Local2 =3D AIDX (DerefOf (Arg4 [Zero]), DerefOf (Arg4 [One] )) If (!((Local2 =3D=3D Zero) | (Local2 =3D=3D 0xFFFFFFFF))) { Local1 |=3D One Local1 |=3D (One << 0x07) } Local0 [Zero] =3D Local1 Return (Local0) } If ((Arg2 =3D=3D 0x07)) { Local2 =3D AIDX (DerefOf (Arg4 [Zero]), DerefOf (Arg4 [One] )) Local0 =3D Package (0x02) {} If (!((Local2 =3D=3D Zero) || (Local2 =3D=3D 0xFFFFFFFF))) { Local0 [Zero] =3D Local2 Local0 [One] =3D "" } Return (Local0) } } } Scope (\_SB.PCI0) { Method (EDSM, 5, Serialized) { If ((Arg2 =3D=3D Zero)) { Local0 =3D Buffer (One) { 0x00 /= / . } If ((Arg0 !=3D ToUUID ("e5c937d0-3553-4d7a-9117-ea4d19c3434= d") /* Device Labeling Interface */)) { Return (Local0) } If ((Arg1 < 0x02)) { Return (Local0) } Local0 [Zero] =3D 0x81 Return (Local0) } If ((Arg2 =3D=3D 0x07)) { Local0 =3D Package (0x02) { Zero, "" } Local1 =3D DerefOf (Arg4 [Zero]) Local0 [Zero] =3D Local1 Return (Local0) } } Device (S00) { Name (_ADR, Zero) // _ADR: Address } Device (S08) { Name (_ADR, 0x00010000) // _ADR: Address } Device (S38) { Name (_ADR, 0x00070000) // _ADR: Address Device (S00) { Name (_ADR, Zero) // _ADR: Address } Name (BSEL, One) Scope (S00) { Name (ASUN, Zero) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Meth= od { Local0 =3D Package (0x02) { Zero, Zero } Local0 [Zero] =3D BSEL /* \_SB_.PCI0.S38_.BSEL */ Local0 [One] =3D ASUN /* \_SB_.PCI0.S38_.S00_.ASUN */ Return (PDSM (Arg0, Arg1, Arg2, Arg3, Local0)) } Name (_SUN, Zero) // _SUN: Slot User Number Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x= =3D0-9 { PCEJ (BSEL, _SUN) } } Method (DVNT, 2, NotSerialized) { If ((Arg0 & One)) { Notify (S00, Arg1) } } } Name (BSEL, Zero) Scope (S00) { Name (ASUN, Zero) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Local0 =3D Package (0x02) { Zero, Zero } Local0 [Zero] =3D BSEL /* \_SB_.PCI0.BSEL */ Local0 [One] =3D ASUN /* \_SB_.PCI0.S00_.ASUN */ Return (PDSM (Arg0, Arg1, Arg2, Arg3, Local0)) } Name (_SUN, Zero) // _SUN: Slot User Number Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=3D0-9 { PCEJ (BSEL, _SUN) } } Scope (S08) { Name (ASUN, One) Method (_DSM, 4, Serialized) // _DSM: Device-Specific Method { Local0 =3D Package (0x02) { Zero, Zero } Local0 [Zero] =3D BSEL /* \_SB_.PCI0.BSEL */ Local0 [One] =3D ASUN /* \_SB_.PCI0.S08_.ASUN */ Return (PDSM (Arg0, Arg1, Arg2, Arg3, Local0)) } Name (_SUN, One) // _SUN: Slot User Number Method (_EJ0, 1, NotSerialized) // _EJx: Eject Device, x=3D0-9 { PCEJ (BSEL, _SUN) } } Method (DVNT, 2, NotSerialized) { If ((Arg0 & One)) { Notify (S00, Arg1) } If ((Arg0 & 0x02)) { Notify (S08, Arg1) } } Device (PHPR) { Name (_HID, "PNP0A06" /* Generic Container Device */) // _HID:= Hardware ID Name (_UID, "PCI Hotplug resources") // _UID: Unique ID Name (_STA, 0x0B) // _STA: Status Name (_CRS, ResourceTemplate () // _CRS: Current Resource Sett= ings { IO (Decode16, 0x0000, // Range Minimum 0x0000, // Range Maximum 0x01, // Alignment 0x18, // Length ) }) } Scope (S38) { Method (PCNT, 0, NotSerialized) { BNUM =3D One DVNT (PCIU, One) DVNT (PCID, 0x03) } } Method (PCNT, 0, NotSerialized) { BNUM =3D Zero DVNT (PCIU, One) DVNT (PCID, 0x03) ^S38.PCNT () } } } Signed-off-by: Eric Auger Reviewed-by: Jonathan Cameron Reviewed-by: Igor Mammedov Message-Id: <20250714080639.2525563-37-eric.auger@redhat.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test-allowed-diff.h | 1 - tests/data/acpi/aarch64/virt/DSDT.acpipcihp | Bin 0 -> 6202 bytes 2 files changed, 1 deletion(-) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index dc3ab24d05..dfb8523c8b 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,2 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/aarch64/virt/DSDT.acpipcihp", diff --git a/tests/data/acpi/aarch64/virt/DSDT.acpipcihp b/tests/data/acpi/= aarch64/virt/DSDT.acpipcihp index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..8d55a877a40cb4c4dffdc703782= 04e12d2261a75 100644 GIT binary patch literal 6202 zcmb`LOK;oQ6@U+^7e!GrCDWEH%a*2@Oqx!cQdVMn(o7nOlx;bZ%!+m#fI&%T;MR@< z3^B#mEgyXhb3t||^m+4nTJivh}otou0MJs)|l zaYfTMx9^q!#6PvRj19ZidTbfBTCFAk0Di~6>hBHViEFo9XIM6LU6GhAKUHP%Az zFWS8wUDuaDa_#M=3DoRM6^XbK@BFXuvpm@Y+;&G@6iB&BYDu%+wzovURpBd->hL5vpH zSwuZtog#4A_Yfk3s7HtvX0gOW$RdvsXBbN?qrqjwc#I^&Xt0diTt=3DM7kQl~omT`y6 zNbndk!??pTmbr{1kD)M(WtOqRWu$nF9K%>)8LM1|#AB!oW0hrm!eyj+i~_^>gkjX9 z%|S~{mU#?~VccaI+%lz`WK!z04C7}kgI}i#FOL$#xW_X1b(-Zd$_(REmcg&n9FI|9 z824EQzfPxkj75g=3DbC$ucQ#(jpd6)`&T?&X2V>RY;@uU#HKtbv`+$(i7sb1j%3 z9%5*pmUQibEjS@6N{65XiJ(5@pu)aO)Fx&X?H+=3D{!w8$!bq*`+qpWBbQC5tyKH{*# zzAM(5WptvahODN(iua^rMy&>(`P%Csxvf_J@;=3D(zgM3x4SYSX0_Mrwk)WC#&_zfJw zXRr@|kl>hR4YsGdFXWR#CY~9O0iO+o--WKO*P)2=3D-^6@ZovPyz@CWvQ(dM3ii$tp?WnIxV`>Y1dTDdL$To+;{? zqMj1*l!&K9JtgXyCZ1{HnWmm;>M0XXnRv?7Q>LC7;+Y|y8S0s#o(l0)h^In573!HK zo>}6VrJh;pnIoP#;+dnKIqEq@Jg11~6!n~RBS5CE{74o+auzM?B|<=3DN$E%qn>5rStg!k>RG0q^TczWc+OMLdFojqo)zL* zp`I1$xj;M@i01h1$>RBb8RpMEtp4Ew`rn*L}2^Tqh>w~{HhtS%#yxzAl2G#KIQ9IG8@Z4Y&)(d(MsJipe+C!%m>}Q>IKy6i(6*VwjS;-U!WUl+S%1$w zxVz)=3DxQcg~xm5g)Z^RyCp4`HBZtHE+4c|S4FWl;QNZRR`+4Z(b4wNzBW*B^ZW--O z(YY4p?H}L_|5!K#q&PRQ`vSC&n;r8pZx*tA{P3c=3Do@UCHY4@@tGkN|De0<#AsC>q+ ziwkd*`op0tUU)w2`MAher_TYtI(;s{(^2{C_4!jcf2ssE|9Vf@d%bro$SK(K_f9>4 z3vaY?{!C8&cc5PoMO^cnt7!iz2KZSx^#r)^)CV`hg2B72JxsKNjF-Px!t$Fahf0t` zAt6E*JUyYS>V4i#x+L$!=3DWrq=3D3wqT6ViDs9W&>(X@B^ zpxwlMruc=3Dp2;liRArQmCKn?Hx!QrzbPjZ9#1-HGa3;2+6F7{~!^HG0W9A#b|2=3DErs zhrvSd|6VBIt-3+t!uL#E;3ZytFY%G`>OdCJV%0r#hMRF~!x~)es;0gi?SISY)HXhU z=3D|BJS*R?P9Uwr=3DM7oY9FU|yOJ?0i<1*Moo2Lg^UP>-b!>D(+tJ1>6<5IBq>5`eMp4 R?PfR*|6}}@w~&H!{sU733QPb1 literal 0 HcmV?d00001 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535695; cv=none; d=zohomail.com; s=zohoarc; b=VPsYgzV0+SkSDt2NJV6C0INtqAseThbUz/JrVvsdpHOyQ9aECBu3yFcpLtPAkguXAXStpMVag8INiUU21VspO9BpeIkqu4H8icev18f+E017tTuH/j5KIyipqqkec225YvqQyoVUBJp56ySHSp/sDf4wSzimd11iogSuDOon6zg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535695; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=enHLUCrIsqLlC37PkazjlZZO0bUiUz91Xpv6x/79LBQ=; b=CYdTlTen7u9mBbqOmoHsLUJYEnMO/E3xNy4792kBVlwouRbpuGUXHFes1RrVz+clIL1LtqfnICX9jUAtigP8IN78T9DkwYNPMmCtrXOxgIpyEGDhza8shhpCCehKOtav0p3N9rx776/t/K9eUNZyyq3yOKuIOXdIDA2i9RjnGU0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535695560272.97171030928985; Mon, 14 Jul 2025 16:28:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSMX-0003gN-U1; Mon, 14 Jul 2025 19:13:34 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJ7-0004sO-9o for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:01 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJ4-0005y9-II for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:09:59 -0400 Received: from mail-wr1-f71.google.com (mail-wr1-f71.google.com [209.85.221.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-267-knGXwjBiMrOxrLttscmjkw-1; Mon, 14 Jul 2025 19:09:56 -0400 Received: by mail-wr1-f71.google.com with SMTP id ffacd0b85a97d-3b5f97cb8fbso811858f8f.3 for ; Mon, 14 Jul 2025 16:09:56 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e1e285sm13357594f8f.76.2025.07.14.16.09.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534597; 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: in-reply-to:in-reply-to:references:references; bh=enHLUCrIsqLlC37PkazjlZZO0bUiUz91Xpv6x/79LBQ=; b=SAYELPntGlkkzb8QsChWmq5HvcSXO/jOOajh/2G9FYZuFiRO9U897hI1eemMqWRh/tX5KD /XwxNyYUvXRWzOhWtMEIORbAqz1vSO0hrOrKq8dDnICWZRa4OCp5xuNNq4pNYFjWl30PAc EAv4sprqLv/QkLYwCzCuOYGxsIsCw7g= X-MC-Unique: knGXwjBiMrOxrLttscmjkw-1 X-Mimecast-MFC-AGG-ID: knGXwjBiMrOxrLttscmjkw_1752534595 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534595; x=1753139395; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=enHLUCrIsqLlC37PkazjlZZO0bUiUz91Xpv6x/79LBQ=; b=EJmtZkGw2zSiS8XbJfmR6M90nXql1KofhydpJKwm+H3TiP2rXVdoCjr8hIpHjX8nPD DPZpio2OptOpP9suP3GKDVAAU6frXbSrJvIec88edtvXFg7PeM6OddArUhDM7bWMp+y8 WM/JBy+Tc0tc850ElaDUVoRHZG5toECrtN/J3NvIILJ/dEKhQbYGxy5SFRY9IfTSTfox s5P7MDtJvYMolxtkB40mdANhvcs2vLcNmciGjjxJiolPMYZNwaxbdJC/dGgv7c6HcbCc q1h6zeagZCULLaMN1hCPmwFPQ6JnjrVRiB1rtyNjlDRd9he0FyZvIyuA/6NNXzEMtRba SdNA== X-Gm-Message-State: AOJu0YyNJkslEeC/PlnuFrp8PYhS9b8ls3d+JvMOy/xpVdE9xPU6JCCL iruijq+Ln8gYYnsKXbHxoiTwKJ4bn7v21ZZRaP2iAiKnRQ9vqfLbKkuZtrs5DiaEPCD8FkcRdQW m3Hf48A2UxQ+KS3phPFYOn8pCvPXS3UdCrDF5A9lb3p3CzHjYVtyMfGHxq6VOgnN2sz9fopgRJC lOK5HBTPm5kSXDQEh1jd5PprCzcLxniOnhVg== X-Gm-Gg: ASbGncsSofjQDPT4iySTOTRaPSeb3le1jhZZT55etD4p+rfmfmmNci+AkeQVi0X/ePy ax3DZq8vr8rrdomsNmkW/8AUIYesxNX/lNzw1raQ/0q4Sc0rGFeFi1mZ/aN9Q9+0Q8Z9Z9+juI8 UdeSqLwV2aqs/nAHUhrzFTPDfxFj/Y8V4CE1ReIMcq68QDmgCge91MLcK+RwpAOUU2TiZvuGqSm UJDfu6uAu3YPqeQkymZd2NvWDRWTr84ETTJCsn8hnLOwdCHS54ZjnQIPpfhVJHSS5th464leuZs LBtT7WIloBZiTGIfv2BeMsm+unIG1g8T X-Received: by 2002:a05:6000:2a0f:b0:3b6:8f6:e5e1 with SMTP id ffacd0b85a97d-3b608f6e699mr1013011f8f.27.1752534594870; Mon, 14 Jul 2025 16:09:54 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHUZFIW+W6R2vMeFwMsMH92dsSKWGowDaG3SDcU3c/er7P2OU9r1O7+CB+qMgQdwtdYngkKNA== X-Received: by 2002:a05:6000:2a0f:b0:3b6:8f6:e5e1 with SMTP id ffacd0b85a97d-3b608f6e699mr1012991f8f.27.1752534594410; Mon, 14 Jul 2025 16:09:54 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:51 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Yicong Yang , Jonathan Cameron , Zhao Liu , Alireza Sanaee , Igor Mammedov , Ani Sinha Subject: [PULL 83/97] tests: virt: Allow changes to PPTT test table Message-ID: <117ca1d6e59015aac16aa73f866829fdf15bb372.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535696977116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yicong Yang Allow changes to PPTT test table, preparing for adding identical implementation flags support and for adding a root node for all the system. This is related to both loongarch64 and aarch64. Signed-off-by: Yicong Yang Reviewed-by: Jonathan Cameron Reviewed-by: Zhao Liu Signed-off-by: Alireza Sanaee Message-Id: <20250714173146.511-2-alireza.sanaee@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test-allowed-diff.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index dfb8523c8b..5c3ff47748 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1 +1,6 @@ /* List of comma-separated changed AML files to ignore */ +"tests/data/acpi/aarch64/virt/PPTT", +"tests/data/acpi/aarch64/virt/PPTT.acpihmatvirt", +"tests/data/acpi/aarch64/virt/PPTT.topology", +"tests/data/acpi/loongarch64/virt/PPTT", +"tests/data/acpi/loongarch64/virt/PPTT.topology", --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535914; cv=none; d=zohomail.com; s=zohoarc; b=HAGEcd0BvjV2TJUnT1woRyRLAJBLCpPznmAB5Jf8E2yRyuzjPVwQFguSxXq+ZShz1qg4gR1u8gTgl2vvppTs+uD3Hfspgmj6Q/wUnZgA+S4HST1lKaqeBY06rAQVLMtqV1N4O0ijGb8/f89ZEy3VJwm5fS6PyIVEAm68YBzlulc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535914; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=8OnHhOVb5tqwc8LUpUCNfZ9pZdUybn75vZ88Y9oiuFM=; b=BEot/o7m2W6p2/zFA3o8sFKOI6VNPMAWmB7EbzEoi+rYer+vd7dHldU5RO8EyrIBFOXF8vPMzsvj4hs6ZVHyrVFs2hJ4LBa70VPQLniW9ZSUykeoxdiuImlQ1+bYw/MaMmrnO3w/SHKL9fgB/gG2P/aFK9EPhlxeBb3lvtlPjbo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535914507458.32005634037296; Mon, 14 Jul 2025 16:31:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSMZ-0003ca-24; Mon, 14 Jul 2025 19:13:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJA-0004yF-07 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:04 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJ7-0005yl-2O for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:02 -0400 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-421-aP64iBliPL6mThD6lFP7FQ-1; Mon, 14 Jul 2025 19:09:59 -0400 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3a5780e8137so3071261f8f.1 for ; Mon, 14 Jul 2025 16:09:58 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8dc9298sm13501125f8f.44.2025.07.14.16.09.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534600; 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: in-reply-to:in-reply-to:references:references; bh=8OnHhOVb5tqwc8LUpUCNfZ9pZdUybn75vZ88Y9oiuFM=; b=c6ZUJ0iyOm5uhGWneJLCxL+nGZ+v7nHYwC+Ng6ooXg1jHlUSnyZCZSyL22ru3C+xHH1IIR ZMfhRnjq+jftRENUMNohbRyApBhwbRosyZT0lDW2Gdy0hZe7Eeb7Ew5NbqOmrvnvMQKAsn Jg/fvSACWWOUrVys2q1xnyNxgHLuPV0= X-MC-Unique: aP64iBliPL6mThD6lFP7FQ-1 X-Mimecast-MFC-AGG-ID: aP64iBliPL6mThD6lFP7FQ_1752534598 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534597; x=1753139397; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=8OnHhOVb5tqwc8LUpUCNfZ9pZdUybn75vZ88Y9oiuFM=; b=P6WfX5Vt92PRxoszjCuZmr5K0IRp1jGXKxzSYPqcCrdrfKYMvbb1+hd+XhAvGXNNOu fxpy/XR2mm1wBIrKB2rAqrQN9QB9msPI3rOWPgGYrtaPOLWug1i8Mf0TKOaDGcJW5ofX LO1Q2w9lAzBoKQ4YE/dnEYMwbr+klBi5Ieccq7Gr51QG4xMSpMaay2AdUdtMw8i3D8Ow JQffJJ3HNvn/8JdQGz+sHSw6us0EyXQqdp1mvCX0tgm/ZKV6Kcw3uC/K38smCmTAAOc3 0w4Z+yW+UPaJudy5JYXBIzEqJ4lmvFo5A03QaD2Y2LV5ei83ilbuY4/hTXi3cIl2hgmT mHpA== X-Gm-Message-State: AOJu0Ywx9XbbU3xnxflvFhbl0oMvUKEaElG7PiZT4SaCEhIovF/cQW+G QACrB1SsMVzzUZK1WHV6Wevq3yRn3UOgD6ReSTN2rUaoCanoPa7xrMafml2Y8h10lsrZV3FiaAE 7EAUj267e2YTVqDCwlTtAOhvWOB7WoLmmjc/rPk0T3j2Dzdrq/lmYlyGqvEhwDRLq6MObUEPngY qQJtAWzBEQ0x2r1p6ku3eijc48Q5TJMbmRcQ== X-Gm-Gg: ASbGncsitcf+rYf1TJ/2apTaELRJUvVkXh0Q4ToL46yeZae8YaD4wWoEKRsofj9ckN0 /2Ur/xDwczfId4Fq9Kq84UIDAF4cdjVA8qC8ydxdfAGgVAZ+xoEcCVPPLqFXhZtOcgb2vzjFZxa EhWlbsSssJFQ81WSSiiJcQJC2eNbY3pmkFXkS32CNAX/a72MPzGqdNay6lzm2NbEBZ5Rh//OVwB XXKBAc5gudlNmh/hkGHMUNCadUIJLltDNAwavE1cwfrkD+Xml2xFzVDiG8acFRbPs2EMcLUG9qu /CHHNBSxQn4cesMroKPqXnhJzp3loDAu X-Received: by 2002:a05:6000:18a5:b0:3a4:f722:a46b with SMTP id ffacd0b85a97d-3b60953aaafmr1007904f8f.15.1752534597575; Mon, 14 Jul 2025 16:09:57 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEFUcOnYSLRgT+io9EMLTBjRHzI1gzcjRJswBQgCjKyZ4HtyFTR0fYMGF0BgyF5kIupMV8jnw== X-Received: by 2002:a05:6000:18a5:b0:3a4:f722:a46b with SMTP id ffacd0b85a97d-3b60953aaafmr1007884f8f.15.1752534597138; Mon, 14 Jul 2025 16:09:57 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:54 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Yicong Yang , Jonathan Cameron , Alireza Sanaee , Igor Mammedov , Ani Sinha Subject: [PULL 84/97] hw/acpi/aml-build: Set identical implementation flag for PPTT processor nodes Message-ID: <95a4795f913ce458c57c06259421c571e489e924.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535915373116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yicong Yang Per ACPI 6.5 Table 5.158: Processor Structure Flags, the identical implementation flag indicates whether all the children processors of this node share the same identical implementation revision. Currently Linux support parsing this field [1] and maybe used to identify the heterogeneous platform. Since qemu only support homogeneous emulation, set this flag for all the processor node to indicates the facts when building the PPTT table. Node leaf is an exception since spec says this flag should be ignored on leaf nodes by OSPM. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree= /drivers/acpi/pptt.c?h=3Dv6.11-rc1#n810 Signed-off-by: Yicong Yang Reviewed-by: Jonathan Cameron Signed-off-by: Alireza Sanaee Message-Id: <20250714173146.511-3-alireza.sanaee@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/acpi/aml-build.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c index cb817a0f31..9b9be4ea0f 100644 --- a/hw/acpi/aml-build.c +++ b/hw/acpi/aml-build.c @@ -2172,7 +2172,8 @@ void build_pptt(GArray *table_data, BIOSLinker *linke= r, MachineState *ms, core_id =3D -1; socket_offset =3D table_data->len - pptt_start; build_processor_hierarchy_node(table_data, - (1 << 0), /* Physical package */ + (1 << 0) | /* Physical package */ + (1 << 4), /* Identical Implementation */ 0, socket_id, NULL, 0); } =20 @@ -2183,7 +2184,8 @@ void build_pptt(GArray *table_data, BIOSLinker *linke= r, MachineState *ms, core_id =3D -1; cluster_offset =3D table_data->len - pptt_start; build_processor_hierarchy_node(table_data, - (0 << 0), /* Not a physical package */ + (0 << 0) | /* Not a physical package */ + (1 << 4), /* Identical Implementation */ socket_offset, cluster_id, NULL, 0); } } else { @@ -2201,7 +2203,8 @@ void build_pptt(GArray *table_data, BIOSLinker *linke= r, MachineState *ms, core_id =3D cpus->cpus[n].props.core_id; core_offset =3D table_data->len - pptt_start; build_processor_hierarchy_node(table_data, - (0 << 0), /* Not a physical package */ + (0 << 0) | /* Not a physical package */ + (1 << 4), /* Identical Implementation */ cluster_offset, core_id, NULL, 0); } =20 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535833; cv=none; d=zohomail.com; s=zohoarc; b=PODOO+9bH016jEP8Rm+WKErReVM7BBJ4VNWghuV0ebqCJziVHzRJDwkGhMurQHxAoVneNQMETk3xgslque+MLP6MkkQ2eao3CqjTtoOM3xNwPl9723Ll3hmtqQUx1qpom0Rxz/Vr4qp2IqJoDm/3Pa47gd48ldk4jSlM3O1lD1c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535833; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=NpoaHNSgFo/RDoo9oflmiOTFn5UaMvPYbywQP0NYLfY=; b=hoQJqwVIBq924mFxzloPCt/RD1qv0mGtwgoUBoxNas1+uT7U/uaibX7Ls3WMVjzI8a51TnWkQ91Fop3yYmmVdDyryhyoCU5gAauqAOhGVG6ZZIenvf3DZco1Imk8Em3PmnSzeY/ijZn0U8mWO3jL3PbaP2Hk9umy3J7q0FjhOHU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535833429748.3526978534311; Mon, 14 Jul 2025 16:30:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSMj-0004NS-RR; Mon, 14 Jul 2025 19:13:47 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJB-00059n-0z for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:05 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJ9-0005zG-3V for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:04 -0400 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-668-SXnuwyGxP8KkwAfp2BBo8A-1; Mon, 14 Jul 2025 19:10:01 -0400 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3a50816cc58so1639376f8f.3 for ; Mon, 14 Jul 2025 16:10:00 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e1e8b1sm13431957f8f.82.2025.07.14.16.09.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:09:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534602; 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: in-reply-to:in-reply-to:references:references; bh=NpoaHNSgFo/RDoo9oflmiOTFn5UaMvPYbywQP0NYLfY=; b=fJTVUSVvdPBAAMfbE8JIH1TdMNsLo8wjinHuDb6xjVMttgUBjxynfeyb5lPIEaYWOpJLD5 y1/F9OKs3obeTGom943NzRgzR4c5skrlLtRA7AlNOAEQm6+piay1DWSiKrOdAD5QKE1NcZ lMjvUON9vTxfDDtP/tkAt2BrGRk5X28= X-MC-Unique: SXnuwyGxP8KkwAfp2BBo8A-1 X-Mimecast-MFC-AGG-ID: SXnuwyGxP8KkwAfp2BBo8A_1752534600 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534599; x=1753139399; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=NpoaHNSgFo/RDoo9oflmiOTFn5UaMvPYbywQP0NYLfY=; b=LqcvvbeUpWPcziX2XAmr9oxMQLEYe/KhuSyT1bdZjiMnY5nJj4BeUOSXe6hORqr2PD ORTjvsBMgU5n4WibBxdO7snBJD3rDTelPjgLw7IVJGSASPYguIbz2Cj9iHQsmLMCqheY r4RQtqevq7SBjfKV+utQNpQ7Y0uDL0Xqd7v3YFYqTM8OZu0JAJ6E5mM4FUDMWb2TPPaH humjHrZZ+/dOVb7u2XnLzR+vXAoYPiURuu2jzLCixhntj16T9XDBtuU4FOhDdaiKlep7 VjfWOIOX1p/j0Am+7zQCAMKDs3ZLKAmveg0iL14fNW7NSbiQNGg6DIE/Vh4yt6YEcuNc KMAQ== X-Gm-Message-State: AOJu0YxnBRD+HKQB19I5y+YHa7uyD6P1O11GW+1aJzH8v/fKIfYPhQKY d7gSTBpS73dUH1TBNcfQR1gl+ipqtucVzZ+4Z+L32dPwvRcWIq6w8OBWzYom5MfXH0byvXqUf7i T1GHZRnUGOmeWhEv8U+37GHbn97cRVXfBLnx3wMRiBZrrBRT0sxKB3Kpj6ErRYfVaIaluc5oHfy dmr/7piQH/4Ic6ZMHk3V9PHMph91FlB0B8tA== X-Gm-Gg: ASbGncuHaNq15HftNWgaFVAJXu48v2k7SmczirR0mw/H0ewnuuqaSeewqRyVYg12nPo 0XP3Z4iOlRmn6+g3lbE8GE95eqXpradkqqZiVs6UOPCq8dd+jt74JtXH+mEpGUdNFe5bflF2EOt PMd0f/+r1ujsTYAT0oIN7/KKlcdEQXCzBgmc2W8WvtAI+ADkpN6PQbCayiaSPNPDclFoC4D1lWV uq2wkZG3kRWMlAoWpWPBBqppHAfVdouaT6KLAVBmGEaIH/W62IwS5m2Hb61s1auRXuSEC+z5X26 Cfr95tmdwLskgoWEDy67qfC0ZhC2usH5 X-Received: by 2002:a05:6000:18a5:b0:3b6:936:92fa with SMTP id ffacd0b85a97d-3b6093692fcmr1427777f8f.52.1752534599557; Mon, 14 Jul 2025 16:09:59 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHa/zKJlHlDjvyC04ek9MWlqg66e75MVMANvHHuFYHEV11RWQeuftJ7uNiUHqvUfvAeR8YXow== X-Received: by 2002:a05:6000:18a5:b0:3b6:936:92fa with SMTP id ffacd0b85a97d-3b6093692fcmr1427753f8f.52.1752534599117; Mon, 14 Jul 2025 16:09:59 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:57 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Yicong Yang , Jonathan Cameron , Alireza Sanaee , Igor Mammedov , Ani Sinha Subject: [PULL 85/97] hw/acpi/aml-build: Build a root node in the PPTT table Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535834711116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Yicong Yang Currently we build the PPTT starting from the socket node and each socket will be a separate tree. For a multi-socket system it'll be hard for the OS to know the whole system is homogeneous or not (actually we're in the current implementation) since no parent node to telling the identical implementation informentation. Add a root node for indicating this. Signed-off-by: Yicong Yang Reviewed-by: Jonathan Cameron Signed-off-by: Alireza Sanaee Message-Id: <20250714173146.511-4-alireza.sanaee@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/acpi/aml-build.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/hw/acpi/aml-build.c b/hw/acpi/aml-build.c index 9b9be4ea0f..1e685f982f 100644 --- a/hw/acpi/aml-build.c +++ b/hw/acpi/aml-build.c @@ -2152,12 +2152,25 @@ void build_pptt(GArray *table_data, BIOSLinker *lin= ker, MachineState *ms, int64_t socket_id =3D -1, cluster_id =3D -1, core_id =3D -1; uint32_t socket_offset =3D 0, cluster_offset =3D 0, core_offset =3D 0; uint32_t pptt_start =3D table_data->len; + uint32_t root_offset; int n; AcpiTable table =3D { .sig =3D "PPTT", .rev =3D 2, .oem_id =3D oem_id, .oem_table_id =3D oem_table_id= }; =20 acpi_table_begin(&table, table_data); =20 + /* + * Build a root node for all the processor nodes. Otherwise when + * building a multi-socket system each socket tree is separated + * and will be hard for the OS like Linux to know whether the + * system is homogeneous. + */ + root_offset =3D table_data->len - pptt_start; + build_processor_hierarchy_node(table_data, + (1 << 0) | /* Physical package */ + (1 << 4), /* Identical Implementation */ + 0, 0, NULL, 0); + /* * This works with the assumption that cpus[n].props.*_id has been * sorted from top to down levels in mc->possible_cpu_arch_ids(). @@ -2174,7 +2187,7 @@ void build_pptt(GArray *table_data, BIOSLinker *linke= r, MachineState *ms, build_processor_hierarchy_node(table_data, (1 << 0) | /* Physical package */ (1 << 4), /* Identical Implementation */ - 0, socket_id, NULL, 0); + root_offset, socket_id, NULL, 0); } =20 if (mc->smp_props.clusters_supported && mc->smp_props.has_clusters= ) { --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535175; cv=none; d=zohomail.com; s=zohoarc; b=VD7Diny1KO9UINJJFlWLlAwVSGYel6ZYfmZOx7coB2BmD6nYZixDne/doun5Zp39vK9IPdlswVixFMWfO3GZry5H5BADr55atS8IsoNGUNs65NssQoocGIGNgLMXODBYgSOUaqhYjTuqSmdwPwDEHuBPR8WBZpypiICO8GgXBFY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535175; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=HHpH/dEfrSL64WNz8DgnaOGW+sTN6Mrep3tcTvJ3rKM=; b=OF/O2WnSZw2+c1QorkpG5dnlDEe8o0itr6tBsfVuPvsWQGy9Gwy1Y+1lKIuQQEXMHXTLlm8p7b0BMEkFPTaov2HtoLcEmZem+hY/osDYhhxFKceHUWSaaezQUJ0eX8kyRpnxbIK6/U5MD0Kn52uT8UfG04ii69BuIl07wtE+OzQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535175910163.34961562477247; Mon, 14 Jul 2025 16:19:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSMp-0004az-1M; Mon, 14 Jul 2025 19:13:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJE-0005Or-N4 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:08 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJC-0005zq-6C for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:08 -0400 Received: from mail-wm1-f71.google.com (mail-wm1-f71.google.com [209.85.128.71]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-612-fUmSHb_OOwGvVht4so3ISw-1; Mon, 14 Jul 2025 19:10:04 -0400 Received: by mail-wm1-f71.google.com with SMTP id 5b1f17b1804b1-4560f28b2b1so7124735e9.2 for ; Mon, 14 Jul 2025 16:10:03 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e211dcsm13234881f8f.84.2025.07.14.16.10.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:10:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534605; 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: in-reply-to:in-reply-to:references:references; bh=HHpH/dEfrSL64WNz8DgnaOGW+sTN6Mrep3tcTvJ3rKM=; b=YZ8nR5gRLpRLCxZy4wRE8auBfyxWNvbSpMXWEHUvqAS7FR03yZc3+gKBkmqfEuf/Y9cJd7 C5lbsaO47W5/6mXSyBMePQxXw1kloXBeijQYjVxrIx0WRcaT09gi/Ndl3WY0NbaTIZr3EP ioPvbgh54QAUPGTznx4xPFpV9dOZ/nw= X-MC-Unique: fUmSHb_OOwGvVht4so3ISw-1 X-Mimecast-MFC-AGG-ID: fUmSHb_OOwGvVht4so3ISw_1752534603 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534602; x=1753139402; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=HHpH/dEfrSL64WNz8DgnaOGW+sTN6Mrep3tcTvJ3rKM=; b=ZkX98fxBitxAPxOWA5nr58fVMijMc9GvtardCkjIQaZ9Wz8Hr2PDijT6RWhqgG+0hs /oknvuPhA5ZbajmuKyArUt7nEEt2BdN5mxx3C8OESZl6UgDWYij9U7xHV5GfXjU2lj9M 1Bf88uvErI/DBQ/wF1YyEK4AlnQeZu3sANLEGB3BuMocUGG3It5U5OQp6fcTAusWQV6c 2rELaEOH3dV8FjOHJBvOIieKDMVN6yPBGa1g5/JHV9+01hGbyYDSVVbg6i8qHTVAwjIK SDLaC5PR7NrZ5kqQVMajwBj9y7RLbp8j+Z3kD/9VwJHOG72Ja3y82U0895Dro7DfPZqU GlpQ== X-Gm-Message-State: AOJu0YzQPEOQCdIR1mDDWcfdlid5Q8J1blqDo8e7aPsrZQpiVRCoD+GW aoDuEdYZsybM1ceRsU0Fzprzp9bL39qxfCbbQG2XR9/kEyx6lOLuV6fDgxHeX1z7NyLiGe5RGl+ /p1bsCopz49N8nBOz4YknKooRlRJlM62UpePrGPiYIFl4Yx2OUW28y6M2l5cdqmbmjryr45VfYh ZmqWVCjaJkDjOon+oHzNpxORJiY0GfGlbAZg== X-Gm-Gg: ASbGncuumrJ5/IylyxUPpglXT/N2ZVowMnp0TNQZDBayljz5iCjyqlup4dXHPrjlLxg Jk47SdQQRgaYlll/KqWiY8VrgyXfANM8vGB2GDZUX5YQUbZN2l6YAseaBhFKdX6A7/z8abFc0I/ MrLeA7fN6NGMfDotJ7pQ1gf+zF7BcdNDn4NN/FDfUOLqSzYfSi58oEM8YhDifWLfE1MbR0c7xBY oax+AmRhO/GOPCkLGLJ2ZuW48Fp2WesZnlYL1w9eqAMyn2aisXxc3SWy7jta73tZ2dHDKdgoGZV FkEy4z6IPym31/IkBlwA2o8aon19Jjdi X-Received: by 2002:a05:600c:3d8f:b0:43b:ca39:6c75 with SMTP id 5b1f17b1804b1-45565ed6320mr142241565e9.16.1752534602367; Mon, 14 Jul 2025 16:10:02 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFgIcMK/OpdqavfiboPDFVPq/xsZ3FOLnChRalYtnDdcdO0eL38Ngsj9gexgNpDkwIqVYF/dw== X-Received: by 2002:a05:600c:3d8f:b0:43b:ca39:6c75 with SMTP id 5b1f17b1804b1-45565ed6320mr142241365e9.16.1752534601815; Mon, 14 Jul 2025 16:10:01 -0700 (PDT) Date: Mon, 14 Jul 2025 19:09:59 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Alireza Sanaee , Igor Mammedov , Ani Sinha Subject: [PULL 86/97] tests: virt: Update expected ACPI tables for virt test Message-ID: <1724a0462a62afc4635317a8d97142cba81be219.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535178248116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Alireza Sanaee Update the ACPI tables according to the acpi aml_build change, also empty bios-tables-test-allowed-diff.h. The disassembled differences between actual and expected PPTT shows below. Only about the root node adding and identification flag set as expected. Diff regarding Loongarch64: /* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20230628 (64-bit version) * Copyright (c) 2000 - 2023 Intel Corporation * - * Disassembly of tests/data/acpi/loongarch64/virt/PPTT, Mon Jul 14 16:15:= 12 2025 + * Disassembly of /tmp/aml-4A0092, Mon Jul 14 16:15:12 2025 * * ACPI Data Table [PPTT] * * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue (i= n hex) */ [000h 0000 004h] Signature : "PPTT" [Processor Proper= ties Topology Table] -[004h 0004 004h] Table Length : 0000004C +[004h 0004 004h] Table Length : 00000060 [008h 0008 001h] Revision : 02 -[009h 0009 001h] Checksum : A8 +[009h 0009 001h] Checksum : 27 [00Ah 0010 006h] Oem ID : "BOCHS " [010h 0016 008h] Oem Table ID : "BXPC " [018h 0024 004h] Oem Revision : 00000001 [01Ch 0028 004h] Asl Compiler ID : "BXPC" [020h 0032 004h] Asl Compiler Revision : 00000001 [024h 0036 001h] Subtable Type : 00 [Processor Hierarchy Nod= e] [025h 0037 001h] Length : 14 [026h 0038 002h] Reserved : 0000 -[028h 0040 004h] Flags (decoded below) : 00000001 +[028h 0040 004h] Flags (decoded below) : 00000011 Physical package : 1 ACPI Processor ID valid : 0 Processor is a thread : 0 Node is a leaf : 0 - Identical Implementation : 0 + Identical Implementation : 1 [02Ch 0044 004h] Parent : 00000000 [030h 0048 004h] ACPI Processor ID : 00000000 [034h 0052 004h] Private Resource Number : 00000000 [038h 0056 001h] Subtable Type : 00 [Processor Hierarchy Nod= e] [039h 0057 001h] Length : 14 [03Ah 0058 002h] Reserved : 0000 -[03Ch 0060 004h] Flags (decoded below) : 0000000A +[03Ch 0060 004h] Flags (decoded below) : 00000011 + Physical package : 1 + ACPI Processor ID valid : 0 + Processor is a thread : 0 + Node is a leaf : 0 + Identical Implementation : 1 +[040h 0064 004h] Parent : 00000024 +[044h 0068 004h] ACPI Processor ID : 00000000 +[048h 0072 004h] Private Resource Number : 00000000 + +[04Ch 0076 001h] Subtable Type : 00 [Processor Hierarchy Nod= e] +[04Dh 0077 001h] Length : 14 +[04Eh 0078 002h] Reserved : 0000 +[050h 0080 004h] Flags (decoded below) : 0000000A Physical package : 0 ACPI Processor ID valid : 1 Processor is a thread : 0 Node is a leaf : 1 Identical Implementation : 0 -[040h 0064 004h] Parent : 00000024 -[044h 0068 004h] ACPI Processor ID : 00000000 -[048h 0072 004h] Private Resource Number : 00000000 +[054h 0084 004h] Parent : 00000038 +[058h 0088 004h] ACPI Processor ID : 00000000 +[05Ch 0092 004h] Private Resource Number : 00000000 -Raw Table Data: Length 76 (0x4C) +Raw Table Data: Length 96 (0x60) - 0000: 50 50 54 54 4C 00 00 00 02 A8 42 4F 43 48 53 20 // PPTTL.....BO= CHS + 0000: 50 50 54 54 60 00 00 00 02 27 42 4F 43 48 53 20 // PPTT`....'BO= CHS 0010: 42 58 50 43 20 20 20 20 01 00 00 00 42 58 50 43 // BXPC ....= BXPC - 0020: 01 00 00 00 00 14 00 00 01 00 00 00 00 00 00 00 // ............= .... - 0030: 00 00 00 00 00 00 00 00 00 14 00 00 0A 00 00 00 // ............= .... - 0040: 24 00 00 00 00 00 00 00 00 00 00 00 // $........... + 0020: 01 00 00 00 00 14 00 00 11 00 00 00 00 00 00 00 // ............= .... + 0030: 00 00 00 00 00 00 00 00 00 14 00 00 11 00 00 00 // ............= .... + 0040: 24 00 00 00 00 00 00 00 00 00 00 00 00 14 00 00 // $...........= .... + 0050: 0A 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 // ....8.......= .... Diff regarding ARM64: /* * Intel ACPI Component Architecture * AML/ASL+ Disassembler version 20200925 (64-bit version) * Copyright (c) 2000 - 2020 Intel Corporation * - * Disassembly of tests/data/acpi/aarch64/virt/PPTT, Thu Apr 24 11:02:39 2= 025 + * Disassembly of /tmp/aml-E0RF52, Thu Apr 24 11:02:39 2025 * * ACPI Data Table [PPTT] * * Format: [HexOffset DecimalOffset ByteLength] FieldName : FieldValue */ [000h 0000 4] Signature : "PPTT" [Processor Proper= ties Topology Table] -[004h 0004 4] Table Length : 0000004C +[004h 0004 4] Table Length : 00000060 [008h 0008 1] Revision : 02 -[009h 0009 1] Checksum : A8 +[009h 0009 1] Checksum : 27 [00Ah 0010 6] Oem ID : "BOCHS " [010h 0016 8] Oem Table ID : "BXPC " [018h 0024 4] Oem Revision : 00000001 [01Ch 0028 4] Asl Compiler ID : "BXPC" [020h 0032 4] Asl Compiler Revision : 00000001 [024h 0036 1] Subtable Type : 00 [Processor Hierarchy Nod= e] [025h 0037 1] Length : 14 [026h 0038 2] Reserved : 0000 -[028h 0040 4] Flags (decoded below) : 00000001 +[028h 0040 4] Flags (decoded below) : 00000011 Physical package : 1 ACPI Processor ID valid : 0 Processor is a thread : 0 Node is a leaf : 0 - Identical Implementation : 0 + Identical Implementation : 1 [02Ch 0044 4] Parent : 00000000 [030h 0048 4] ACPI Processor ID : 00000000 [034h 0052 4] Private Resource Number : 00000000 [038h 0056 1] Subtable Type : 00 [Processor Hierarchy Nod= e] [039h 0057 1] Length : 14 [03Ah 0058 2] Reserved : 0000 -[03Ch 0060 4] Flags (decoded below) : 0000000A +[03Ch 0060 4] Flags (decoded below) : 00000011 + Physical package : 1 + ACPI Processor ID valid : 0 + Processor is a thread : 0 + Node is a leaf : 0 + Identical Implementation : 1 +[040h 0064 4] Parent : 00000024 +[044h 0068 4] ACPI Processor ID : 00000000 +[048h 0072 4] Private Resource Number : 00000000 + +[04Ch 0076 1] Subtable Type : 00 [Processor Hierarchy Nod= e] +[04Dh 0077 1] Length : 14 +[04Eh 0078 2] Reserved : 0000 +[050h 0080 4] Flags (decoded below) : 0000000A Physical package : 0 ACPI Processor ID valid : 1 Processor is a thread : 0 Node is a leaf : 1 Identical Implementation : 0 -[040h 0064 4] Parent : 00000024 -[044h 0068 4] ACPI Processor ID : 00000000 -[048h 0072 4] Private Resource Number : 00000000 +[054h 0084 4] Parent : 00000038 +[058h 0088 4] ACPI Processor ID : 00000000 +[05Ch 0092 4] Private Resource Number : 00000000 -Raw Table Data: Length 76 (0x4C) +Raw Table Data: Length 96 (0x60) - 0000: 50 50 54 54 4C 00 00 00 02 A8 42 4F 43 48 53 20 // PPTTL.....BO= CHS + 0000: 50 50 54 54 60 00 00 00 02 27 42 4F 43 48 53 20 // PPTT`....'BO= CHS 0010: 42 58 50 43 20 20 20 20 01 00 00 00 42 58 50 43 // BXPC ....= BXPC - 0020: 01 00 00 00 00 14 00 00 01 00 00 00 00 00 00 00 // ............= .... - 0030: 00 00 00 00 00 00 00 00 00 14 00 00 0A 00 00 00 // ............= .... - 0040: 24 00 00 00 00 00 00 00 00 00 00 00 // $........... + 0020: 01 00 00 00 00 14 00 00 11 00 00 00 00 00 00 00 // ............= .... + 0030: 00 00 00 00 00 00 00 00 00 14 00 00 11 00 00 00 // ............= .... + 0040: 24 00 00 00 00 00 00 00 00 00 00 00 00 14 00 00 // $...........= .... + 0050: 0A 00 00 00 38 00 00 00 00 00 00 00 00 00 00 00 // ....8.......= .... Signed-off-by: Alireza Sanaee Message-Id: <20250714173146.511-5-alireza.sanaee@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- tests/qtest/bios-tables-test-allowed-diff.h | 5 ----- tests/data/acpi/aarch64/virt/PPTT | Bin 76 -> 96 bytes tests/data/acpi/aarch64/virt/PPTT.acpihmatvirt | Bin 156 -> 176 bytes tests/data/acpi/aarch64/virt/PPTT.topology | Bin 336 -> 356 bytes tests/data/acpi/loongarch64/virt/PPTT | Bin 76 -> 96 bytes tests/data/acpi/loongarch64/virt/PPTT.topology | Bin 176 -> 196 bytes 6 files changed, 5 deletions(-) diff --git a/tests/qtest/bios-tables-test-allowed-diff.h b/tests/qtest/bios= -tables-test-allowed-diff.h index 5c3ff47748..dfb8523c8b 100644 --- a/tests/qtest/bios-tables-test-allowed-diff.h +++ b/tests/qtest/bios-tables-test-allowed-diff.h @@ -1,6 +1 @@ /* List of comma-separated changed AML files to ignore */ -"tests/data/acpi/aarch64/virt/PPTT", -"tests/data/acpi/aarch64/virt/PPTT.acpihmatvirt", -"tests/data/acpi/aarch64/virt/PPTT.topology", -"tests/data/acpi/loongarch64/virt/PPTT", -"tests/data/acpi/loongarch64/virt/PPTT.topology", diff --git a/tests/data/acpi/aarch64/virt/PPTT b/tests/data/acpi/aarch64/vi= rt/PPTT index 7a1258ecf123555b24462c98ccbb76b4ac1d0c2b..15598a9b8a3cc0cdd50bc1f77c7= 3ae0ba728a272 100644 GIT binary patch literal 96 zcmWFt2nk7GU|?WUck*}k2v%^42yj+VP*7lGU|;~TK{SI11A`!lMg~wZ6*Ms}1_lNT GBryOJwg&+K delta 38 lcmYfB;R*-{3GrcIU|?D?kxP!1k%57MVWOijj|zwZ1ptDp1jzsZ diff --git a/tests/data/acpi/aarch64/virt/PPTT.acpihmatvirt b/tests/data/ac= pi/aarch64/virt/PPTT.acpihmatvirt index 4eef303a5b6168c6bc3795c2e2c53f65b4c4cfd4..7b613ddaf4b8cfa13821aa2e835= d290077221897 100644 GIT binary patch literal 176 zcmWFt2npH1z`(%7>*Vk35v<@85#X$#prF9Wz`y`vgJ=3Dd31_nV8jSQe-DrjO{3=3D9kw cIK;qafdG0J0aRA8H;*j2S8h0Ax)G0RR91 diff --git a/tests/data/acpi/aarch64/virt/PPTT.topology b/tests/data/acpi/a= arch64/virt/PPTT.topology index 3fbcae5ff08aaf16fedf4da45e941661d79c1174..6b864f035c9f48845e9a3beb482= c5171074864a5 100644 GIT binary patch literal 356 zcmZ|Jy$!-Z42I$N5`MY}q#M8m1tU-=3D4FwV>k%E$fooE=3D0As7OE(HU70xbf+cKc7n( z$9sb2(VvIo#rkU*%*+y?w>lZN>anWrX0`ziKkPKK4!HfX=3D}%Q=3D+NW$ZWuHLf`OMea hV17%?%3eOBs@XTNa1XW&=3DGnMUx9k(F!kpW>+6M@C5CH%H literal 336 zcmZ{eu?>ST5JjI!ARUzlxPl>4Lqib>OQFax86bl(1mmC&2Av}Kh0lKS`?{3IF$E~T z?a=3DjaYd@(oGYf$3nnYNqPuw2O348vr8hBl>qc``-^-S&$D0V+`u$yCwcJZzc?|5v<@85#X$#prF9Wz`y`vgJ=3Dd31_nV8jSQe-DrjN?3=3D9kw lXkvT}3=3DBRv#K7i*fCvLzFR~a&ZwJVIF#RG7a4}}67yz3v3IPBB literal 176 zcmWFt2npH1z`($y@8s|75v<@85#X$#prF9Wz`y`vgJ=3Dd31_m&V3`8It6*MtE1_lNT b9Aa=3DYkn|#pf%KMu+yc`t!T=3DXzhKd0IvU~{v --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535633; cv=none; d=zohomail.com; s=zohoarc; b=LjTrjv4Iu6rnF8QKWAnGsmrFsImt1GhCMn1VbImOIwGeZT6Sadu7wy/DhCJI+5h82Rw2o3Y5+kJn8ep71lDmXMrESxMz0Il5G0FolHqxOXmP3AaEZjU+SSK/+e/doxRh76MJBFutrySUc03exg+PwxZ2p/k9qc2yDyBMG545YFA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535633; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=OvfcGX14yJ1JFvseFzHSJO7Gq6S+o9Stfivp/MgLhas=; b=Z8DP10C9WB4P3PXa4LGkHOTp9TigZaV7ZMlzXAcBKSeN8sGqnST9og4QTGO+a6p+od+md571hveyYiQsalnlSzT4JJs8EOv3MRcOOZ3vIc8CbbaX+uo78FIIBXAyRNm7iTjNZy6Q8zX4EQTk8Rw+T7MFn6JnDy62mvV3LEgi9GY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535633536769.0849036300551; Mon, 14 Jul 2025 16:27:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSNa-0005yb-1C; Mon, 14 Jul 2025 19:14:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJI-0005Zm-Ax for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:15 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJF-00061d-AR for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:11 -0400 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-25-WcW4vDAoMqai6hMml2Rc5w-1; Mon, 14 Jul 2025 19:10:07 -0400 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3a5058f9ef4so2002117f8f.2 for ; Mon, 14 Jul 2025 16:10:06 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e14ce6sm13747797f8f.68.2025.07.14.16.10.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:10:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534608; 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: in-reply-to:in-reply-to:references:references; bh=OvfcGX14yJ1JFvseFzHSJO7Gq6S+o9Stfivp/MgLhas=; b=euqRkCDkPAspd30CsoqxDMzNXgkl7467xT4B0kncxd2ksvbBQAkfhbttKuDp7EiacBMo2o b+vDgVnCoCgfxgkHj9NaoTalYFMTEhLmmVS0bsvp5TwKa0gnYAHl/0G8vEVykKtwy9fBge RudI2E6E/5tmvdPYLyUbAGbzkIZ5lrs= X-MC-Unique: WcW4vDAoMqai6hMml2Rc5w-1 X-Mimecast-MFC-AGG-ID: WcW4vDAoMqai6hMml2Rc5w_1752534606 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534606; x=1753139406; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=OvfcGX14yJ1JFvseFzHSJO7Gq6S+o9Stfivp/MgLhas=; b=nG72NyfYJou74LS+XaeqEfQlq++oEqx0td+0KHv8hG6l3TeK3pYdNdptRaUqMsGztn H8BZ1bDH782CsRwNzg4mIhysvIvo5fl/sY1yccj5Lw6tm64bRtfp8E3bDdQcgcTtVtmC 8N/S0/zUNY/1dOgJWb8Oaf5X5LADxztAmXnVBDV3tnZfp+Z5xrfG1Cx/H7AH/YK6Ot2L +9MhhBVbLn9Fliie3DERveBGF47pfLDjjJsburseBDO5WO/rTg9rKCaWhRbABYfFEoWX gjzUZZuqx4aHxQozXw1cohm15B8Ah31GM2GTu+sQLTpsBPipIgihtZ9DZ8kBKPuZKVb7 7L4g== X-Gm-Message-State: AOJu0YzL9UWcTRPrMJJpKlzgIMk8gAKBmPp1/Mf8W7njRiVfuDMpSbU+ n0FApY7iwVUEHNnLS1YPwzz90bKaP18nqtbbtMwatobnCNBiWjx55nwX/uS6ZqKXzDsUE6rT92H b3tQQbYCqCQFd3tEsUcZ8GP31UmM7dpc3HQKuVaX1lRBHZi/OlQfc33vEj4evpJCFAkcd/IBDmj c+L95Fez43+XMTXK5BSujHZM/18MAwto6i4A== X-Gm-Gg: ASbGnct7R0X7MQ0zGyma3eKnQ+1HSOvvNjuZijdYzo/dfFu/K1PZa7tRwxGEb4mc0Mh a1LPECa2EOiXpRDaLY88OBi+p4ZwjAuCXXWQ6DX3X8QUwYbh7GcS9xfGCRGozStMvimV/P8FdXL BTTBRaffsNz8P/joTp2FlZX2AY06TEBL6nfUZHLstxmbHRgfFZhF3jT8DoFmKF/GSrVw3W9FZgX iAOFXSWZHSq3x0b45fA+EuGyHA5dCRry/mlBDSew9bgOFt58HM11bftZK8n6MyBx6m4Kb66BIA2 AJmodx85LXrc/lYhYahjxQ5sz5BhMX53 X-Received: by 2002:a05:6000:491b:b0:3b5:e244:52f9 with SMTP id ffacd0b85a97d-3b5f35857d0mr12724137f8f.40.1752534605597; Mon, 14 Jul 2025 16:10:05 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHQJ1zQfDlH7LCUhuorj87Vr6qEQRi11dV9ZpgEhbZIs5/SL+pmhe82gGuMKK/ZDRi4xy4/Jg== X-Received: by 2002:a05:6000:491b:b0:3b5:e244:52f9 with SMTP id ffacd0b85a97d-3b5f35857d0mr12724108f8f.40.1752534605012; Mon, 14 Jul 2025 16:10:05 -0700 (PDT) Date: Mon, 14 Jul 2025 19:10:02 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Fan Ni , Jonathan Cameron Subject: [PULL 87/97] hw/cxl: fix DC extent capacity tracking Message-ID: <6193623faba991085521cb9b5b76b48b8a610403.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535634628116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Fan Ni Per cxl r3.2 Section 9.13.3.3, extent capacity tracking should include extents in different states including added, pending, etc. Before the change, for the in-device extent number tracking purpose, we only have "total_extent_count" defined, which only tracks the number of extents accepted. However, we need to track number of extents in other states also, for now it is extents pending-to-add. To fix that, we introduce a new counter for dynamic capacity "nr_extents_accepted" which explicitly tracks number of the extents accepted by the hosts, and fix "total_extent_count" to include both accepted and pending extents counting. Signed-off-by: Fan Ni Signed-off-by: Jonathan Cameron Message-Id: <20250714174509.1984430-2-Jonathan.Cameron@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/cxl/cxl_device.h | 3 ++- hw/cxl/cxl-mailbox-utils.c | 26 ++++++++++++++++++-------- hw/mem/cxl_type3.c | 1 + 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/include/hw/cxl/cxl_device.h b/include/hw/cxl/cxl_device.h index ed6cd50c67..a151e19da8 100644 --- a/include/hw/cxl/cxl_device.h +++ b/include/hw/cxl/cxl_device.h @@ -618,6 +618,7 @@ struct CXLType3Dev { CXLDCExtentList extents; CXLDCExtentGroupList extents_pending; uint32_t total_extent_count; + uint32_t nr_extents_accepted; uint32_t ext_list_gen_seq; =20 uint8_t num_regions; /* 0-8 regions */ @@ -696,7 +697,7 @@ CXLDCExtentGroup *cxl_insert_extent_to_extent_group(CXL= DCExtentGroup *group, uint16_t shared_seq); void cxl_extent_group_list_insert_tail(CXLDCExtentGroupList *list, CXLDCExtentGroup *group); -void cxl_extent_group_list_delete_front(CXLDCExtentGroupList *list); +uint32_t cxl_extent_group_list_delete_front(CXLDCExtentGroupList *list); void ct3_set_region_block_backed(CXLType3Dev *ct3d, uint64_t dpa, uint64_t len); void ct3_clear_region_block_backed(CXLType3Dev *ct3d, uint64_t dpa, diff --git a/hw/cxl/cxl-mailbox-utils.c b/hw/cxl/cxl-mailbox-utils.c index 299f232f26..0b615ea37a 100644 --- a/hw/cxl/cxl-mailbox-utils.c +++ b/hw/cxl/cxl-mailbox-utils.c @@ -2750,7 +2750,7 @@ static CXLRetCode cmd_dcd_get_dyn_cap_ext_list(const = struct cxl_cmd *cmd, uint16_t out_pl_len, size; CXLDCExtent *ent; =20 - if (start_extent_id > ct3d->dc.total_extent_count) { + if (start_extent_id > ct3d->dc.nr_extents_accepted) { return CXL_MBOX_INVALID_INPUT; } =20 @@ -2761,7 +2761,7 @@ static CXLRetCode cmd_dcd_get_dyn_cap_ext_list(const = struct cxl_cmd *cmd, out_pl_len =3D sizeof(*out) + record_count * sizeof(out->records[0]); =20 stl_le_p(&out->count, record_count); - stl_le_p(&out->total_extents, ct3d->dc.total_extent_count); + stl_le_p(&out->total_extents, ct3d->dc.nr_extents_accepted); stl_le_p(&out->generation_num, ct3d->dc.ext_list_gen_seq); =20 if (record_count > 0) { @@ -2883,16 +2883,20 @@ void cxl_extent_group_list_insert_tail(CXLDCExtentG= roupList *list, QTAILQ_INSERT_TAIL(list, group, node); } =20 -void cxl_extent_group_list_delete_front(CXLDCExtentGroupList *list) +uint32_t cxl_extent_group_list_delete_front(CXLDCExtentGroupList *list) { CXLDCExtent *ent, *ent_next; CXLDCExtentGroup *group =3D QTAILQ_FIRST(list); + uint32_t extents_deleted =3D 0; =20 QTAILQ_REMOVE(list, group, node); QTAILQ_FOREACH_SAFE(ent, &group->list, node, ent_next) { cxl_remove_extent_from_extent_list(&group->list, ent); + extents_deleted++; } g_free(group); + + return extents_deleted; } =20 /* @@ -3011,7 +3015,7 @@ static CXLRetCode cmd_dcd_add_dyn_cap_rsp(const struc= t cxl_cmd *cmd, CXLUpdateDCExtentListInPl *in =3D (void *)payload_in; CXLType3Dev *ct3d =3D CXL_TYPE3(cci->d); CXLDCExtentList *extent_list =3D &ct3d->dc.extents; - uint32_t i; + uint32_t i, num; uint64_t dpa, len; CXLRetCode ret; =20 @@ -3020,7 +3024,8 @@ static CXLRetCode cmd_dcd_add_dyn_cap_rsp(const struc= t cxl_cmd *cmd, } =20 if (in->num_entries_updated =3D=3D 0) { - cxl_extent_group_list_delete_front(&ct3d->dc.extents_pending); + num =3D cxl_extent_group_list_delete_front(&ct3d->dc.extents_pendi= ng); + ct3d->dc.total_extent_count -=3D num; return CXL_MBOX_SUCCESS; } =20 @@ -3051,10 +3056,12 @@ static CXLRetCode cmd_dcd_add_dyn_cap_rsp(const str= uct cxl_cmd *cmd, =20 cxl_insert_extent_to_extent_list(extent_list, dpa, len, NULL, 0); ct3d->dc.total_extent_count +=3D 1; + ct3d->dc.nr_extents_accepted +=3D 1; ct3_set_region_block_backed(ct3d, dpa, len); } /* Remove the first extent group in the pending list */ - cxl_extent_group_list_delete_front(&ct3d->dc.extents_pending); + num =3D cxl_extent_group_list_delete_front(&ct3d->dc.extents_pending); + ct3d->dc.total_extent_count -=3D num; =20 return CXL_MBOX_SUCCESS; } @@ -3160,7 +3167,7 @@ free_and_exit: } *updated_list_size =3D 0; } else { - *updated_list_size =3D ct3d->dc.total_extent_count + cnt_delta; + *updated_list_size =3D ct3d->dc.nr_extents_accepted + cnt_delta; } =20 return ret; @@ -3222,7 +3229,10 @@ static CXLRetCode cmd_dcd_release_dyn_cap(const stru= ct cxl_cmd *cmd, ct3_set_region_block_backed(ct3d, ent->start_dpa, ent->len); cxl_remove_extent_from_extent_list(&updated_list, ent); } - ct3d->dc.total_extent_count =3D updated_list_size; + ct3d->dc.total_extent_count +=3D (updated_list_size - + ct3d->dc.nr_extents_accepted); + + ct3d->dc.nr_extents_accepted =3D updated_list_size; =20 return CXL_MBOX_SUCCESS; } diff --git a/hw/mem/cxl_type3.c b/hw/mem/cxl_type3.c index 94e7274912..f283178d88 100644 --- a/hw/mem/cxl_type3.c +++ b/hw/mem/cxl_type3.c @@ -2076,6 +2076,7 @@ static void qmp_cxl_process_dynamic_capacity_prescrip= tive(const char *path, } if (group) { cxl_extent_group_list_insert_tail(&dcd->dc.extents_pending, group); + dcd->dc.total_extent_count +=3D num_extents; } =20 /* --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535811; cv=none; d=zohomail.com; s=zohoarc; b=aIWoaaOClfyMkflKKjgYWl5ebG/oamT/+YTlE1TqtdiTlsHNLEtuhjp3sJRNm1FGUgZtF5qaSn3iSAyn19dzQpiWqiXIm2ggCviBcXP66sz05FibMAxcE0cFVSjlpEjO/IrQ5A5E0fO9f/dBnsCoo7UCH/B1CfeLl7Y5KPudsgE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535811; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=iMzsCuiK+55U/XfyyU1n4164I7WWpM53lulxxbvT5hg=; b=c0A7LRL5WhFnjxg4zZfq/BCXTjSlA71L/8HyTNanFqFEGdf1uC0/kOQ6yesrt15hBElt6IXSIrPQQoYo/TGF+dhVtrLli6QXoBpiuUpzHV0jiWIC9MVJX2URi6/Cqjf+qz+Fu/qAlQfUEVjWeKSqctBTkTzuhSzuM92NXilVLok= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535811913630.3713467338792; Mon, 14 Jul 2025 16:30:11 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSNf-0006Pk-EW; Mon, 14 Jul 2025 19:14:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJM-0005sV-An for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:26 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJJ-00062X-Qi for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:15 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-341-5WV9DPTkNQKEIzp7onslNA-1; Mon, 14 Jul 2025 19:10:11 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-45626e0d3e1so1112275e9.1 for ; Mon, 14 Jul 2025 16:10:10 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-455f222e4f4sm104527975e9.10.2025.07.14.16.10.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:10:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534612; 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: in-reply-to:in-reply-to:references:references; bh=iMzsCuiK+55U/XfyyU1n4164I7WWpM53lulxxbvT5hg=; b=BiJQhfpTVd4BtEUoDhiVvzYKKp02h++qBZ3HdP3P67ZXAv7mjD1xjUZXh5eCqqnxteGm00 C4MBDTkPO+T4U9DnuHOn6J7nnNBQZQ8Dox77RGN/v7Ro/1kXhLPgz8wUMvpXPWViFkvogU GRN/vgYXXZzzzkIYu8ofuAtIYzSCZNc= X-MC-Unique: 5WV9DPTkNQKEIzp7onslNA-1 X-Mimecast-MFC-AGG-ID: 5WV9DPTkNQKEIzp7onslNA_1752534610 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534609; x=1753139409; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=iMzsCuiK+55U/XfyyU1n4164I7WWpM53lulxxbvT5hg=; b=qfSgSjL+a/0fxon4E4aNYOXizSqhZ2g6LxE1IysTiXvKux84LrA6RXwQcry9rRoC6D XY/Kqdu7DLFXjNt6TKOpiXf0n6w3UI4llt4T9TbF8yKpO+m+AzoqzKrsVt8MZkQ129hD GRAorPB1E1AvgfcP5rjmQCvfjHrqwQazm1HlQkY7VnJKXgq4rdDGH9tghOi2UwpftmY8 UsLJkQ7DOiO2drw8lESotT+JZFEqnVUaKC4cJccilPOaHyZyLLMNDwtOfH5EmlJvRu+U 8L3rw8IzC8j/VVYg+gXS7MjPrEreXTvqRa8tgr/5owsEx8YvFCZirCXTRPTXa9n5Fwm2 B+qw== X-Gm-Message-State: AOJu0Yz0o2O6hpNuFMMArh8QJIX6A0qV2iH9D5I3zeC+17uaybn+TnKM CJa8UeZg1wXM3qoxu+/CsFj3K0aPJRPYJzwKm1eAp4sQ1hVYL/GZED6IUxrX8A6KcgbF893E1C8 FWWXB70Qgsxge6iyToY48oGBUTLQ076BNRNXL+fe8Ivtn5swCpVU1OSI6B4POkG1a9KWNxlXSTP 8Pmy9SH1+C75jEbTVM+jZoDMJs+cZbjs7ydw== X-Gm-Gg: ASbGncsEZs32OYD66abqSSnYrafOnVbRv8xQ9jQoTKFljOlzJ01TzzKiD8EKybBgUE9 GkTaSedHoHd4I8uyKO8xH8Ix236oQl8rV8rXySYfpe6jPFjw3YjcVThBb+rBCv6mKjHyxCXGKJz TcL2jfOlwb4s1iGHL0EPx7pOjJTgpxxWM+ytXh88sai8GEI4wUdy53uHrf89zgHBcNlfQY/YhKl gp4uo85Nvuv3UoD0nnXTzbsgFndtbQqIm0YCq2jqmuR/qozjaYTU7aQFOpsY+sb9H2DNMvXXhLz 3Mz2zPp6dE1TDinzV4+Zhn5kf27RRFS+ X-Received: by 2002:a05:600c:6387:b0:441:b3eb:574e with SMTP id 5b1f17b1804b1-455fffb208fmr88849015e9.5.1752534609158; Mon, 14 Jul 2025 16:10:09 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFmAqTARcSqdyi2afWeAgzoXUFSMsJvsdXD2LL8EatnBz6C6Mo3c7nZmS06XuHPndbJJHwhIw== X-Received: by 2002:a05:600c:6387:b0:441:b3eb:574e with SMTP id 5b1f17b1804b1-455fffb208fmr88848835e9.5.1752534608732; Mon, 14 Jul 2025 16:10:08 -0700 (PDT) Date: Mon, 14 Jul 2025 19:10:05 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Anisa Su , Fan Ni , Jonathan Cameron Subject: [PULL 88/97] hw/cxl: mailbox-utils: 0x5600 - FMAPI Get DCD Info Message-ID: <505870dd7a0fd4756319ddfe6e3a4497b1ebf266.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535814330116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Anisa Su FM DCD Management command 0x5600 implemented per CXL 3.2 Spec Section 7.6.7= .6.1. Reviewed-by: Fan Ni Signed-off-by: Anisa Su Signed-off-by: Jonathan Cameron Message-Id: <20250714174509.1984430-3-Jonathan.Cameron@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/cxl/cxl_device.h | 1 + hw/cxl/cxl-mailbox-utils.c | 59 +++++++++++++++++++++++++++++++++++++ hw/mem/cxl_type3.c | 4 +++ 3 files changed, 64 insertions(+) diff --git a/include/hw/cxl/cxl_device.h b/include/hw/cxl/cxl_device.h index a151e19da8..7eade9cf8a 100644 --- a/include/hw/cxl/cxl_device.h +++ b/include/hw/cxl/cxl_device.h @@ -530,6 +530,7 @@ typedef struct CXLDCRegion { uint32_t dsmadhandle; uint8_t flags; unsigned long *blk_bitmap; + uint64_t supported_blk_size_bitmask; } CXLDCRegion; =20 typedef struct CXLSetFeatureInfo { diff --git a/hw/cxl/cxl-mailbox-utils.c b/hw/cxl/cxl-mailbox-utils.c index 0b615ea37a..3304048922 100644 --- a/hw/cxl/cxl-mailbox-utils.c +++ b/hw/cxl/cxl-mailbox-utils.c @@ -23,6 +23,7 @@ #include "qemu/uuid.h" #include "system/hostmem.h" #include "qemu/range.h" +#include "qapi/qapi-types-cxl.h" =20 #define CXL_CAPACITY_MULTIPLIER (256 * MiB) #define CXL_DC_EVENT_LOG_SIZE 8 @@ -117,6 +118,8 @@ enum { #define GET_PHYSICAL_PORT_STATE 0x1 TUNNEL =3D 0x53, #define MANAGEMENT_COMMAND 0x0 + FMAPI_DCD_MGMT =3D 0x56, + #define GET_DCD_INFO 0x0 }; =20 /* CCI Message Format CXL r3.1 Figure 7-19 */ @@ -3237,6 +3240,52 @@ static CXLRetCode cmd_dcd_release_dyn_cap(const stru= ct cxl_cmd *cmd, return CXL_MBOX_SUCCESS; } =20 +/* CXL r3.2 section 7.6.7.6.1: Get DCD Info (Opcode 5600h) */ +static CXLRetCode cmd_fm_get_dcd_info(const struct cxl_cmd *cmd, + uint8_t *payload_in, + size_t len_in, + uint8_t *payload_out, + size_t *len_out, + CXLCCI *cci) +{ + struct { + uint8_t num_hosts; + uint8_t num_regions_supported; + uint8_t rsvd1[2]; + uint16_t supported_add_sel_policy_bitmask; + uint8_t rsvd2[2]; + uint16_t supported_removal_policy_bitmask; + uint8_t sanitize_on_release_bitmask; + uint8_t rsvd3; + uint64_t total_dynamic_capacity; + uint64_t region_blk_size_bitmasks[8]; + } QEMU_PACKED *out =3D (void *)payload_out; + CXLType3Dev *ct3d =3D CXL_TYPE3(cci->d); + CXLDCRegion *region; + int i; + + out->num_hosts =3D 1; + out->num_regions_supported =3D ct3d->dc.num_regions; + stw_le_p(&out->supported_add_sel_policy_bitmask, + BIT(CXL_EXTENT_SELECTION_POLICY_PRESCRIPTIVE)); + stw_le_p(&out->supported_removal_policy_bitmask, + BIT(CXL_EXTENT_REMOVAL_POLICY_PRESCRIPTIVE)); + out->sanitize_on_release_bitmask =3D 0; + + stq_le_p(&out->total_dynamic_capacity, + ct3d->dc.total_capacity / CXL_CAPACITY_MULTIPLIER); + + for (i =3D 0; i < ct3d->dc.num_regions; i++) { + region =3D &ct3d->dc.regions[i]; + memcpy(&out->region_blk_size_bitmasks[i], + ®ion->supported_blk_size_bitmask, + sizeof(out->region_blk_size_bitmasks[i])); + } + + *len_out =3D sizeof(*out); + return CXL_MBOX_SUCCESS; +} + static const struct cxl_cmd cxl_cmd_set[256][256] =3D { [INFOSTAT][BACKGROUND_OPERATION_ABORT] =3D { "BACKGROUND_OPERATION_ABO= RT", cmd_infostat_bg_op_abort, 0, 0 }, @@ -3350,6 +3399,11 @@ static const struct cxl_cmd cxl_cmd_set_sw[256][256]= =3D { cmd_tunnel_management_cmd, ~0, 0 }, }; =20 +static const struct cxl_cmd cxl_cmd_set_fm_dcd[256][256] =3D { + [FMAPI_DCD_MGMT][GET_DCD_INFO] =3D { "GET_DCD_INFO", + cmd_fm_get_dcd_info, 0, 0 }, +}; + /* * While the command is executing in the background, the device should * update the percentage complete in the Background Command Status Register @@ -3624,7 +3678,12 @@ void cxl_initialize_t3_fm_owned_ld_mctpcci(CXLCCI *c= ci, DeviceState *d, DeviceState *intf, size_t payload_max) { + CXLType3Dev *ct3d =3D CXL_TYPE3(d); + cxl_copy_cci_commands(cci, cxl_cmd_set_t3_fm_owned_ld_mctp); + if (ct3d->dc.num_regions) { + cxl_copy_cci_commands(cci, cxl_cmd_set_fm_dcd); + } cci->d =3D d; cci->intf =3D intf; cxl_init_cci(cci, payload_max); diff --git a/hw/mem/cxl_type3.c b/hw/mem/cxl_type3.c index f283178d88..d898cfd617 100644 --- a/hw/mem/cxl_type3.c +++ b/hw/mem/cxl_type3.c @@ -8,6 +8,7 @@ * * SPDX-License-Identifier: GPL-v2-only */ +#include =20 #include "qemu/osdep.h" #include "qemu/units.h" @@ -634,6 +635,8 @@ static bool cxl_create_dc_regions(CXLType3Dev *ct3d, Er= ror **errp) uint64_t region_len; uint64_t decode_len; uint64_t blk_size =3D 2 * MiB; + /* Only 1 block size is supported for now. */ + uint64_t supported_blk_size_bitmask =3D blk_size; CXLDCRegion *region; MemoryRegion *mr; uint64_t dc_size; @@ -679,6 +682,7 @@ static bool cxl_create_dc_regions(CXLType3Dev *ct3d, Er= ror **errp) .block_size =3D blk_size, /* dsmad_handle set when creating CDAT table entries */ .flags =3D 0, + .supported_blk_size_bitmask =3D supported_blk_size_bitmask, }; ct3d->dc.total_capacity +=3D region->len; region->blk_bitmap =3D bitmap_new(region->len / region->block_size= ); --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535249; cv=none; d=zohomail.com; s=zohoarc; b=nY+zVUQUD0ap7e+SX2KW9LQXefxN0z6d2xXSUnNAYovuMdRmpRQoGuL9tctP1rVdRR+ANlnmrUr5tLnd81WrSd0RyBFbGKcAA2x7en/vJhEC5RrV5GbkZ7E/1x3Kf9mlghnG1CeSqodrMbF8UwRq2S/Azu180ixe3AfbhmRnA3o= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535249; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=z6ig9qRqfwkiCHsf8lh00IHDvF+tRPqYAeXg59c4+Ng=; b=Xm3ECG81QLRRcAo0pQYzxRHrKtfumERcXqZZDivc5Zhihwu409XPAv/nBfhz0fh32c6kT19FOK5ukePcOn3F+5tyBXAigIXhzG49Ym4ImfsM0nIqSsxYJYprS2SF+hy60dG4OBvHgGex9gPhgh3v6yN4MqGLsrpJ7COJ8z4HT7Q= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535249528362.73136741096573; Mon, 14 Jul 2025 16:20:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSMH-00021M-CP; Mon, 14 Jul 2025 19:13:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJQ-0005v0-4r for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:29 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJO-000636-Dr for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:19 -0400 Received: from mail-wm1-f72.google.com (mail-wm1-f72.google.com [209.85.128.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-216-Iya3C_ujNamJgnu0cMwMLg-1; Mon, 14 Jul 2025 19:10:13 -0400 Received: by mail-wm1-f72.google.com with SMTP id 5b1f17b1804b1-455eda09c57so23180375e9.2 for ; Mon, 14 Jul 2025 16:10:13 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e26c8bsm13392519f8f.88.2025.07.14.16.10.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:10:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534617; 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: in-reply-to:in-reply-to:references:references; bh=z6ig9qRqfwkiCHsf8lh00IHDvF+tRPqYAeXg59c4+Ng=; b=ACaGDALd3pC2Q0cDn1EqJKSFU5T0hamZOqO6Jm/NJCGaGSVxiNZii2MSFof9HZfvK7owwC MXKz2I/HYOtiyNvz3il6v8fYc2YZfhPC+r7EwGF/wrHp0ZiHxzHrkTclQcZTV4j9Vd3y5j K//meB9nJf2mD+j3LJ1OJFuXDbDZeNI= X-MC-Unique: Iya3C_ujNamJgnu0cMwMLg-1 X-Mimecast-MFC-AGG-ID: Iya3C_ujNamJgnu0cMwMLg_1752534612 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534612; x=1753139412; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=z6ig9qRqfwkiCHsf8lh00IHDvF+tRPqYAeXg59c4+Ng=; b=DJFY7eGdKJ8K8VEQIvG1pfcmDITwsWeHmrg0EswuHZ41FoatzFYx5l2nR2tsLCH6XB H+FJbsNvH3IIV+xapHeNMfAJp53vblcaKXocGoP+fTNZbY3McpbfNBwMk1OYUETebe/c 8KxwdT4f8vaqP+LAjZukyUAYGx6HDMeimHWYSHkpQO3GIq8Nbify2FvEY6sPHm0GjvjJ HhBYj9/6PcxOr9sjFRQ7gD/xX/nS0uP96h/wJiIbyuJ0z+0kMKNXv+DkMIn/4ya8wI1v YCZY5N9EhzztGUSEj+yhkh9VipNh99WWy/OtgqR9VKuWu3FR5958DRCWqrDpNvApxCQA pPkA== X-Gm-Message-State: AOJu0YxKVDhIFwK5+mMps1E0pHcyAu9JwgsecjP51ii3DWsMK0Ta/0MO VAi5Vhs3n9OyLwQKLciZeWPQDdDgSNNwFiiY6cHGF13jWakx4wqthLVSpcIPVd0txy222rizLqi e7aS6FY/ZDFErIOpPEIegEfZRFpixZnBseKe323oSBZVDwbFb6mwIEa8b9b9Uhseg5dxwmW4P/2 Vhf1t06/IBPhdVVvoO4e1sVBSf8SNGsu2X5A== X-Gm-Gg: ASbGncs7h50QnKMEyWIoH61Ec063SZKXd2DV7XauJOCcvehYuMinbUn0/bbfZzuV9Pw rkVwK8Hp5p9lwegJB7fgnGXYmNuWJOJbV0aame88d3vmtWI008dDaLB9rfjS/doP8hwTfp+HIe8 Ma7VvRBcie8+IDrnej07bkiKLDM++4nirb2yj+32cT9RP1QVIYCBBfgDBQrcHc7/0ppRL5pc+qJ nHRgRIsqbFO2CEm1Rodt5C25RNiJ3U5c3NlEaDOTxOLNAnH5OKnYcSND0tuT7NORlaB/EPzHGiG Oc1Jp5UoBaRwWBs5ZZvn8Y2Q9zB5yv43 X-Received: by 2002:a05:600c:348e:b0:456:24db:2efb with SMTP id 5b1f17b1804b1-45624db321dmr17190645e9.15.1752534611691; Mon, 14 Jul 2025 16:10:11 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEinTC7GlzrmxvU/JeuzzeYkvLwdHpFoX41I5fOl4wtQegcFJeBgD8H1HOQKWFybB1pGvM/aA== X-Received: by 2002:a05:600c:348e:b0:456:24db:2efb with SMTP id 5b1f17b1804b1-45624db321dmr17190415e9.15.1752534611302; Mon, 14 Jul 2025 16:10:11 -0700 (PDT) Date: Mon, 14 Jul 2025 19:10:08 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Anisa Su , Fan Ni , Jonathan Cameron Subject: [PULL 89/97] hw/mem: cxl_type3: Add dsmas_flags to CXLDCRegion struct Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535250763116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Anisa Su Add booleans to DC Region struct to represent dsmas flags (defined in CDAT)= in preparation for the next command, which returns the flags in the next mailb= ox command 0x5601. Reviewed-by: Fan Ni Signed-off-by: Anisa Su Signed-off-by: Jonathan Cameron Message-Id: <20250714174509.1984430-4-Jonathan.Cameron@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/cxl/cxl_device.h | 15 +++++++++++++++ hw/mem/cxl_type3.c | 8 +++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/include/hw/cxl/cxl_device.h b/include/hw/cxl/cxl_device.h index 7eade9cf8a..7e0a66906f 100644 --- a/include/hw/cxl/cxl_device.h +++ b/include/hw/cxl/cxl_device.h @@ -133,6 +133,15 @@ typedef enum { CXL_MBOX_MAX =3D 0x20 } CXLRetCode; =20 +/* r3.2 Section 7.6.7.6.2: Table 7-66: DSMAS Flags Bits */ +typedef enum { + CXL_DSMAS_FLAGS_NONVOLATILE =3D 2, + CXL_DSMAS_FLAGS_SHARABLE =3D 3, + CXL_DSMAS_FLAGS_HW_MANAGED_COHERENCY =3D 4, + CXL_DSMAS_FLAGS_IC_SPECIFIC_DC_MANAGEMENT =3D 5, + CXL_DSMAS_FLAGS_RDONLY =3D 6, +} CXLDSMASFlags; + typedef struct CXLCCI CXLCCI; typedef struct cxl_device_state CXLDeviceState; struct cxl_cmd; @@ -531,6 +540,12 @@ typedef struct CXLDCRegion { uint8_t flags; unsigned long *blk_bitmap; uint64_t supported_blk_size_bitmask; + /* Following bools make up dsmas flags, as defined in the CDAT */ + bool nonvolatile; + bool sharable; + bool hw_managed_coherency; + bool ic_specific_dc_management; + bool rdonly; } CXLDCRegion; =20 typedef struct CXLSetFeatureInfo { diff --git a/hw/mem/cxl_type3.c b/hw/mem/cxl_type3.c index d898cfd617..6b0889c9ae 100644 --- a/hw/mem/cxl_type3.c +++ b/hw/mem/cxl_type3.c @@ -226,10 +226,16 @@ static int ct3_build_cdat_table(CDATSubHeader ***cdat= _table, void *priv) * future. */ for (i =3D 0; i < ct3d->dc.num_regions; i++) { + ct3d->dc.regions[i].nonvolatile =3D false; + ct3d->dc.regions[i].sharable =3D false; + ct3d->dc.regions[i].hw_managed_coherency =3D false; + ct3d->dc.regions[i].ic_specific_dc_management =3D false; + ct3d->dc.regions[i].rdonly =3D false; ct3_build_cdat_entries_for_mr(&(table[cur_ent]), dsmad_handle++, ct3d->dc.regions[i].len, - false, true, region_base); + ct3d->dc.regions[i].nonvolatile, + true, region_base); ct3d->dc.regions[i].dsmadhandle =3D dsmad_handle - 1; =20 cur_ent +=3D CT3_CDAT_NUM_ENTRIES; --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535554; cv=none; d=zohomail.com; s=zohoarc; b=isoA2YaSAcX315cr8+Ia2HO6hNi2l+pSAFL2ayydzz7CNiVUcPm5RHUhPX+cu8KbI8GJ3TYlsDGqdf41QbI/Mgfa1gBm4p1X/1yN68sYBTE0wIsuOwxaRAF2k3NpVFFASGsF6gOiVtvJCDuATP3IMtsYIejcE3wAvgSTN+I3pO4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535554; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=LQsMSXn3O6fJ5Qu14+HzAkdfpt7nRejvAZC4T7sYHrY=; b=dOJ7DblhI7WvOpDX/jQD58Ecq9NN7YnWN3uR1LaUmJG13ASpfMHljaxQSCDHynLDr3cMsKgH4WjsSnDHrj5+ZlTbHVO4su5FF/q35PjhOjt1/uJ5GrjRPNqmGGNb9c1jGgn15OuQ9Dna9+MVK7rWPFHGxtpng21F7x2ens+CxWY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535554989104.59157527952686; Mon, 14 Jul 2025 16:25:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSMd-00047R-F9; Mon, 14 Jul 2025 19:13:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJQ-0005v1-7H for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:29 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJO-000630-Ao for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:19 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-253-ehCD-Ga1Pgi8gz3ZVxeWFg-1; Mon, 14 Jul 2025 19:10:16 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-45611579300so13303465e9.0 for ; Mon, 14 Jul 2025 16:10:15 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e0d76fsm13835390f8f.64.2025.07.14.16.10.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:10:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534617; 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: in-reply-to:in-reply-to:references:references; bh=LQsMSXn3O6fJ5Qu14+HzAkdfpt7nRejvAZC4T7sYHrY=; b=DqI4NJlZl53ZJHfHnc3/zPZSpdMjiN7sgfaC4UYQMZzxO/h9r7E+3/BM+fpI3xHyQxZm/4 exnvQeqAEK2nfeNs7L0eR2Mj4V9GMevFX6TDv9O5Jjsx2Z9dmujW9+1u62UhDfLFaVi6aO zFEMxUaUy/N9uoDyUUq/1yMD81b0Kdc= X-MC-Unique: ehCD-Ga1Pgi8gz3ZVxeWFg-1 X-Mimecast-MFC-AGG-ID: ehCD-Ga1Pgi8gz3ZVxeWFg_1752534615 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534614; x=1753139414; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=LQsMSXn3O6fJ5Qu14+HzAkdfpt7nRejvAZC4T7sYHrY=; b=sSb4mSR+l5nK/EXSatJYOi5amp8A6jD/sLz1R3aNtGQw3jwhD8PXfnCzWjERA7K7ha +I4eNoWOgROnzber+OPvZ9SKl+LolOqC3zWrH+VdeMgOXxkdq50fEnU5FVEsx8nlkHM8 V7/02Ud0LCmXp/SXTppZ/3HokXoRTKvsw8x4lLLyo/voQA6Q4f61JxStK74HjmPcuhkD aFfnV/eFO6ue9rgkntSnbHvUq6svmHVefBYQpNH8iQr1czKQz1sDgE4OtGR21kmJ82e6 fd/4iFGGukKwhbEujothy0lhffTga3B3g/viKMYxDTlcv4F/HrHD46JVVREKXByhxieo PY8w== X-Gm-Message-State: AOJu0Yz4gy0rMLDPuLHMDjr6IyUH0wqjK6YlhFTypFI7dVRMYapn3adB V12jBTUSX8H5d1tQ1TXDW4mYArVwM6dvcp/4pZweInSUOsxKnYRxQzRAiNHKdh+z2cbHaelg0KK dX3s8VYPannSqbOsQHBmpSdpMBfB71Zy0e0XgzAOX8OVewpUz+R99t0tgRw0kCMpYnS3V+XSE8n rV6F4zt7JtqPNkPIYdHAkYhiobuJ6p97IF5w== X-Gm-Gg: ASbGncsinev3a0ukGbrRtpO69WpsAW90K6mO/5y60gTu5fOcc3tpU8AoJpHdbVHwy0l s5XbQxp5iocwsfzOgUkNYMjdAUTsF0H02W8M2WjaRQXcojMQbrpPO1c1p2wzhsQjn6DSdPh80Zm hdCvrLV775KXbuJNalV8YjZxg2ZzbQOCyAKDvJnA5OfOs2U1hgfjMJxbYrEW40j08jTD+DftIVv l/fBwN5jjaEB0FGmR+Q+jCVvskaHvItB5T1jUqHOHZxwGlcBH6ALfb5ki1CTD2A+bYGAtjuIYPT fikMfbc8MoJKwIHFe/ucIXppS5NWOmyp X-Received: by 2002:a05:6000:18a5:b0:3a6:d5fd:4687 with SMTP id ffacd0b85a97d-3b5f2dc2906mr8623572f8f.18.1752534614261; Mon, 14 Jul 2025 16:10:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IGftFNumpmK0tJcuQI0+ugaBC56COUS4kShCPbFHqpW93kxGcMXvhqYdopb9wztBVHO2JzLTQ== X-Received: by 2002:a05:6000:18a5:b0:3a6:d5fd:4687 with SMTP id ffacd0b85a97d-3b5f2dc2906mr8623557f8f.18.1752534613695; Mon, 14 Jul 2025 16:10:13 -0700 (PDT) Date: Mon, 14 Jul 2025 19:10:11 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Anisa Su , Fan Ni , Jonathan Cameron Subject: [PULL 90/97] hw/cxl: mailbox-utils: 0x5601 - FMAPI Get Host Region Config Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535556591116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Anisa Su FM DCD Management command 0x5601 implemented per CXL r3.2 Spec Section 7.6.= 7.6.2 Reviewed-by: Fan Ni Signed-off-by: Anisa Su Signed-off-by: Jonathan Cameron Message-Id: <20250714174509.1984430-5-Jonathan.Cameron@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/cxl/cxl-mailbox-utils.c | 106 +++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) diff --git a/hw/cxl/cxl-mailbox-utils.c b/hw/cxl/cxl-mailbox-utils.c index 3304048922..bf1710b251 100644 --- a/hw/cxl/cxl-mailbox-utils.c +++ b/hw/cxl/cxl-mailbox-utils.c @@ -120,6 +120,7 @@ enum { #define MANAGEMENT_COMMAND 0x0 FMAPI_DCD_MGMT =3D 0x56, #define GET_DCD_INFO 0x0 + #define GET_HOST_DC_REGION_CONFIG 0x1 }; =20 /* CCI Message Format CXL r3.1 Figure 7-19 */ @@ -3286,6 +3287,109 @@ static CXLRetCode cmd_fm_get_dcd_info(const struct = cxl_cmd *cmd, return CXL_MBOX_SUCCESS; } =20 +static void build_dsmas_flags(uint8_t *flags, CXLDCRegion *region) +{ + *flags =3D 0; + + if (region->nonvolatile) { + *flags |=3D BIT(CXL_DSMAS_FLAGS_NONVOLATILE); + } + if (region->sharable) { + *flags |=3D BIT(CXL_DSMAS_FLAGS_SHARABLE); + } + if (region->hw_managed_coherency) { + *flags |=3D BIT(CXL_DSMAS_FLAGS_HW_MANAGED_COHERENCY); + } + if (region->ic_specific_dc_management) { + *flags |=3D BIT(CXL_DSMAS_FLAGS_IC_SPECIFIC_DC_MANAGEMENT); + } + if (region->rdonly) { + *flags |=3D BIT(CXL_DSMAS_FLAGS_RDONLY); + } +} + +/* + * CXL r3.2 section 7.6.7.6.2: + * Get Host DC Region Configuration (Opcode 5601h) + */ +static CXLRetCode cmd_fm_get_host_dc_region_config(const struct cxl_cmd *c= md, + uint8_t *payload_in, + size_t len_in, + uint8_t *payload_out, + size_t *len_out, + CXLCCI *cci) +{ + struct { + uint16_t host_id; + uint8_t region_cnt; + uint8_t start_rid; + } QEMU_PACKED *in =3D (void *)payload_in; + struct { + uint16_t host_id; + uint8_t num_regions; + uint8_t regions_returned; + struct { + uint64_t base; + uint64_t decode_len; + uint64_t region_len; + uint64_t block_size; + uint8_t flags; + uint8_t rsvd1[3]; + uint8_t sanitize; + uint8_t rsvd2[3]; + } QEMU_PACKED records[]; + } QEMU_PACKED *out =3D (void *)payload_out; + struct { + uint32_t num_extents_supported; + uint32_t num_extents_available; + uint32_t num_tags_supported; + uint32_t num_tags_available; + } QEMU_PACKED *extra_out; + CXLType3Dev *ct3d =3D CXL_TYPE3(cci->d); + uint16_t record_count, out_pl_len, i; + + if (in->start_rid >=3D ct3d->dc.num_regions) { + return CXL_MBOX_INVALID_INPUT; + } + record_count =3D MIN(ct3d->dc.num_regions - in->start_rid, in->region_= cnt); + + out_pl_len =3D sizeof(*out) + record_count * sizeof(out->records[0]); + extra_out =3D (void *)out + out_pl_len; + out_pl_len +=3D sizeof(*extra_out); + + assert(out_pl_len <=3D CXL_MAILBOX_MAX_PAYLOAD_SIZE); + + stw_le_p(&out->host_id, 0); + out->num_regions =3D ct3d->dc.num_regions; + out->regions_returned =3D record_count; + + for (i =3D 0; i < record_count; i++) { + stq_le_p(&out->records[i].base, + ct3d->dc.regions[in->start_rid + i].base); + stq_le_p(&out->records[i].decode_len, + ct3d->dc.regions[in->start_rid + i].decode_len / + CXL_CAPACITY_MULTIPLIER); + stq_le_p(&out->records[i].region_len, + ct3d->dc.regions[in->start_rid + i].len); + stq_le_p(&out->records[i].block_size, + ct3d->dc.regions[in->start_rid + i].block_size); + build_dsmas_flags(&out->records[i].flags, + &ct3d->dc.regions[in->start_rid + i]); + /* Sanitize is bit 0 of flags. */ + out->records[i].sanitize =3D + ct3d->dc.regions[in->start_rid + i].flags & BIT(0); + } + + stl_le_p(&extra_out->num_extents_supported, CXL_NUM_EXTENTS_SUPPORTED); + stl_le_p(&extra_out->num_extents_available, CXL_NUM_EXTENTS_SUPPORTED - + ct3d->dc.total_extent_count); + stl_le_p(&extra_out->num_tags_supported, CXL_NUM_TAGS_SUPPORTED); + stl_le_p(&extra_out->num_tags_available, CXL_NUM_TAGS_SUPPORTED); + + *len_out =3D out_pl_len; + return CXL_MBOX_SUCCESS; +} + static const struct cxl_cmd cxl_cmd_set[256][256] =3D { [INFOSTAT][BACKGROUND_OPERATION_ABORT] =3D { "BACKGROUND_OPERATION_ABO= RT", cmd_infostat_bg_op_abort, 0, 0 }, @@ -3402,6 +3506,8 @@ static const struct cxl_cmd cxl_cmd_set_sw[256][256] = =3D { static const struct cxl_cmd cxl_cmd_set_fm_dcd[256][256] =3D { [FMAPI_DCD_MGMT][GET_DCD_INFO] =3D { "GET_DCD_INFO", cmd_fm_get_dcd_info, 0, 0 }, + [FMAPI_DCD_MGMT][GET_HOST_DC_REGION_CONFIG] =3D { "GET_HOST_DC_REGION_= CONFIG", + cmd_fm_get_host_dc_region_config, 4, 0 }, }; =20 /* --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535827; cv=none; d=zohomail.com; s=zohoarc; b=bGqiMt7yO2+Kyxyr2yt2+xPYa2Ry0p81CHvLsYbMuVYEGDQskMa1cdfVZVhmx3NPpj85umgYYV75k6azuGgcsWJqWhChsGzBG2s/5ESSotXhCEF6x47DLR60El89DFTBgJvCGJqgBVDxhd8tZhX/beqtavAfjLM+AK0bsQaIY+M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535827; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=h9YR5w450ZjJ0pBgGMl41SlLEhDoh07LQFY/a0XBD2c=; b=c6o4SGpGAcYwci7CSS0/wHBxkz+wfKHdeCg4Oq7ViEshU6OzMPgrTv9kRD+1UnpGSdCqjDvBqfCMNrJnMTW2r0QU97IJ4r0OdUkkIAndzue3ne5flYL7+hKrvDcUBNng0BywjgoIo+p3NBRr741x121sc0/QY6LFjDF1gQY6G88= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535827219944.7404101192681; Mon, 14 Jul 2025 16:30:27 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSMd-0004A9-KM; Mon, 14 Jul 2025 19:13:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJS-000600-L6 for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:31 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJR-00063E-0U for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:22 -0400 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-365-4eJClQlBPXu-qbMjEXMKlg-1; Mon, 14 Jul 2025 19:10:18 -0400 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-3a50049f8eeso2120717f8f.3 for ; Mon, 14 Jul 2025 16:10:17 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8dc3a54sm13747494f8f.39.2025.07.14.16.10.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:10:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534619; 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: in-reply-to:in-reply-to:references:references; bh=h9YR5w450ZjJ0pBgGMl41SlLEhDoh07LQFY/a0XBD2c=; b=W5Jl/npBER6KTJayFrIXR0Y3Y0gv4IAiUoqR6ZBfmErOpLPDMFARfoCGQ/hIvjONLn1jp2 JCaGvnXgpzO0LmunFuUoOiKXN3Yvan04vTxoBpJ4JwQpc35mp2hTdKqPbyIqkoV5bxTyP4 /AWpUi3Qzb/Cv/UBrth13ndlYvO5Dwo= X-MC-Unique: 4eJClQlBPXu-qbMjEXMKlg-1 X-Mimecast-MFC-AGG-ID: 4eJClQlBPXu-qbMjEXMKlg_1752534617 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534616; x=1753139416; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=h9YR5w450ZjJ0pBgGMl41SlLEhDoh07LQFY/a0XBD2c=; b=m/FMkCY5l/YXWSxtIAd+dmV3UZYd7BwEilzYcEE/+2VYD+ahbCunRQqjaPQYbpvLyP EmG7t26xjIUByvajmA015A3KHp1yV162vl0Ht/D50KGZNx/U5k27Pt9da8ZflE9LcC2C GepFgtzPMlC4IAPGbDHBnFItPZJIBjfEp9NCKJlwNWySfVZQtkjECxSs7kwOt6Mxiv2h OxJt4zMBUERdPfGYCxmqhIUwIYjLkrzXeQC6JNI2iHji+3MY1D91bGKIjtPejlzcuk7i 4XT4gsAsW0ZpWQPxvcDElyw/FbEaEoAoilLvApJHdGh7Jq5eQKeTudfwkPyYc79UnpHV K+1A== X-Gm-Message-State: AOJu0YxNGXKFqVRp5qpbD4gcjKhixlaDcMgY/Ml+vX0g6gzo9zxwBICS x9hwGO10Ff52EdPtR3+upp+hH2uWthYWCqKdLeKtpw8mANh0VOQbK9CqhDQ121kdVQmf9TctXUn Y1suWQB5MdvoeyOzttDYtxMzoicWNMfeaFuThmDJmTGlttI3OnLcl7nw13+BCbEJBmn25+f1yJK COMSuPSSUdcy22RXUcVTUJT5GqYaFbN/9+Ug== X-Gm-Gg: ASbGncvZ4N1nk5JUVb65EjC5mQDbXuCcfJYQmIoFmFIrb/mcESx6Kz285ZUt2TuAAWF e0tWoRJP3hhRFV1IBzBklvb4mvwgxAsAh1rpLNtTZJZBB5TltgIsN/UzxjcQP5TpUjKE9QK1juz mkp+aR9mwl272FJR3NrbpGWRJzsEi5gl9I2W2Phb9+pjQ0yLCip/YUgx9GWxPlj8xAVq37ZQBc1 OYqnRyq6RDnIskgUyDE+lE++iFLzeqRN4uE+Fg3KSb1HgvEi8AQEU6QUuIApJvxbhk3Ob6zyfKh FtO2cPRlFWWiJHV3NPinD935xRyIrbMV X-Received: by 2002:a05:6000:d12:b0:3a5:8d0b:d0b8 with SMTP id ffacd0b85a97d-3b5f18e7af8mr10881984f8f.54.1752534616622; Mon, 14 Jul 2025 16:10:16 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEyaJCJ6DeYwyDTrWsLhB1aMaEjo9ElFl2Uj0Z0y5ylSRUUqZJ1jGH7FkjN8RhDftwYEXuDaQ== X-Received: by 2002:a05:6000:d12:b0:3a5:8d0b:d0b8 with SMTP id ffacd0b85a97d-3b5f18e7af8mr10881967f8f.54.1752534616188; Mon, 14 Jul 2025 16:10:16 -0700 (PDT) Date: Mon, 14 Jul 2025 19:10:13 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Anisa Su , Fan Ni , Jonathan Cameron Subject: [PULL 91/97] hw/cxl: Move definition for dynamic_capacity_uuid and enum for DC event types to header Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535828377116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Anisa Su Move definition/enum to cxl_events.h for shared use in next patch Reviewed-by: Fan Ni Signed-off-by: Anisa Su Signed-off-by: Jonathan Cameron Message-Id: <20250714174509.1984430-6-Jonathan.Cameron@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/cxl/cxl_events.h | 15 +++++++++++++++ hw/mem/cxl_type3.c | 15 --------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/include/hw/cxl/cxl_events.h b/include/hw/cxl/cxl_events.h index 38cadaa0f3..758b075a64 100644 --- a/include/hw/cxl/cxl_events.h +++ b/include/hw/cxl/cxl_events.h @@ -184,4 +184,19 @@ typedef struct CXLEventDynamicCapacity { uint32_t tags_avail; } QEMU_PACKED CXLEventDynamicCapacity; =20 +/* CXL r3.1 Table 8-50: Dynamic Capacity Event Record */ +static const QemuUUID dynamic_capacity_uuid =3D { + .data =3D UUID(0xca95afa7, 0xf183, 0x4018, 0x8c, 0x2f, + 0x95, 0x26, 0x8e, 0x10, 0x1a, 0x2a), +}; + +typedef enum CXLDCEventType { + DC_EVENT_ADD_CAPACITY =3D 0x0, + DC_EVENT_RELEASE_CAPACITY =3D 0x1, + DC_EVENT_FORCED_RELEASE_CAPACITY =3D 0x2, + DC_EVENT_REGION_CONFIG_UPDATED =3D 0x3, + DC_EVENT_ADD_CAPACITY_RSP =3D 0x4, + DC_EVENT_CAPACITY_RELEASED =3D 0x5, +} CXLDCEventType; + #endif /* CXL_EVENTS_H */ diff --git a/hw/mem/cxl_type3.c b/hw/mem/cxl_type3.c index 6b0889c9ae..52d3910ed9 100644 --- a/hw/mem/cxl_type3.c +++ b/hw/mem/cxl_type3.c @@ -1876,21 +1876,6 @@ void qmp_cxl_inject_memory_module_event(const char *= path, CxlEventLog log, } } =20 -/* CXL r3.1 Table 8-50: Dynamic Capacity Event Record */ -static const QemuUUID dynamic_capacity_uuid =3D { - .data =3D UUID(0xca95afa7, 0xf183, 0x4018, 0x8c, 0x2f, - 0x95, 0x26, 0x8e, 0x10, 0x1a, 0x2a), -}; - -typedef enum CXLDCEventType { - DC_EVENT_ADD_CAPACITY =3D 0x0, - DC_EVENT_RELEASE_CAPACITY =3D 0x1, - DC_EVENT_FORCED_RELEASE_CAPACITY =3D 0x2, - DC_EVENT_REGION_CONFIG_UPDATED =3D 0x3, - DC_EVENT_ADD_CAPACITY_RSP =3D 0x4, - DC_EVENT_CAPACITY_RELEASED =3D 0x5, -} CXLDCEventType; - /* * Check whether the range [dpa, dpa + len - 1] has overlaps with extents = in * the list. --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535055; cv=none; d=zohomail.com; s=zohoarc; b=IpBG1EuEcBrxdEP3u9moho5KfvJILOm0kKSKeoVnVmnOwztfPZ4sg9B8ZaGNV0gfv0NGhHRgHpTbW/6e5jupNlqzhAk5kZArgPqudzdHFcqqA0Z/OKq6hy/8GrM/qOK0cymjIgN96FAn1UkFvE1M4q7vKVqe2zbFPpJ4hiCEQ/E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535055; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=xH0Hadx8VDWbsC99yPU6FzlCEOXY/KFNLOZusRRYw4I=; b=Vn4kSuk4iEQWDo1onSkJKrYZVZgD7Jsn4NqmQ3YgWtvK4XbSd9CAC5Dw71lhUGWa5NaHJG3p5YMRocuLmO9Njma7eoY2BTSqYpyh1+O9yoP2DsPKCCX2PC19e8OipoEb5uvsN4SotY4soQcO1xU8fIIwmrD2k3dikbv63XrBIKo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 175253505567135.640642610202804; Mon, 14 Jul 2025 16:17:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSMS-00035Y-O6; Mon, 14 Jul 2025 19:13:28 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJW-00061g-Mo for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:33 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJU-00063l-Pu for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:26 -0400 Received: from mail-wr1-f69.google.com (mail-wr1-f69.google.com [209.85.221.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-319-qmfRLH4rO0atdoYcovNDBQ-1; Mon, 14 Jul 2025 19:10:21 -0400 Received: by mail-wr1-f69.google.com with SMTP id ffacd0b85a97d-3a4ff581df3so1964291f8f.1 for ; Mon, 14 Jul 2025 16:10:21 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-456178ace19sm54583895e9.19.2025.07.14.16.10.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:10:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534622; 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: in-reply-to:in-reply-to:references:references; bh=xH0Hadx8VDWbsC99yPU6FzlCEOXY/KFNLOZusRRYw4I=; b=OdjMCkK6QKGuu7HKWzyTk0TIrAIhM9eJ+gnvEbb/LdVt9y2jMuv6sS9h1jEM+PPNCCuwJR yoRhN+J+IbEjWeJyBd5/zKdqW+SsFnjKBkeRQIvnAn5ZAyoowKTkpGIUYLXA7Y/uVLzqrX U8B/8I0DjlGiZ33nFCNB8sw5wp8/Nw0= X-MC-Unique: qmfRLH4rO0atdoYcovNDBQ-1 X-Mimecast-MFC-AGG-ID: qmfRLH4rO0atdoYcovNDBQ_1752534620 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534620; x=1753139420; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=xH0Hadx8VDWbsC99yPU6FzlCEOXY/KFNLOZusRRYw4I=; b=O7V/EK0tZ+hDfn5WmoKXmJVw8H4gqOLtBRY7bLfAPBnIFJFCkY5WdheYhjBBccxVpP USAi79wnedMpp/XnjTdVfvVD3ZLBb8p/7G3FNz7wfIxEutY/Q8TtZRRa5AhiCy9uBaWN Ld5QgM//jCo8pF3NeSoVG8rr44DsVSVUp4EmC6Av9YVi3Cvbl8ZCSlwqtAE7LwJFHTxJ cv2WiQahYQbWqjGgQdUFPEt01RwaVI61DthU3U5ueZsKAbHy1AQL2ecpClxiaF1yhGN0 ksFZPKI4TceH5fgSXVX4X2lWImv3/kYxbsh2921/w9dssd8DmIbnri8X9+vPjl/6Saw5 +rew== X-Gm-Message-State: AOJu0YxyW7JlNZAjY1/l4NdNEtXCwTeRYhuMB0tPQ1JaodEKndYvEwTX NskjuVFGttz1yCMo3IYhlpqXlD3t84FwDeSfG5zORhRH0fhbjNQnIrHrt4FVrOVzLKMhhyjb7uC T2LdgBxpPzPknRk226K4sAP5Txv/SE4cymjTk8OECOhsCotmQFijR0Cl2YW/j+chQTHzwvX38WF +zmG+jHzPqsQX+R/clKXuShuZItf/yRSrHOg== X-Gm-Gg: ASbGncsxgnX1ZzAE0KOy10yU3NIUpB2ZvRXWEIh/d3z2hJ7VrA+2LMHHkIGOA/VGE/y 2OLU3ZSXh/tYQ5q2XG6kmVCO5a6udbdxfY8pephGohTz71ztQG8nhqPf7NnCDnr+mWOJnizxw81 ePZcQIkyjcVQZ/NivAvDyws+uiJ+h3UdxdTxLDqiEcO+cCd6hWzyTW51m7DvrrEKPop5H/fyep1 S2/EeQ1+8AUkjlk36fSyNsAhKOa9tcHGUc4a3PK6BEeL2POuVfpTSm4JhIcQcyRsSh6DlidmXHs n64CvvWOXwWxGlGWr0/Z7tCexWACC8pH X-Received: by 2002:a5d:5f86:0:b0:3b5:e6bf:97b3 with SMTP id ffacd0b85a97d-3b6095203bemr1064112f8f.4.1752534619817; Mon, 14 Jul 2025 16:10:19 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFntv/Un948yZlYBcCDPEYqwwzA2OgWsygeZ21LVv18doLG0rJLdzwU3vMCX0O8EAxaGd0Y6A== X-Received: by 2002:a5d:5f86:0:b0:3b5:e6bf:97b3 with SMTP id ffacd0b85a97d-3b6095203bemr1064093f8f.4.1752534619322; Mon, 14 Jul 2025 16:10:19 -0700 (PDT) Date: Mon, 14 Jul 2025 19:10:16 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Anisa Su , Fan Ni , Jonathan Cameron Subject: [PULL 92/97] hw/mem: cxl_type3: Add DC Region bitmap lock Message-ID: <69fd70566d15188681b9b2c51fb799e030e287e6.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535056988116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Anisa Su Add a lock on the bitmap of each CXLDCRegion in preparation for the next patch which implements FMAPI Set DC Region Configuration. This command can modify the block size, which means the region's bitmap must be updated accordingly. The lock becomes necessary when commands that add/release extents (meaning they update the bitmap too) are enabled on a different CCI than the CCI on which the FMAPI commands are enabled. Reviewed-by: Fan Ni Signed-off-by: Anisa Su Signed-off-by: Jonathan Cameron Message-Id: <20250714174509.1984430-7-Jonathan.Cameron@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/cxl/cxl_device.h | 1 + hw/mem/cxl_type3.c | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/include/hw/cxl/cxl_device.h b/include/hw/cxl/cxl_device.h index 7e0a66906f..42ae5b7479 100644 --- a/include/hw/cxl/cxl_device.h +++ b/include/hw/cxl/cxl_device.h @@ -540,6 +540,7 @@ typedef struct CXLDCRegion { uint8_t flags; unsigned long *blk_bitmap; uint64_t supported_blk_size_bitmask; + QemuMutex bitmap_lock; /* Following bools make up dsmas flags, as defined in the CDAT */ bool nonvolatile; bool sharable; diff --git a/hw/mem/cxl_type3.c b/hw/mem/cxl_type3.c index 52d3910ed9..a7a1857a0c 100644 --- a/hw/mem/cxl_type3.c +++ b/hw/mem/cxl_type3.c @@ -692,6 +692,7 @@ static bool cxl_create_dc_regions(CXLType3Dev *ct3d, Er= ror **errp) }; ct3d->dc.total_capacity +=3D region->len; region->blk_bitmap =3D bitmap_new(region->len / region->block_size= ); + qemu_mutex_init(®ion->bitmap_lock); } QTAILQ_INIT(&ct3d->dc.extents); QTAILQ_INIT(&ct3d->dc.extents_pending); @@ -1020,6 +1021,7 @@ void ct3_set_region_block_backed(CXLType3Dev *ct3d, u= int64_t dpa, return; } =20 + QEMU_LOCK_GUARD(®ion->bitmap_lock); bitmap_set(region->blk_bitmap, (dpa - region->base) / region->block_si= ze, len / region->block_size); } @@ -1046,6 +1048,7 @@ bool ct3_test_region_block_backed(CXLType3Dev *ct3d, = uint64_t dpa, * if bits between [dpa, dpa + len) are all 1s, meaning the DPA range = is * backed with DC extents, return true; else return false. */ + QEMU_LOCK_GUARD(®ion->bitmap_lock); return find_next_zero_bit(region->blk_bitmap, nr + nbits, nr) =3D=3D n= r + nbits; } =20 @@ -1067,6 +1070,7 @@ void ct3_clear_region_block_backed(CXLType3Dev *ct3d,= uint64_t dpa, =20 nr =3D (dpa - region->base) / region->block_size; nbits =3D len / region->block_size; + QEMU_LOCK_GUARD(®ion->bitmap_lock); bitmap_clear(region->blk_bitmap, nr, nbits); } =20 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535419; cv=none; d=zohomail.com; s=zohoarc; b=UOdBE9nKj5tiR0qLu/A31V37sOb7p6a50mxGcTnveeVeYpBTrX6vs+uo2A6+bryZ5TqzjIL2IZNKECFENR4Z6JBqiWzLjJ7Ms8XxO6xcC8llG5w8qGscnNevuIbOfgHCahHw0awEdswOqvSDilcA86AyOecRVHTvawHVf9zyyMI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535419; 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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=0emX3foBSaMfgiHljy/XlvaxHB8yz/2mJJkSgtv0EAA=; b=NI3InqAN50enlGOcuCCqLvi8LiL4B5LcmcIqdXcwHnqSy8KWnUu8Q0S1mNoK7Sk2j5tmiQoFR0JEmpL9ttADYqpzIO2MzfmAnXZKIMapbXaz+ND82MlP1TEW+20GIj6PO0d/r/xV7Mfxq3t7egNF4rPSQHHksWFTla4KfQD6Xaw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535419569315.819640170066; Mon, 14 Jul 2025 16:23:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSMX-0003c1-C2; Mon, 14 Jul 2025 19:13:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJX-00061r-Px for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:33 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJV-00063x-5H for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:27 -0400 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-664-E2FnStoYMW2rkYELmxUqBQ-1; Mon, 14 Jul 2025 19:10:23 -0400 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3a4eee2398bso2324268f8f.1 for ; Mon, 14 Jul 2025 16:10:23 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e26938sm13407891f8f.89.2025.07.14.16.10.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:10:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534624; 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=0emX3foBSaMfgiHljy/XlvaxHB8yz/2mJJkSgtv0EAA=; b=Z+DWzhXsoURcVKOACl9Z+CwMz6j8gumSrp3ztHrnmxlnWY8YVpDcZr5mFznG0j14/fjn2k slHDtoDRoWenXSu+ao0qBttjzTvXVzlfbcWcGAEnaCLLwyzqRLYv61xqGqYCrgqL5BpqQE m/MGRS+Q0Oiq5VGalTT9mIHNkIdfWtw= X-MC-Unique: E2FnStoYMW2rkYELmxUqBQ-1 X-Mimecast-MFC-AGG-ID: E2FnStoYMW2rkYELmxUqBQ_1752534622 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534622; x=1753139422; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=0emX3foBSaMfgiHljy/XlvaxHB8yz/2mJJkSgtv0EAA=; b=hMnUaxJxSDtpTJ2pqrKsaLoB2LZHOoVGO0Obzu9QkmgvEBsXBVl0svxMGlGGOaQvMJ ABDeI6wGWhT/lRfiDYmiYwlvlL+PjrBztKdO2QVK+KKduT9Ak9vsyLpMF2vIeLZ1/NDW Rz5awvk1pf4zR8MEWX7jT1JjnOV34zbpQEjOaejv1Qs2x7qS/HQzRArcvOpeWamgYQlU wZDkr1mnkk+uGwqKL1kxVKlZMi8jv+uqxytXmQbKzxYN+U+k4r6PSwAlbZH5ulo87S3U tqziBmFQVZVRHjuT/2PJM5Jm18gpn6taXKEALx46NOYSEtpQVVux8RK1jklOjjNDuhQy X+HQ== X-Gm-Message-State: AOJu0Yz8+QbfUVU6DrwUtx6znIxKwqtfOoTar0r3FCQgsKEydzYY8nll GfOY+FnObgBfSqLmG9fHTosSJ1Pi4CQjZg7uOuCROEDv8zBrv7yzu7qZSg36N2LZLIgio0/jQW5 JsQ9QMXZBYHih+HtOxoLbw56cKBa3WkduJpD30SbXVKhXoBSg25Jq1MqKd2+ROJpn+NjkxfLC0R t+cEng0D/wTluah/TXGuwZIepjvq5C6VeqDQ== X-Gm-Gg: ASbGncshZMofSajnxXmbL81eCatmmJhhhDt8jZrgf2PfRHHjMGSnhy2veHzsVhkOSmQ dDkEWJtGCwstPFKyfZaYwUuEiNOd+LZxgzRcOTHiMIbb8sbZ1+8eKQuZx8Bn1GrtuLkpZNvKsrH 0CeVLlXSrakMPiD8plJVOz4anlH4CJ7vEq+Jmu7wseHxqhI1NJag8S0tEFDKMUd+kvMDbH/LUNa Bo00f5S015asQJBnuSq5jOyGdAGzcmxt9sik+RhhbuZnzbHFR7dWejchYjFj/10eIbVLaQN7RoF z1NGSWull1HwKUtEPJw09QxyxdYVlkvc X-Received: by 2002:a05:6000:4025:b0:3b4:9b82:d432 with SMTP id ffacd0b85a97d-3b5f338ff26mr11358435f8f.0.1752534621722; Mon, 14 Jul 2025 16:10:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IESPjNHlATpk2d0DtlU8n6DPaL1vZPayEsym3jQBjtV47SLr7rFPm62KmGXjS/O4t81D0mr3A== X-Received: by 2002:a05:6000:4025:b0:3b4:9b82:d432 with SMTP id ffacd0b85a97d-3b5f338ff26mr11358408f8f.0.1752534621196; Mon, 14 Jul 2025 16:10:21 -0700 (PDT) Date: Mon, 14 Jul 2025 19:10:19 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Anisa Su , Fan Ni , Jonathan Cameron Subject: [PULL 93/97] hw/cxl: mailbox-utils: 0x5602 - FMAPI Set DC Region Config Message-ID: <15239e2f76f262d6692aa651cafdd1f77a8970c9.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: quoted-printable In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535420501116600 From: Anisa Su FM DCD Management command 0x5602 implemented per CXL r3.2 Spec Section 7.6.= 7.6.3 Reviewed-by: Fan Ni Signed-off-by: Anisa Su Signed-off-by: Jonathan Cameron Message-Id: <20250714174509.1984430-8-Jonathan.Cameron@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/cxl/cxl_device.h | 3 ++ include/hw/cxl/cxl_mailbox.h | 6 +++ hw/cxl/cxl-mailbox-utils.c | 87 ++++++++++++++++++++++++++++++++++++ hw/mem/cxl_type3.c | 6 +-- 4 files changed, 99 insertions(+), 3 deletions(-) diff --git a/include/hw/cxl/cxl_device.h b/include/hw/cxl/cxl_device.h index 42ae5b7479..c836fc17f0 100644 --- a/include/hw/cxl/cxl_device.h +++ b/include/hw/cxl/cxl_device.h @@ -721,4 +721,7 @@ void ct3_clear_region_block_backed(CXLType3Dev *ct3d, u= int64_t dpa, uint64_t len); bool ct3_test_region_block_backed(CXLType3Dev *ct3d, uint64_t dpa, uint64_t len); +void cxl_assign_event_header(CXLEventRecordHdr *hdr, + const QemuUUID *uuid, uint32_t flags, + uint8_t length, uint64_t timestamp); #endif diff --git a/include/hw/cxl/cxl_mailbox.h b/include/hw/cxl/cxl_mailbox.h index 9008402d1c..a05d7cb5b7 100644 --- a/include/hw/cxl/cxl_mailbox.h +++ b/include/hw/cxl/cxl_mailbox.h @@ -8,6 +8,7 @@ #ifndef CXL_MAILBOX_H #define CXL_MAILBOX_H =20 +#define CXL_MBOX_CONFIG_CHANGE_COLD_RESET (1) #define CXL_MBOX_IMMEDIATE_CONFIG_CHANGE (1 << 1) #define CXL_MBOX_IMMEDIATE_DATA_CHANGE (1 << 2) #define CXL_MBOX_IMMEDIATE_POLICY_CHANGE (1 << 3) @@ -15,5 +16,10 @@ #define CXL_MBOX_SECURITY_STATE_CHANGE (1 << 5) #define CXL_MBOX_BACKGROUND_OPERATION (1 << 6) #define CXL_MBOX_BACKGROUND_OPERATION_ABORT (1 << 7) +#define CXL_MBOX_SECONDARY_MBOX_SUPPORTED (1 << 8) +#define CXL_MBOX_REQUEST_ABORT_BACKGROUND_OP_SUPPORTED (1 << 9) +#define CXL_MBOX_CEL_10_TO_11_VALID (1 << 10) +#define CXL_MBOX_CONFIG_CHANGE_CONV_RESET (1 << 11) +#define CXL_MBOX_CONFIG_CHANGE_CXL_RESET (1 << 12) =20 #endif diff --git a/hw/cxl/cxl-mailbox-utils.c b/hw/cxl/cxl-mailbox-utils.c index bf1710b251..b4a0f7d664 100644 --- a/hw/cxl/cxl-mailbox-utils.c +++ b/hw/cxl/cxl-mailbox-utils.c @@ -18,6 +18,7 @@ #include "hw/pci/pci.h" #include "hw/pci-bridge/cxl_upstream_port.h" #include "qemu/cutils.h" +#include "qemu/host-utils.h" #include "qemu/log.h" #include "qemu/units.h" #include "qemu/uuid.h" @@ -121,6 +122,7 @@ enum { FMAPI_DCD_MGMT =3D 0x56, #define GET_DCD_INFO 0x0 #define GET_HOST_DC_REGION_CONFIG 0x1 + #define SET_DC_REGION_CONFIG 0x2 }; =20 /* CCI Message Format CXL r3.1 Figure 7-19 */ @@ -3390,6 +3392,84 @@ static CXLRetCode cmd_fm_get_host_dc_region_config(c= onst struct cxl_cmd *cmd, return CXL_MBOX_SUCCESS; } =20 +/* CXL r3.2 section 7.6.7.6.3: Set Host DC Region Configuration (Opcode 56= 02) */ +static CXLRetCode cmd_fm_set_dc_region_config(const struct cxl_cmd *cmd, + uint8_t *payload_in, + size_t len_in, + uint8_t *payload_out, + size_t *len_out, + CXLCCI *cci) +{ + struct { + uint8_t reg_id; + uint8_t rsvd[3]; + uint64_t block_sz; + uint8_t flags; + uint8_t rsvd2[3]; + } QEMU_PACKED *in =3D (void *)payload_in; + CXLType3Dev *ct3d =3D CXL_TYPE3(cci->d); + CXLEventDynamicCapacity dcEvent =3D {}; + CXLDCRegion *region =3D &ct3d->dc.regions[in->reg_id]; + + /* + * CXL r3.2 7.6.7.6.3: Set DC Region Configuration + * This command shall fail with Unsupported when the Sanitize on Relea= se + * field does not match the region=E2=80=99s configuration... and the = device + * does not support reconfiguration of the Sanitize on Release setting. + * + * Currently not reconfigurable, so always fail if sanitize bit (bit 0) + * doesn't match. + */ + if ((in->flags & 0x1) !=3D (region->flags & 0x1)) { + return CXL_MBOX_UNSUPPORTED; + } + + if (in->reg_id >=3D DCD_MAX_NUM_REGION) { + return CXL_MBOX_UNSUPPORTED; + } + + /* Check that no extents are in the region being reconfigured */ + if (!bitmap_empty(region->blk_bitmap, region->len / region->block_size= )) { + return CXL_MBOX_UNSUPPORTED; + } + + /* Check that new block size is supported */ + if (!is_power_of_2(in->block_sz) || + !(in->block_sz & region->supported_blk_size_bitmask)) { + return CXL_MBOX_INVALID_INPUT; + } + + /* Return success if new block size =3D=3D current block size */ + if (in->block_sz =3D=3D region->block_size) { + return CXL_MBOX_SUCCESS; + } + + /* Free bitmap and create new one for new block size. */ + qemu_mutex_lock(®ion->bitmap_lock); + g_free(region->blk_bitmap); + region->blk_bitmap =3D bitmap_new(region->len / in->block_sz); + qemu_mutex_unlock(®ion->bitmap_lock); + region->block_size =3D in->block_sz; + + /* Create event record and insert into event log */ + cxl_assign_event_header(&dcEvent.hdr, + &dynamic_capacity_uuid, + (1 << CXL_EVENT_TYPE_INFO), + sizeof(dcEvent), + cxl_device_get_timestamp(&ct3d->cxl_dstate)); + dcEvent.type =3D DC_EVENT_REGION_CONFIG_UPDATED; + dcEvent.validity_flags =3D 1; + dcEvent.host_id =3D 0; + dcEvent.updated_region_id =3D in->reg_id; + + if (cxl_event_insert(&ct3d->cxl_dstate, + CXL_EVENT_TYPE_DYNAMIC_CAP, + (CXLEventRecordRaw *)&dcEvent)) { + cxl_event_irq_assert(ct3d); + } + return CXL_MBOX_SUCCESS; +} + static const struct cxl_cmd cxl_cmd_set[256][256] =3D { [INFOSTAT][BACKGROUND_OPERATION_ABORT] =3D { "BACKGROUND_OPERATION_ABO= RT", cmd_infostat_bg_op_abort, 0, 0 }, @@ -3508,6 +3588,13 @@ static const struct cxl_cmd cxl_cmd_set_fm_dcd[256][= 256] =3D { cmd_fm_get_dcd_info, 0, 0 }, [FMAPI_DCD_MGMT][GET_HOST_DC_REGION_CONFIG] =3D { "GET_HOST_DC_REGION_= CONFIG", cmd_fm_get_host_dc_region_config, 4, 0 }, + [FMAPI_DCD_MGMT][SET_DC_REGION_CONFIG] =3D { "SET_DC_REGION_CONFIG", + cmd_fm_set_dc_region_config, 16, + (CXL_MBOX_CONFIG_CHANGE_COLD_RESET | + CXL_MBOX_CONFIG_CHANGE_CONV_RESET | + CXL_MBOX_CONFIG_CHANGE_CXL_RESET | + CXL_MBOX_IMMEDIATE_CONFIG_CHANGE | + CXL_MBOX_IMMEDIATE_DATA_CHANGE) }, }; =20 /* diff --git a/hw/mem/cxl_type3.c b/hw/mem/cxl_type3.c index a7a1857a0c..4a45b4510e 100644 --- a/hw/mem/cxl_type3.c +++ b/hw/mem/cxl_type3.c @@ -1590,9 +1590,9 @@ void qmp_cxl_inject_correctable_error(const char *pat= h, CxlCorErrorType type, pcie_aer_inject_error(PCI_DEVICE(obj), &err); } =20 -static void cxl_assign_event_header(CXLEventRecordHdr *hdr, - const QemuUUID *uuid, uint32_t flags, - uint8_t length, uint64_t timestamp) +void cxl_assign_event_header(CXLEventRecordHdr *hdr, + const QemuUUID *uuid, uint32_t flags, + uint8_t length, uint64_t timestamp) { st24_le_p(&hdr->flags, flags); hdr->length =3D length; --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535366; cv=none; d=zohomail.com; s=zohoarc; b=mXAvCe2slAe6tPfUbxBPQkqkd0PLYaKao1rAOwAmuSuJbpg6p0dz/9wSxK6Nk594vFg3dh2RNUXNsZdCwhZGQ8X0vUzMOUGmCONyaKUAspTTQ0yETzs5zHYgjbuaT+faA0+lHupa2fkxYd9gFcBo8vq3d5smh0g6LyjYZUe3JhE= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535366; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=RhLQJM6xRaKS6Z3ARqutwBh0YK+m2Rf5pjXPvLsV/iI=; b=crOebHEwSWBMZ4g14AXnwgP5EHUv940b5Lh3KFT7OG9wmfPV77wK+AZjwZUS6lrLPtLSrsrTg3KvTB0Acr91kzN6ifInPUp1Li+CL6BFyhf3Mw/Wf5j1GUipVjOxj/T/vw46qy04YSFsDMCcNXRfH/YubqfFRpA3w863EljgDvU= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535365985941.5200756253741; Mon, 14 Jul 2025 16:22:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSMO-0002VP-JI; Mon, 14 Jul 2025 19:13:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJZ-00061v-0D for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:31 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJW-00064T-RN for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:28 -0400 Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-77-36sdPaVpM82FBC_r1NDFKA-1; Mon, 14 Jul 2025 19:10:24 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-454dee17a91so36743625e9.3 for ; Mon, 14 Jul 2025 16:10:24 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4561dd91072sm32621045e9.14.2025.07.14.16.10.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:10:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534626; 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: in-reply-to:in-reply-to:references:references; bh=RhLQJM6xRaKS6Z3ARqutwBh0YK+m2Rf5pjXPvLsV/iI=; b=Hc6xxqX7hZgdnIPyrF0WxvnlPgFzzEjh2zfOx5cMlNsZnNplXrJX/Hx63HnaBa38of4arb ENMCCqoJqf56zVYTAlzDw2VzvGmwX8dV7mRpv7mxqpvae5O0OAj5A+hwbVhTy2YyAHYRGK YWJ8Y7r6ZdDSJO64GSvzwb9oMGZTNYE= X-MC-Unique: 36sdPaVpM82FBC_r1NDFKA-1 X-Mimecast-MFC-AGG-ID: 36sdPaVpM82FBC_r1NDFKA_1752534624 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534624; x=1753139424; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=RhLQJM6xRaKS6Z3ARqutwBh0YK+m2Rf5pjXPvLsV/iI=; b=dkv2/O1dWa7nqb0uxM7aJppzlGZVlRBykMGYJxNNdCdn03tMhmRX/GvD7Iruufbqu7 DbmHP+PKn5FYc/DjTR4Pv/7c+opLxtS3X8/pzXoM4hx1XMwf8U4tyvjyBAofrH/O9Dv+ WOISEvHrx5n5iz/Drw0l2Qex0jlQXYIU1lFQNCAa/tXQyHartoCkgc3u5HfXUo5HHDTX STYyGKYRfhb3HZzfFMAVbchenLQv7i7ttWFWkNCKf+VtAueSQJti2hXvsXtEJ6AzjNXo ihix51JZYER3FlGURoAtG1EHcGPnFwkAgRwiJFEN0AV3sWtC5hAXQuFZzqVCNGhuT4tY uj+g== X-Gm-Message-State: AOJu0YzfGGuMUGr3Dl101f8wTMyo0g0DB01ipi4eoU1nOX7+X2c7KZf/ 644uNJOsQTBDeA5FVhwU1ocupJmXTyISIU+hNglNOXIZq3ARdNyzGsNdrBKFwsJFrCQa7Q5hR1g bPAsV5Hf/6GA6jQ7pwdAufRMXT6tSqCvES+jvI//nPwvluRMEtYfnE1U/8R/FAgdE2+mPnQ16oQ GFERcSatTikW8ezNQzpAJIo/MKKoPxe4dEGw== X-Gm-Gg: ASbGnctF9hSHUr6vHxsww7IV9T3vnG7o1fH8lnnEZCoqNGGVYy9kV/D1S4qkR28GX8o 93WWYlwagKPtmPS3rc7tfOEYrUaYwMKxCTZ5uKpMyj0F+yUPq0Wujx1TroinIpukRrbsr/fhBrw e8wtU48Z0yglBQWlgMySEjMtXLjO19Zv8Uesn5mK1W5+H9p2weJKCuMtdaotnNMuLk6/3F3KQLI ojJR3xh3em0NbhVLBxKOfAvPXgsrqDgpVRdws/ztKw4WAEZUflp5cceFEkRdBB3HuXmSnPAmXOI bfZFGfbeNFj3N6JI0Rq4YN7S+38NNrpI X-Received: by 2002:a05:600c:1e8a:b0:456:18ca:68db with SMTP id 5b1f17b1804b1-45618ca6fbcmr55866785e9.8.1752534623635; Mon, 14 Jul 2025 16:10:23 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFEMpwc8oKtx7+gnG3upuXnyL+uMTT8cSfvn2fhjRDsv29txWLkiFgMXMJb+3/yk7z27oOYzg== X-Received: by 2002:a05:600c:1e8a:b0:456:18ca:68db with SMTP id 5b1f17b1804b1-45618ca6fbcmr55866555e9.8.1752534623074; Mon, 14 Jul 2025 16:10:23 -0700 (PDT) Date: Mon, 14 Jul 2025 19:10:21 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Anisa Su , Fan Ni , Jonathan Cameron Subject: [PULL 94/97] hw/cxl: mailbox-utils: 0x5603 - FMAPI Get DC Region Extent Lists Message-ID: <841924a48f409dc85efed523edf2eb339c42ff58.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535367779116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Anisa Su FM DCD Management command 0x5603 implemented per CXL r3.2 Spec Section 7.6.= 7.6.4 Very similar to previously implemented command 0x4801. Reviewed-by: Fan Ni Signed-off-by: Anisa Su Signed-off-by: Jonathan Cameron Message-Id: <20250714174509.1984430-9-Jonathan.Cameron@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/cxl/cxl-mailbox-utils.c | 76 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/hw/cxl/cxl-mailbox-utils.c b/hw/cxl/cxl-mailbox-utils.c index b4a0f7d664..4b0fdbbdd8 100644 --- a/hw/cxl/cxl-mailbox-utils.c +++ b/hw/cxl/cxl-mailbox-utils.c @@ -123,6 +123,7 @@ enum { #define GET_DCD_INFO 0x0 #define GET_HOST_DC_REGION_CONFIG 0x1 #define SET_DC_REGION_CONFIG 0x2 + #define GET_DC_REGION_EXTENT_LIST 0x3 }; =20 /* CCI Message Format CXL r3.1 Figure 7-19 */ @@ -3470,6 +3471,79 @@ static CXLRetCode cmd_fm_set_dc_region_config(const = struct cxl_cmd *cmd, return CXL_MBOX_SUCCESS; } =20 +/* CXL r3.2 section 7.6.7.6.4: Get DC Region Extent Lists (Opcode 5603h) */ +static CXLRetCode cmd_fm_get_dc_region_extent_list(const struct cxl_cmd *c= md, + uint8_t *payload_in, + size_t len_in, + uint8_t *payload_out, + size_t *len_out, + CXLCCI *cci) +{ + struct { + uint16_t host_id; + uint8_t rsvd[2]; + uint32_t extent_cnt; + uint32_t start_extent_id; + } QEMU_PACKED *in =3D (void *)payload_in; + struct { + uint16_t host_id; + uint8_t rsvd[2]; + uint32_t start_extent_id; + uint32_t extents_returned; + uint32_t total_extents; + uint32_t list_generation_num; + uint8_t rsvd2[4]; + CXLDCExtentRaw records[]; + } QEMU_PACKED *out =3D (void *)payload_out; + QEMU_BUILD_BUG_ON(sizeof(*in) !=3D 0xc); + CXLType3Dev *ct3d =3D CXL_TYPE3(cci->d); + CXLDCExtent *ent; + CXLDCExtentRaw *out_rec; + uint16_t record_count =3D 0, record_done =3D 0, i =3D 0; + uint16_t out_pl_len, max_size; + + if (in->host_id !=3D 0) { + return CXL_MBOX_INVALID_INPUT; + } + + if (in->start_extent_id > ct3d->dc.nr_extents_accepted) { + return CXL_MBOX_INVALID_INPUT; + } + + record_count =3D MIN(in->extent_cnt, + ct3d->dc.nr_extents_accepted - in->start_extent_id); + max_size =3D CXL_MAILBOX_MAX_PAYLOAD_SIZE - sizeof(*out); + record_count =3D MIN(record_count, max_size / sizeof(out->records[0])); + out_pl_len =3D sizeof(*out) + record_count * sizeof(out->records[0]); + + stw_le_p(&out->host_id, in->host_id); + stl_le_p(&out->start_extent_id, in->start_extent_id); + stl_le_p(&out->extents_returned, record_count); + stl_le_p(&out->total_extents, ct3d->dc.nr_extents_accepted); + stl_le_p(&out->list_generation_num, ct3d->dc.ext_list_gen_seq); + + if (record_count > 0) { + QTAILQ_FOREACH(ent, &ct3d->dc.extents, node) { + if (i++ < in->start_extent_id) { + continue; + } + out_rec =3D &out->records[record_done]; + stq_le_p(&out_rec->start_dpa, ent->start_dpa); + stq_le_p(&out_rec->len, ent->len); + memcpy(&out_rec->tag, ent->tag, 0x10); + stw_le_p(&out_rec->shared_seq, ent->shared_seq); + + record_done++; + if (record_done =3D=3D record_count) { + break; + } + } + } + + *len_out =3D out_pl_len; + return CXL_MBOX_SUCCESS; +} + static const struct cxl_cmd cxl_cmd_set[256][256] =3D { [INFOSTAT][BACKGROUND_OPERATION_ABORT] =3D { "BACKGROUND_OPERATION_ABO= RT", cmd_infostat_bg_op_abort, 0, 0 }, @@ -3595,6 +3669,8 @@ static const struct cxl_cmd cxl_cmd_set_fm_dcd[256][2= 56] =3D { CXL_MBOX_CONFIG_CHANGE_CXL_RESET | CXL_MBOX_IMMEDIATE_CONFIG_CHANGE | CXL_MBOX_IMMEDIATE_DATA_CHANGE) }, + [FMAPI_DCD_MGMT][GET_DC_REGION_EXTENT_LIST] =3D { "GET_DC_REGION_EXTEN= T_LIST", + cmd_fm_get_dc_region_extent_list, 12, 0 }, }; =20 /* --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535672; cv=none; d=zohomail.com; s=zohoarc; b=nmg2qNm+38ZgYUXcL6lgfbmoPKHLUic+YR2RyxxOR/TNmDRjlG0I88jPn6qngVRVqyZXaopCiwmxQPyMcEKLLFgVzs1Rih4uwuw27MGKBuyS1A4B7prk6UgQOJ6pFRkK5kZWsU0rakK6IW8yNW8WhrG13iRIAfujLE+lV3A+Z6M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535672; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=x0m37+PZCmQcuLfhICj493rD4h2Afg7fkrW07waZNyQ=; b=ebbsd0lngE3GI0nBKj07nBZBXVAv3QLS8lDuTkX6XKPyxM+rOweXBuAy0RP/1eya8VtrGL4/D1P2JdK68b++2M5oXRyH2jVFYN096M/Kt/23NfGBNIGema/aVBSqn73i3VkYN5Iq0jXbmEHThkPA7L1uNZms2mydxcraEZwmBGo= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535672797848.319282387189; Mon, 14 Jul 2025 16:27:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSMg-0004Na-O3; Mon, 14 Jul 2025 19:13:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJb-00062M-OA for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:35 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJZ-0006Fc-HF for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:31 -0400 Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-674-PsUkX43LNFe47d7Shls4HA-1; Mon, 14 Jul 2025 19:10:27 -0400 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-3a4e9252ba0so2841406f8f.0 for ; Mon, 14 Jul 2025 16:10:27 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-4562797af47sm1210035e9.3.2025.07.14.16.10.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:10:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534629; 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: in-reply-to:in-reply-to:references:references; bh=x0m37+PZCmQcuLfhICj493rD4h2Afg7fkrW07waZNyQ=; b=XbRMCctHUxoxypWf/gK18a+SvJnZ0p/RqsY/pN/5hhCpyZEY6Vfic0zhmszSHgKmgCQeUc Kx+wDP8zwFb0YeK3cQAXfgNimKC+O4alDW9G/leZasLMTw9Le0m8x1K4klk/Tii+k0g8TL NL1U44e2xhNwJpOgnTO6iNSNdhnQDrM= X-MC-Unique: PsUkX43LNFe47d7Shls4HA-1 X-Mimecast-MFC-AGG-ID: PsUkX43LNFe47d7Shls4HA_1752534626 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534626; x=1753139426; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=x0m37+PZCmQcuLfhICj493rD4h2Afg7fkrW07waZNyQ=; b=pCRGYm+emAK7zMsu4xZf8JrtZiMV1T/E2ZSOs2J2DnyVA0G+22b1plcjuW8PN+Y6WC h7JGM8ZjDfopMjU5g/lN8DO0VbYPaxbx2w+a6HtSxdGQmoTnsZZ0WhHWBICMeJ8Qw+XW sUF8RvnTGBZEX186gYKRaq4cD0OUr6iO/KWlLQQNVLm86/ej9kSmrt55LRKfskj0aOrT eHicOvbCQSQot7AXmhCHEwHxvP0m1+YVwLlYKA5UeARDbSRayHHGJXHfcpBbgf30HreO SvM/rPlqqyPLhSN71VE+kRACADs0sU8Qld1Yh7kxVxdSieznq40s5aR6lkZkteskaAAN 72KA== X-Gm-Message-State: AOJu0YyEq5VYqBW+UrFtS3ECIdGrbVpYmJbXgD8qRPmexcpoTY4tRON4 7mPFK/OcjVzF0unw8fiBaxkWr63cwhAr+xfMag08jH0JZLZtJZME29+mm2ISqwACuN59erl+6sS HokROg+a9IEdjMvlmNM6HsUsMRa2iJNOG6trBL6H2lFvbAmqspBnDUN7TmR/O+DmlaSQIusGiSa EtCHlzeSZVQleLXSgh+ZO29wlrdNeDBpEBdQ== X-Gm-Gg: ASbGncuDr6e7XchIFqFTTfAwb/3RapRj1EzP0kUK+r9GCGmFfvO2kNpx9vblkvdQXQI J6YbgdtpU2vc+mCGY8jraV9b3k2pcR9nDXRhvnYryWVhyqf3O5o2sOVu0jvV1zfE/gE9lOJ8Z8K 8KIZ0oz1J63pC4utb1cYshOQk2/PTAFSe3g+cM6kRyDr+RoxwXvxkH+AJtSGFtlP7qkdsW2Z/JV Pi0at6DSq2y20EBSuHosPIjnT9kiinYASoYEu9b7dlsDWMZY+Saa2sV8IrPTZbzwruKxm+Tot8v iXeiYqIMRGy9KELbSZNN2VrAGqSWDwgw X-Received: by 2002:a05:6000:5c7:b0:3a5:2ec5:35a9 with SMTP id ffacd0b85a97d-3b5f187d0fdmr13843150f8f.3.1752534626118; Mon, 14 Jul 2025 16:10:26 -0700 (PDT) X-Google-Smtp-Source: AGHT+IH4t5UPCpWXssI1Ii0D+6BchN4PPATmCF2ZjxNozGg0QpMhZe6BjQk2Fv3qdPrFq49pj5QFxw== X-Received: by 2002:a05:6000:5c7:b0:3a5:2ec5:35a9 with SMTP id ffacd0b85a97d-3b5f187d0fdmr13843130f8f.3.1752534625612; Mon, 14 Jul 2025 16:10:25 -0700 (PDT) Date: Mon, 14 Jul 2025 19:10:23 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Anisa Su , Fan Ni , Jonathan Cameron Subject: [PULL 95/97] hw/cxl: Create helper function to create DC Event Records from extents Message-ID: <062e3341472aa54f22eaf316ba01aec0f8f49a1f.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535674782116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Anisa Su Prepatory patch for following FMAPI Add/Release Patches. Refactors part of qmp_cxl_process_dynamic_capacity_prescriptive() into a helper function to create DC Event Records and insert in the event log. Moves definition for CXL_NUM_EXTENTS_SUPPORTED to cxl.h so it can be accessed by cxl-mailbox-utils.c and cxl-events.c, where the helper function is defined. Reviewed-by: Fan Ni Signed-off-by: Anisa Su Signed-off-by: Jonathan Cameron Message-Id: <20250714174509.1984430-10-Jonathan.Cameron@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/cxl/cxl.h | 1 + include/hw/cxl/cxl_device.h | 4 ++++ hw/cxl/cxl-events.c | 38 +++++++++++++++++++++++++++++++++++++ hw/cxl/cxl-mailbox-utils.c | 1 - hw/mem/cxl_type3.c | 37 +----------------------------------- 5 files changed, 44 insertions(+), 37 deletions(-) diff --git a/include/hw/cxl/cxl.h b/include/hw/cxl/cxl.h index de66ab8c35..998f495a98 100644 --- a/include/hw/cxl/cxl.h +++ b/include/hw/cxl/cxl.h @@ -23,6 +23,7 @@ #define CXL_DEVICE_REG_BAR_IDX 2 =20 #define CXL_WINDOW_MAX 10 +#define CXL_NUM_EXTENTS_SUPPORTED 512 =20 typedef struct PXBCXLDev PXBCXLDev; =20 diff --git a/include/hw/cxl/cxl_device.h b/include/hw/cxl/cxl_device.h index c836fc17f0..71a5834c3d 100644 --- a/include/hw/cxl/cxl_device.h +++ b/include/hw/cxl/cxl_device.h @@ -724,4 +724,8 @@ bool ct3_test_region_block_backed(CXLType3Dev *ct3d, ui= nt64_t dpa, void cxl_assign_event_header(CXLEventRecordHdr *hdr, const QemuUUID *uuid, uint32_t flags, uint8_t length, uint64_t timestamp); +void cxl_create_dc_event_records_for_extents(CXLType3Dev *ct3d, + CXLDCEventType type, + CXLDCExtentRaw extents[], + uint32_t ext_count); #endif diff --git a/hw/cxl/cxl-events.c b/hw/cxl/cxl-events.c index f90470930d..7583dd9162 100644 --- a/hw/cxl/cxl-events.c +++ b/hw/cxl/cxl-events.c @@ -258,3 +258,41 @@ void cxl_event_irq_assert(CXLType3Dev *ct3d) } } } + +void cxl_create_dc_event_records_for_extents(CXLType3Dev *ct3d, + CXLDCEventType type, + CXLDCExtentRaw extents[], + uint32_t ext_count) +{ + CXLEventDynamicCapacity event_rec =3D {}; + int i; + + cxl_assign_event_header(&event_rec.hdr, + &dynamic_capacity_uuid, + (1 << CXL_EVENT_TYPE_INFO), + sizeof(event_rec), + cxl_device_get_timestamp(&ct3d->cxl_dstate)); + event_rec.type =3D type; + event_rec.validity_flags =3D 1; + event_rec.host_id =3D 0; + event_rec.updated_region_id =3D 0; + event_rec.extents_avail =3D CXL_NUM_EXTENTS_SUPPORTED - + ct3d->dc.total_extent_count; + + for (i =3D 0; i < ext_count; i++) { + memcpy(&event_rec.dynamic_capacity_extent, + &extents[i], + sizeof(CXLDCExtentRaw)); + event_rec.flags =3D 0; + if (i < ext_count - 1) { + /* Set "More" flag */ + event_rec.flags |=3D BIT(0); + } + + if (cxl_event_insert(&ct3d->cxl_dstate, + CXL_EVENT_TYPE_DYNAMIC_CAP, + (CXLEventRecordRaw *)&event_rec)) { + cxl_event_irq_assert(ct3d); + } + } +} diff --git a/hw/cxl/cxl-mailbox-utils.c b/hw/cxl/cxl-mailbox-utils.c index 4b0fdbbdd8..b6f30e8689 100644 --- a/hw/cxl/cxl-mailbox-utils.c +++ b/hw/cxl/cxl-mailbox-utils.c @@ -28,7 +28,6 @@ =20 #define CXL_CAPACITY_MULTIPLIER (256 * MiB) #define CXL_DC_EVENT_LOG_SIZE 8 -#define CXL_NUM_EXTENTS_SUPPORTED 512 #define CXL_NUM_TAGS_SUPPORTED 0 #define CXL_ALERTS_LIFE_USED_WARN_THRESH (1 << 0) #define CXL_ALERTS_OVER_TEMP_WARN_THRESH (1 << 1) diff --git a/hw/mem/cxl_type3.c b/hw/mem/cxl_type3.c index 4a45b4510e..4e975b1a42 100644 --- a/hw/mem/cxl_type3.c +++ b/hw/mem/cxl_type3.c @@ -1957,15 +1957,11 @@ static void qmp_cxl_process_dynamic_capacity_prescr= iptive(const char *path, CxlDynamicCapacityExtentList *records, Error **errp) { Object *obj; - CXLEventDynamicCapacity dCap =3D {}; - CXLEventRecordHdr *hdr =3D &dCap.hdr; CXLType3Dev *dcd; - uint8_t flags =3D 1 << CXL_EVENT_TYPE_INFO; uint32_t num_extents =3D 0; CxlDynamicCapacityExtentList *list; CXLDCExtentGroup *group =3D NULL; g_autofree CXLDCExtentRaw *extents =3D NULL; - uint8_t enc_log =3D CXL_EVENT_TYPE_DYNAMIC_CAP; uint64_t dpa, offset, len, block_size; g_autofree unsigned long *blk_bitmap =3D NULL; int i; @@ -2078,38 +2074,7 @@ static void qmp_cxl_process_dynamic_capacity_prescri= ptive(const char *path, dcd->dc.total_extent_count +=3D num_extents; } =20 - /* - * CXL r3.1 section 8.2.9.2.1.6: Dynamic Capacity Event Record - * - * All Dynamic Capacity event records shall set the Event Record Sever= ity - * field in the Common Event Record Format to Informational Event. All - * Dynamic Capacity related events shall be logged in the Dynamic Capa= city - * Event Log. - */ - cxl_assign_event_header(hdr, &dynamic_capacity_uuid, flags, sizeof(dCa= p), - cxl_device_get_timestamp(&dcd->cxl_dstate)); - - dCap.type =3D type; - /* FIXME: for now, validity flag is cleared */ - dCap.validity_flags =3D 0; - stw_le_p(&dCap.host_id, hid); - /* only valid for DC_REGION_CONFIG_UPDATED event */ - dCap.updated_region_id =3D 0; - for (i =3D 0; i < num_extents; i++) { - memcpy(&dCap.dynamic_capacity_extent, &extents[i], - sizeof(CXLDCExtentRaw)); - - dCap.flags =3D 0; - if (i < num_extents - 1) { - /* Set "More" flag */ - dCap.flags |=3D BIT(0); - } - - if (cxl_event_insert(&dcd->cxl_dstate, enc_log, - (CXLEventRecordRaw *)&dCap)) { - cxl_event_irq_assert(dcd); - } - } + cxl_create_dc_event_records_for_extents(dcd, type, extents, num_extent= s); } =20 void qmp_cxl_add_dynamic_capacity(const char *path, uint16_t host_id, --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535271; cv=none; d=zohomail.com; s=zohoarc; b=nrRTUPNKaum1/piSWK4sF/R5u8vJoYy5ORHdC60Wdzk++7pVylK57W4JV2cKpjKH1JNNoHsKfkBnaIx9BDV9vQgYHJ44mfiAaLY5zRiWErE39DFnhlFETuk8T9HmnZWct2qP6fg7jSfU1oQXn/a8+f4k4uLgRGvIwxBhFM10op4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535271; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=wWulbcsLNYze0iJnyHnRhlgI1t/NH3pKfYFfwzuX2pU=; b=BFGIU9kumNNtVRFH0t2zPOgu2DIIfTNYeW6pBVCzwFXwHWkGk2QM2+IAoMc1mSuFjqPg9I5+mgcWPp++rMuGDYkwOgo9H1sJaEhFs/yyo12FpPQUQCP4M2drjCacZHRY1GMIxmfDVTZT0hEEDMhCIJkgk8u49/Rnmo701Ff9GO0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535271062800.0980442384019; Mon, 14 Jul 2025 16:21:11 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSMb-0003xT-CD; Mon, 14 Jul 2025 19:13:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJd-00064O-TV for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:37 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.133.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJb-0006Fk-Ft for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:33 -0400 Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-114-1Mw96gHhPIyipgNPL0FEvQ-1; Mon, 14 Jul 2025 19:10:29 -0400 Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-3b5f97cb8fbso812066f8f.3 for ; Mon, 14 Jul 2025 16:10:29 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8e14d07sm13733255f8f.66.2025.07.14.16.10.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:10:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534630; 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: in-reply-to:in-reply-to:references:references; bh=wWulbcsLNYze0iJnyHnRhlgI1t/NH3pKfYFfwzuX2pU=; b=eW+JhZ6yeox1oyxqMt9b/hHVsYDnkwzI67oQktbD/llgkxbrQrgadzTd9IUuKjhaLDmueP ohYjbP9QfibPT3yLQo6x+Qn5Czwjdzyl4F2tbUwsD9fmTsMYna0Lbz3JNegWRKmcVWmMwu QeBb5nnGYGx98y2toJPW+8yxQiRYK+Q= X-MC-Unique: 1Mw96gHhPIyipgNPL0FEvQ-1 X-Mimecast-MFC-AGG-ID: 1Mw96gHhPIyipgNPL0FEvQ_1752534629 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534628; x=1753139428; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=wWulbcsLNYze0iJnyHnRhlgI1t/NH3pKfYFfwzuX2pU=; b=r8AL+LSe5y3bR2agxaTUDJwHmOs01OXGoYxcVGghdLGSUz9nL9XZ8SiPKSs01aHhag 4npYZNzC8pAQQYn77zps1erpVpZ9pGDBn0ArK8o5K7cjqhNyvCkmXw3IsXAYxRWoydV7 Nj8/als49m8pre1GMMKrCrz8k8dmzRlLhzvvs38nwfikkNcpLVadIwpNU2ZrhLHTuEGZ GYWal8UHcfNH0h4Sm1tmY5H7JWo496LhvG7v7x0PJetgYDnPPh7T9WZg+qAb2Qsw3/QT YkRgURzXqCbn+F3dDfuLHCjBPlJwXSLm5KXB52snGtk/ep2FUxvPiIsBUWODL9cAwfqo Isqw== X-Gm-Message-State: AOJu0Yz/fJt7uIWip62nwmH41MvVpiPQj41gF55xtxDMyYBEFn29NdPE 43ztVYHSdEoiKsrO1TEC/pQrY/kVTajuzMCWWZmfJkWGOJGwBKr3Tmxx5vsVpuN8GPplh038UJ7 +oCZUNAV7Ii8WBP6W5dXw/AyaZqyhwYklJ2IaD02R9QVmqoq9mKK/4bhVGP8BIPYkfoV0vgPH7R c374BUEunAfEPL0iWD5PbjBoCcXv9WHQUPAA== X-Gm-Gg: ASbGnctQf7nSRoZ8ZaT4WRhKwI1SEuWAqfltgi/ScMPhNhVfWQNheTFykdAbIZrx/Su w4H4gB2/xi2n/e0i+SLox9wcWr3fTBROQ8jXpExBGUA/svy7cMHcvAONy3oqFO167qv4M11mn1v vRn8Xo4MErHf6EmKUmbrrznmtKdsuQhGU2OUgJODWC5AW36iLew7O39v0nODgMCC4TP50vkHIet ImxgBR5sVR4NpB+wan5JOUkvzGa0kVo0HHpTtoP8nCYXG6o1R3Z9e9L3feRSqwv/Cpxr2Ve9/9w e8Ppqf6gMK+BTKTIX1Ucq/eSmG/RVafi X-Received: by 2002:a05:6000:21c9:b0:3b2:dfc6:2485 with SMTP id ffacd0b85a97d-3b5f187ebcfmr8505729f8f.4.1752534628193; Mon, 14 Jul 2025 16:10:28 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEkEBZ0u2GhYpNE1Zf5Uge7wmDwldIkufdqpycCefw6vCa9qQ27LmpHF2/WM4pZXa1GCeunIQ== X-Received: by 2002:a05:6000:21c9:b0:3b2:dfc6:2485 with SMTP id ffacd0b85a97d-3b5f187ebcfmr8505710f8f.4.1752534627740; Mon, 14 Jul 2025 16:10:27 -0700 (PDT) Date: Mon, 14 Jul 2025 19:10:25 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Anisa Su , Fan Ni , Jonathan Cameron Subject: [PULL 96/97] hw/cxl: mailbox-utils: 0x5604 - FMAPI Initiate DC Add Message-ID: References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.133.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535273270116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Anisa Su FM DCD Management command 0x5604 implemented per CXL r3.2 Spec Section 7.6.= 7.6.5 Reviewed-by: Fan Ni Signed-off-by: Anisa Su Signed-off-by: Jonathan Cameron Message-Id: <20250714174509.1984430-11-Jonathan.Cameron@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- include/hw/cxl/cxl_device.h | 4 ++ hw/cxl/cxl-mailbox-utils.c | 109 ++++++++++++++++++++++++++++++++++++ hw/mem/cxl_type3.c | 8 +-- 3 files changed, 117 insertions(+), 4 deletions(-) diff --git a/include/hw/cxl/cxl_device.h b/include/hw/cxl/cxl_device.h index 71a5834c3d..89411c8093 100644 --- a/include/hw/cxl/cxl_device.h +++ b/include/hw/cxl/cxl_device.h @@ -728,4 +728,8 @@ void cxl_create_dc_event_records_for_extents(CXLType3De= v *ct3d, CXLDCEventType type, CXLDCExtentRaw extents[], uint32_t ext_count); +bool cxl_extents_overlaps_dpa_range(CXLDCExtentList *list, + uint64_t dpa, uint64_t len); +bool cxl_extent_groups_overlaps_dpa_range(CXLDCExtentGroupList *list, + uint64_t dpa, uint64_t len); #endif diff --git a/hw/cxl/cxl-mailbox-utils.c b/hw/cxl/cxl-mailbox-utils.c index b6f30e8689..5d08525529 100644 --- a/hw/cxl/cxl-mailbox-utils.c +++ b/hw/cxl/cxl-mailbox-utils.c @@ -123,6 +123,7 @@ enum { #define GET_HOST_DC_REGION_CONFIG 0x1 #define SET_DC_REGION_CONFIG 0x2 #define GET_DC_REGION_EXTENT_LIST 0x3 + #define INITIATE_DC_ADD 0x4 }; =20 /* CCI Message Format CXL r3.1 Figure 7-19 */ @@ -3543,6 +3544,107 @@ static CXLRetCode cmd_fm_get_dc_region_extent_list(= const struct cxl_cmd *cmd, return CXL_MBOX_SUCCESS; } =20 +/* + * Helper function to convert CXLDCExtentRaw to CXLUpdateDCExtentListInPl + * in order to reuse cxl_detect_malformed_extent_list() function which acc= epts + * CXLUpdateDCExtentListInPl as a parameter. + */ +static void convert_raw_extents(CXLDCExtentRaw raw_extents[], + CXLUpdateDCExtentListInPl *extent_list, + int count) +{ + int i; + + extent_list->num_entries_updated =3D count; + + for (i =3D 0; i < count; i++) { + extent_list->updated_entries[i].start_dpa =3D raw_extents[i].start= _dpa; + extent_list->updated_entries[i].len =3D raw_extents[i].len; + } +} + +/* CXL r3.2 Section 7.6.7.6.5: Initiate Dynamic Capacity Add (Opcode 5604h= ) */ +static CXLRetCode cmd_fm_initiate_dc_add(const struct cxl_cmd *cmd, + uint8_t *payload_in, + size_t len_in, + uint8_t *payload_out, + size_t *len_out, + CXLCCI *cci) +{ + struct { + uint16_t host_id; + uint8_t selection_policy; + uint8_t reg_num; + uint64_t length; + uint8_t tag[0x10]; + uint32_t ext_count; + CXLDCExtentRaw extents[]; + } QEMU_PACKED *in =3D (void *)payload_in; + CXLType3Dev *ct3d =3D CXL_TYPE3(cci->d); + int i, rc; + + switch (in->selection_policy) { + case CXL_EXTENT_SELECTION_POLICY_PRESCRIPTIVE: { + /* Adding extents exceeds device's extent tracking ability. */ + if (in->ext_count + ct3d->dc.total_extent_count > + CXL_NUM_EXTENTS_SUPPORTED) { + return CXL_MBOX_RESOURCES_EXHAUSTED; + } + + g_autofree CXLUpdateDCExtentListInPl *list =3D + g_malloc0(sizeof(*list) + + in->ext_count * sizeof(*list->updated_entries)); + + convert_raw_extents(in->extents, list, in->ext_count); + rc =3D cxl_detect_malformed_extent_list(ct3d, list); + + for (i =3D 0; i < in->ext_count; i++) { + CXLDCExtentRaw *ext =3D &in->extents[i]; + + /* Check requested extents do not overlap with pending one= s. */ + if (cxl_extent_groups_overlaps_dpa_range(&ct3d->dc.extents= _pending, + ext->start_dpa, + ext->len)) { + return CXL_MBOX_INVALID_EXTENT_LIST; + } + /* Check requested extents do not overlap with existing on= es. */ + if (cxl_extents_overlaps_dpa_range(&ct3d->dc.extents, + ext->start_dpa, + ext->len)) { + return CXL_MBOX_INVALID_EXTENT_LIST; + } + } + + if (rc) { + return rc; + } + + CXLDCExtentGroup *group =3D NULL; + for (i =3D 0; i < in->ext_count; i++) { + CXLDCExtentRaw *ext =3D &in->extents[i]; + + group =3D cxl_insert_extent_to_extent_group(group, ext->st= art_dpa, + ext->len, ext->t= ag, + ext->shared_seq); + } + + cxl_extent_group_list_insert_tail(&ct3d->dc.extents_pending, g= roup); + ct3d->dc.total_extent_count +=3D in->ext_count; + cxl_create_dc_event_records_for_extents(ct3d, + DC_EVENT_ADD_CAPACITY, + in->extents, + in->ext_count); + + return CXL_MBOX_SUCCESS; + } + default: { + qemu_log_mask(LOG_UNIMP, + "CXL extent selection policy not supported.\n"); + return CXL_MBOX_INVALID_INPUT; + } + } +} + static const struct cxl_cmd cxl_cmd_set[256][256] =3D { [INFOSTAT][BACKGROUND_OPERATION_ABORT] =3D { "BACKGROUND_OPERATION_ABO= RT", cmd_infostat_bg_op_abort, 0, 0 }, @@ -3670,6 +3772,13 @@ static const struct cxl_cmd cxl_cmd_set_fm_dcd[256][= 256] =3D { CXL_MBOX_IMMEDIATE_DATA_CHANGE) }, [FMAPI_DCD_MGMT][GET_DC_REGION_EXTENT_LIST] =3D { "GET_DC_REGION_EXTEN= T_LIST", cmd_fm_get_dc_region_extent_list, 12, 0 }, + [FMAPI_DCD_MGMT][INITIATE_DC_ADD] =3D { "INIT_DC_ADD", + cmd_fm_initiate_dc_add, ~0, + (CXL_MBOX_CONFIG_CHANGE_COLD_RESET | + CXL_MBOX_CONFIG_CHANGE_CONV_RESET | + CXL_MBOX_CONFIG_CHANGE_CXL_RESET | + CXL_MBOX_IMMEDIATE_CONFIG_CHANGE | + CXL_MBOX_IMMEDIATE_DATA_CHANGE) }, }; =20 /* diff --git a/hw/mem/cxl_type3.c b/hw/mem/cxl_type3.c index 4e975b1a42..be609ff9d0 100644 --- a/hw/mem/cxl_type3.c +++ b/hw/mem/cxl_type3.c @@ -1885,8 +1885,8 @@ void qmp_cxl_inject_memory_module_event(const char *p= ath, CxlEventLog log, * the list. * Return value: return true if has overlaps; otherwise, return false */ -static bool cxl_extents_overlaps_dpa_range(CXLDCExtentList *list, - uint64_t dpa, uint64_t len) +bool cxl_extents_overlaps_dpa_range(CXLDCExtentList *list, + uint64_t dpa, uint64_t len) { CXLDCExtent *ent; Range range1, range2; @@ -1931,8 +1931,8 @@ bool cxl_extents_contains_dpa_range(CXLDCExtentList *= list, return false; } =20 -static bool cxl_extent_groups_overlaps_dpa_range(CXLDCExtentGroupList *lis= t, - uint64_t dpa, uint64_t le= n) +bool cxl_extent_groups_overlaps_dpa_range(CXLDCExtentGroupList *list, + uint64_t dpa, uint64_t len) { CXLDCExtentGroup *group; =20 --=20 MST From nobody Sun Dec 14 02:18:35 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=quarantine dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1752535825; cv=none; d=zohomail.com; s=zohoarc; b=ASmMTtjFMk/I+BpBvREKK/a7ehjR7aqJaoTLDvlgXjaPM99rdi7EdZNjzdAn1xMIZf2TQ6iEKsuDAIJsEibMUoFkOH0orQCXQh+iI+artmZip0ixoCUtyNlS6hrJUTQiQIz5rQGNILkMduGVLSrgOX8Z69FeHInqGkLDmMIFPDk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1752535825; h=Content-Type: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:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=2+Hdc3Q1kzEjtmu1x2KZoQB+ra+Yvhw6yCMQj7TWWZk=; b=a2V+c72NDTlT5LnU1IqmOUMHa/8Khjz0XNdeERryVibW462ZfPsjofe/DHqKTTqwHLSaJKfoD82Z8geXnxK2Gg2IWTOZ/X7WJPdGDjRA1D1++jmxWlPvJQZsdk83MX/CeAON7MiG0HEowD/oXCUD/9fRlIFRC/R6Ag7tIlqFaq0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1752535825958127.21246660586814; Mon, 14 Jul 2025 16:30:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1ubSMg-0004Lw-4i; Mon, 14 Jul 2025 19:13:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJf-00064g-NN for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:37 -0400 Received: from us-smtp-delivery-124.mimecast.com ([170.10.129.124]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1ubSJe-0006Fz-0n for qemu-devel@nongnu.org; Mon, 14 Jul 2025 19:10:35 -0400 Received: from mail-wm1-f69.google.com (mail-wm1-f69.google.com [209.85.128.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-677-IayyownLOiOqz694ypz4QA-1; Mon, 14 Jul 2025 19:10:31 -0400 Received: by mail-wm1-f69.google.com with SMTP id 5b1f17b1804b1-451d30992bcso37920425e9.2 for ; Mon, 14 Jul 2025 16:10:31 -0700 (PDT) Received: from redhat.com ([2a0d:6fc0:150d:fc00:de3:4725:47c6:6809]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3b5e8bd17b7sm13550755f8f.11.2025.07.14.16.10.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 14 Jul 2025 16:10:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1752534633; 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: in-reply-to:in-reply-to:references:references; bh=2+Hdc3Q1kzEjtmu1x2KZoQB+ra+Yvhw6yCMQj7TWWZk=; b=ZtUKS4MJB1xOXzwKYwbxU9rca/mK/Yg+UZyArr7n+ycst7liyUDKK5vq4YWYASzayVZ10Q juogYi4xsENPFo3/jUtMUwqWhhdiIdRa7JVzUHISPoGrMdYcDSnBeltpqs4uTOO9XKYEAy G78FScEzg/5H1TXU5/nsp2okW7nwfmo= X-MC-Unique: IayyownLOiOqz694ypz4QA-1 X-Mimecast-MFC-AGG-ID: IayyownLOiOqz694ypz4QA_1752534631 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1752534630; x=1753139430; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=2+Hdc3Q1kzEjtmu1x2KZoQB+ra+Yvhw6yCMQj7TWWZk=; b=FDd1/DlXrMEZJYJAGDEv1aoGLr6CK8dJgLnec4lUsiyfSexL+Z5NILD/5Uu3hQ8F41 sANjxHDj8xrq4021mbvBDQKXnhxBo1xcaYqb9HOqePDaAPzOEJMElCw2T5B/92Zf3IAx dFQDDM+8LPV4UlkjRyP+E85fzmfa3kcHYWUCApXq0Erck1jKuIxJZTTGOEMh2kvR5tmf lSiy978ofXvfZ6sof4gitm4bbpk/YGwD3A6dou94lDgAFNB6LJrO/do1BG/5yokxwF4K sdhIFxX1MRojqwXB1mwOOh25/XQrbNQoGXi0ljShRi3uQJv59DvB8hhX7zRTsXLh18HT OfMw== X-Gm-Message-State: AOJu0YzfFGY+4K685ox3MnM0ZCrtcavSI33Pf8YOx9RYQAbWeve2yM1D bHmrYvOqb3riEjqJloAdh1ya22wbijE+D8ijwUk4YtdFz3YTwtkIBhdxhZGvRqzdL1jWu+DTLyx Lpi/EZVe2WopjWzX3Jl0CTL7fpIQAW2fjBVyXKMbr+K/8eJzf4DefXCJwZqgNi+YrzBAWvJjofN TgEyNxaVTazaRFuMlLJ/Ss0J9DF3LGZzXXcA== X-Gm-Gg: ASbGnct+4NYzk8lfeuD0w7AjD59E8JF8gyfvxHXc022RBAIzrsqVkcBA1NFbAxsVWsy yCknaIy0C6rfiLIxOcqkUbh9Ikz0qIZaG1ZedFPrZWi1c6VGjCdc9Rn+h5UxsWdwvPBGfNYej7Z 7+4B24efB9PPzmwVilVzBsbMfUTaygOjo9w0DBzIV4ywUnJUjya0gmhwmg+VaqIFM5IiwoJz9ww d8ioqHU6KNjjR3uLQ1tgrlQfeXFn0vxXI4sUZoWZqMsUJKVxe4rJsmvmsrRF4QdW68bp4UevKVJ ZOmbSypruoAwp19wi3UHGQBQZzT7sWua X-Received: by 2002:a05:600c:468b:b0:453:1e14:6387 with SMTP id 5b1f17b1804b1-456057c68bemr76241465e9.32.1752534630029; Mon, 14 Jul 2025 16:10:30 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHt5bUFpQrzgBQZEdy/VP1cMAfSJs7Wr8A5rdg2Y8VRM1i1YrXXVpwn7IxVBxuA5aRF3p0Mvg== X-Received: by 2002:a05:600c:468b:b0:453:1e14:6387 with SMTP id 5b1f17b1804b1-456057c68bemr76241325e9.32.1752534629569; Mon, 14 Jul 2025 16:10:29 -0700 (PDT) Date: Mon, 14 Jul 2025 19:10:27 -0400 From: "Michael S. Tsirkin" To: qemu-devel@nongnu.org Cc: Peter Maydell , Anisa Su , Fan Ni , Jonathan Cameron Subject: [PULL 97/97] hw/cxl: mailbox-utils: 0x5605 - FMAPI Initiate DC Release Message-ID: <77a8fbb887cb4c00be094aee839a42f72a850950.1752534227.git.mst@redhat.com> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Mailer: git-send-email 2.27.0.106.g8ac3dc51b1 X-Mutt-Fcc: =sent 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=170.10.129.124; envelope-from=mst@redhat.com; helo=us-smtp-delivery-124.mimecast.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, 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_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1752535826558116600 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Anisa Su FM DCD Management command 0x5605 implemented per CXL r3.2 Spec Section 7.6.= 7.6.6 Reviewed-by: Fan Ni Signed-off-by: Anisa Su Signed-off-by: Jonathan Cameron Message-Id: <20250714174509.1984430-12-Jonathan.Cameron@huawei.com> Reviewed-by: Michael S. Tsirkin Signed-off-by: Michael S. Tsirkin --- hw/cxl/cxl-mailbox-utils.c | 88 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) diff --git a/hw/cxl/cxl-mailbox-utils.c b/hw/cxl/cxl-mailbox-utils.c index 5d08525529..68c7cc9891 100644 --- a/hw/cxl/cxl-mailbox-utils.c +++ b/hw/cxl/cxl-mailbox-utils.c @@ -124,6 +124,7 @@ enum { #define SET_DC_REGION_CONFIG 0x2 #define GET_DC_REGION_EXTENT_LIST 0x3 #define INITIATE_DC_ADD 0x4 + #define INITIATE_DC_RELEASE 0x5 }; =20 /* CCI Message Format CXL r3.1 Figure 7-19 */ @@ -3645,6 +3646,86 @@ static CXLRetCode cmd_fm_initiate_dc_add(const struc= t cxl_cmd *cmd, } } =20 +#define CXL_EXTENT_REMOVAL_POLICY_MASK 0x0F +#define CXL_FORCED_REMOVAL_MASK (1 << 4) +/* + * CXL r3.2 Section 7.6.7.6.6: + * Initiate Dynamic Capacity Release (Opcode 5605h) + */ +static CXLRetCode cmd_fm_initiate_dc_release(const struct cxl_cmd *cmd, + uint8_t *payload_in, + size_t len_in, + uint8_t *payload_out, + size_t *len_out, + CXLCCI *cci) +{ + struct { + uint16_t host_id; + uint8_t flags; + uint8_t reg_num; + uint64_t length; + uint8_t tag[0x10]; + uint32_t ext_count; + CXLDCExtentRaw extents[]; + } QEMU_PACKED *in =3D (void *)payload_in; + CXLType3Dev *ct3d =3D CXL_TYPE3(cci->d); + int i, rc; + + switch (in->flags & CXL_EXTENT_REMOVAL_POLICY_MASK) { + case CXL_EXTENT_REMOVAL_POLICY_PRESCRIPTIVE: { + CXLDCExtentList updated_list; + uint32_t updated_list_size; + g_autofree CXLUpdateDCExtentListInPl *list =3D + g_malloc0(sizeof(*list) + + in->ext_count * sizeof(*list->updated_entries)); + + convert_raw_extents(in->extents, list, in->ext_count); + rc =3D cxl_detect_malformed_extent_list(ct3d, list); + if (rc) { + return rc; + } + + /* + * Fail with Invalid PA if an extent is pending and Forced Rem= oval + * flag not set. + */ + if (!(in->flags & CXL_FORCED_REMOVAL_MASK)) { + for (i =3D 0; i < in->ext_count; i++) { + CXLDCExtentRaw ext =3D in->extents[i]; + /* + * Check requested extents don't overlap with pending + * extents. + */ + if (cxl_extent_groups_overlaps_dpa_range( + &ct3d->dc.extents_pending, + ext.start_dpa, + ext.len)) { + return CXL_MBOX_INVALID_PA; + } + } + } + + rc =3D cxl_dc_extent_release_dry_run(ct3d, + list, + &updated_list, + &updated_list_size); + if (rc) { + return rc; + } + cxl_create_dc_event_records_for_extents(ct3d, + DC_EVENT_RELEASE_CAPAC= ITY, + in->extents, + in->ext_count); + return CXL_MBOX_SUCCESS; + } + default: { + qemu_log_mask(LOG_UNIMP, + "CXL extent removal policy not supported.\n"); + return CXL_MBOX_INVALID_INPUT; + } + } +} + static const struct cxl_cmd cxl_cmd_set[256][256] =3D { [INFOSTAT][BACKGROUND_OPERATION_ABORT] =3D { "BACKGROUND_OPERATION_ABO= RT", cmd_infostat_bg_op_abort, 0, 0 }, @@ -3779,6 +3860,13 @@ static const struct cxl_cmd cxl_cmd_set_fm_dcd[256][= 256] =3D { CXL_MBOX_CONFIG_CHANGE_CXL_RESET | CXL_MBOX_IMMEDIATE_CONFIG_CHANGE | CXL_MBOX_IMMEDIATE_DATA_CHANGE) }, + [FMAPI_DCD_MGMT][INITIATE_DC_RELEASE] =3D { "INIT_DC_RELEASE", + cmd_fm_initiate_dc_release, ~0, + (CXL_MBOX_CONFIG_CHANGE_COLD_RESET | + CXL_MBOX_CONFIG_CHANGE_CONV_RESET | + CXL_MBOX_CONFIG_CHANGE_CXL_RESET | + CXL_MBOX_IMMEDIATE_CONFIG_CHANGE | + CXL_MBOX_IMMEDIATE_DATA_CHANGE) }, }; =20 /* --=20 MST