From nobody Sat Apr 11 21:31:46 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1773048072; cv=none; d=zohomail.com; s=zohoarc; b=Lu9r6FVOBmHNgwrPTvlFDlS01vNB4sUXPZ0OegjIL3wGqAoi19mZyAFZig9OwKBboew/jWGR/eeC8gsM6PMSgjDNcIGaqf1QYVZ1oYd7FbythAm14d1qbEgZXg+hxtg9ee5LJVVsZG9eJ8OArniHMO9HUj2Vxcs9KRHbzDu9yHA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1773048072; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=YX5WvWf5KMSDId6qMw4bzIJU7qTI9+h4oF+qkEgrAIc=; b=U3VnVZbo6wjgQ7rCPtTiOGw93Hhi9QixTc2KBTbSrO6hzjHh2FqsDwqTinMEWY6dfd2uzHo3L6XMc8POl4K8nLqsb+krIm1AXBqdkwfxS7ZfAPtURpggUZ+D4oU/p8a8aIAgq30lzax4jIaBXYo7++vrTqgiCpNg+uP8II3fMs8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=@intel.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1773048072947146.77717309867137; Mon, 9 Mar 2026 02:21:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vzWnN-0004cp-J4; Mon, 09 Mar 2026 05:21:02 -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 1vzWn9-0004aR-MY for qemu-devel@nongnu.org; Mon, 09 Mar 2026 05:20:48 -0400 Received: from mgamail.intel.com ([192.198.163.9]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1vzWn6-0004iR-Ne for qemu-devel@nongnu.org; Mon, 09 Mar 2026 05:20:47 -0400 Received: from orviesa009.jf.intel.com ([10.64.159.149]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Mar 2026 02:20:40 -0700 Received: from unknown (HELO gnr-sp-2s-612.sh.intel.com) ([10.112.230.229]) by orviesa009-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Mar 2026 02:20:35 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1773048045; x=1804584045; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=Fi4yPr1/nPgy/kdYnFnNlcnlkkWDD+kKHfKR6HC5Nyc=; b=P0KIQktqoR24q2M6OHG0juw0CjzbI40y7BT60dzaMB9I1jgHlwIVUCEh 4B0x/MHtWUfZsV2F6YlKdhE4Nhuj3jqaMLTruSmmoKIl1mx8jmznSdyxt ZTqoDZs6vpXNG4AFR/Ep8GMilqtQVVHWAnZGtTaMa5foI23DeR4OpD0fy xDXMSE3RwwAeC3HIKk0nH58+FQhVgZUMAAXnijX3MxUfN2hbvxcgf/AGt mmut4pCYo/YQ4KLb/mieGOXfXj2jyPl6r65nB/Q8rI6Jk33qG4m8oaWVy 1io+bPC+cGOlJ52zAMQCiOfu0e5TyLvpCSGAQEpKn9tRSn3HiTnnxy7KV g==; X-CSE-ConnectionGUID: 4iw/+FtSQ2O2sFskMOkKTA== X-CSE-MsgGUID: gneSZMPaSs6wU7aQCSbkeg== X-IronPort-AV: E=McAfee;i="6800,10657,11723"; a="84777322" X-IronPort-AV: E=Sophos;i="6.23,109,1770624000"; d="scan'208";a="84777322" X-CSE-ConnectionGUID: x7qaNfr1THysLVTysBwVSA== X-CSE-MsgGUID: CNvxuoXDQqqJeI9IJN915w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.23,109,1770624000"; d="scan'208";a="219639052" From: Zhenzhong Duan To: qemu-devel@nongnu.org Cc: mst@redhat.com, jasowang@redhat.com, berrange@redhat.com, clg@redhat.com, nathanc@nvidia.com, Zhenzhong Duan , Yi Liu , =?UTF-8?q?Cl=C3=A9ment=20Mathieu--Drif?= , Paolo Bonzini Subject: [PATCH] intel_iommu: Remove 'x-' prefix from 'x-scalable-mode' and 'x-flts' properties Date: Mon, 9 Mar 2026 05:20:27 -0400 Message-ID: <20260309092027.404489-1-zhenzhong.duan@intel.com> X-Mailer: git-send-email 2.47.3 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=192.198.163.9; envelope-from=zhenzhong.duan@intel.com; helo=mgamail.intel.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 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_MED=-2.3, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.819, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.903, 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: qemu development 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 @intel.com) X-ZM-MESSAGEID: 1773048076532158500 Content-Type: text/plain; charset="utf-8" We had 'x-scalable-mode' for more than 5 years and 'x-flts' for more than 1 year, it's fine to remove 'x-' now. This is a prerequisite to enable intel_iommu's scalable mode and first stage translation support in libvirt. Signed-off-by: Zhenzhong Duan --- docs/devel/vfio-iommufd.rst | 10 +++++----- hw/i386/intel_iommu.c | 8 ++++---- hw/i386/intel_iommu_accel.c | 4 ++-- tests/qtest/intel-iommu-test.c | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/devel/vfio-iommufd.rst b/docs/devel/vfio-iommufd.rst index 78bcdffac7..5755532443 100644 --- a/docs/devel/vfio-iommufd.rst +++ b/docs/devel/vfio-iommufd.rst @@ -153,22 +153,22 @@ RAM discarding for mdev. ``vfio-ap`` and ``vfio-ccw`` devices don't have same issue as their backend devices are always mdev and RAM discarding is force enabled. =20 -Usage with intel_iommu featuring x-flts=3Don +Usage with intel_iommu featuring flts=3Don ------------------------------------------ =20 Only IOMMUFD backed VFIO device is supported when intel_iommu is configured -with x-flts=3Don, for legacy container backed VFIO device, below error sho= ws: +with flts=3Don, for legacy container backed VFIO device, below error shows: =20 .. code-block:: none =20 - qemu-system-x86_64: -device vfio-pci,host=3D0000:02:00.0: vfio 0000:02= :00.0: Failed to set vIOMMU: Need IOMMUFD backend when x-flts=3Don + qemu-system-x86_64: -device vfio-pci,host=3D0000:02:00.0: vfio 0000:02= :00.0: Failed to set vIOMMU: Need IOMMUFD backend when flts=3Don =20 VFIO device under PCI bridge is unsupported, use PCIE bridge if necessary, otherwise below error shows: =20 .. code-block:: none =20 - qemu-system-x86_64: -device vfio-pci,host=3D0000:02:00.0,bus=3Dbridge1= ,iommufd=3Diommufd0: vfio 0000:02:00.0: Failed to set vIOMMU: Host device d= ownstream to a PCI bridge is unsupported when x-flts=3Don + qemu-system-x86_64: -device vfio-pci,host=3D0000:02:00.0,bus=3Dbridge1= ,iommufd=3Diommufd0: vfio 0000:02:00.0: Failed to set vIOMMU: Host device d= ownstream to a PCI bridge is unsupported when flts=3Don =20 If host IOMMU has ERRATA_772415_SPR17, running guest with "intel_iommu=3Do= n,sm_off" is unsupported, kexec or reboot guest from "intel_iommu=3Don,sm_on" to @@ -177,4 +177,4 @@ below if it's not needed by guest: =20 .. code-block:: bash =20 - -device intel-iommu,x-scalable-mode=3Doff + -device intel-iommu,scalable-mode=3Doff diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index d24ba989bf..001847ad37 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -4200,8 +4200,8 @@ static const Property vtd_properties[] =3D { DEFINE_PROP_UINT8("aw-bits", IntelIOMMUState, aw_bits, VTD_HOST_ADDRESS_WIDTH), DEFINE_PROP_BOOL("caching-mode", IntelIOMMUState, caching_mode, FALSE), - DEFINE_PROP_BOOL("x-scalable-mode", IntelIOMMUState, scalable_mode, FA= LSE), - DEFINE_PROP_BOOL("x-flts", IntelIOMMUState, fsts, FALSE), + DEFINE_PROP_BOOL("scalable-mode", IntelIOMMUState, scalable_mode, FALS= E), + DEFINE_PROP_BOOL("flts", IntelIOMMUState, fsts, FALSE), DEFINE_PROP_BOOL("snoop-control", IntelIOMMUState, snoop_control, fals= e), DEFINE_PROP_BOOL("x-pasid-mode", IntelIOMMUState, pasid, false), DEFINE_PROP_BOOL("svm", IntelIOMMUState, svm, false), @@ -5564,7 +5564,7 @@ static bool vtd_decide_config(IntelIOMMUState *s, Err= or **errp) } =20 if (!s->scalable_mode && s->fsts) { - error_setg(errp, "x-flts is only available in scalable mode"); + error_setg(errp, "flts is only available in scalable mode"); return false; } =20 @@ -5577,7 +5577,7 @@ static bool vtd_decide_config(IntelIOMMUState *s, Err= or **errp) } =20 if (s->fsts && s->aw_bits !=3D VTD_HOST_AW_48BIT) { - error_setg(errp, "Scalable mode(x-flts=3Don): supported value for " + error_setg(errp, "Scalable mode(flts=3Don): supported value for " "aw-bits is: %d", VTD_HOST_AW_48BIT); return false; } diff --git a/hw/i386/intel_iommu_accel.c b/hw/i386/intel_iommu_accel.c index 67d54849f2..b28d5eb9fa 100644 --- a/hw/i386/intel_iommu_accel.c +++ b/hw/i386/intel_iommu_accel.c @@ -26,7 +26,7 @@ bool vtd_check_hiod_accel(IntelIOMMUState *s, VTDHostIOMM= UDevice *vtd_hiod, PCIDevice *pdev =3D bus->devices[vtd_hiod->devfn]; =20 if (!object_dynamic_cast(OBJECT(hiod), TYPE_HOST_IOMMU_DEVICE_IOMMUFD)= ) { - error_setg(errp, "Need IOMMUFD backend when x-flts=3Don"); + error_setg(errp, "Need IOMMUFD backend when flts=3Don"); return false; } =20 @@ -44,7 +44,7 @@ bool vtd_check_hiod_accel(IntelIOMMUState *s, VTDHostIOMM= UDevice *vtd_hiod, =20 if (pci_device_get_iommu_bus_devfn(pdev, &bus, NULL, NULL)) { error_setg(errp, "Host device downstream to a PCI bridge is " - "unsupported when x-flts=3Don"); + "unsupported when flts=3Don"); return false; } =20 diff --git a/tests/qtest/intel-iommu-test.c b/tests/qtest/intel-iommu-test.c index e5cc6acaf0..4f12c56260 100644 --- a/tests/qtest/intel-iommu-test.c +++ b/tests/qtest/intel-iommu-test.c @@ -29,7 +29,7 @@ static void test_intel_iommu_stage_1(void) uint64_t cap, ecap, tmp; QTestState *s; =20 - s =3D qtest_init("-M q35 -device intel-iommu,x-scalable-mode=3Don,x-fl= ts=3Don"); + s =3D qtest_init("-M q35 -device intel-iommu,scalable-mode=3Don,flts= =3Don"); =20 cap =3D vtd_reg_readq(s, DMAR_CAP_REG); g_assert((cap & CAP_STAGE_1_FIXED1) =3D=3D CAP_STAGE_1_FIXED1); --=20 2.47.3