Message ID | 20240515071057.33990-25-clement.mathieu--drif@eviden.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show
Return-Path: <qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org> X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 53574C25B7A for <qemu-devel@archiver.kernel.org>; Wed, 15 May 2024 07:16:04 +0000 (UTC) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <qemu-devel-bounces@nongnu.org>) id 1s78rj-00061D-Sa; Wed, 15 May 2024 03:15: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 <clement.mathieu--drif@eviden.com>) id 1s78r7-00050u-Gg for qemu-devel@nongnu.org; Wed, 15 May 2024 03:15:20 -0400 Received: from smarthost3.eviden.com ([80.78.11.84]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <clement.mathieu--drif@eviden.com>) id 1s78r1-0000oW-4u for qemu-devel@nongnu.org; Wed, 15 May 2024 03:15:17 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1715757311; x=1747293311; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=79+D25oBaPoMjf9fMPZ/2SPwoo4FJ0Jwk2KUD7UjEb8=; b=fC7G19JzEFXngo+VZWeTHNBnnTE1IbrvYGdXYPqpz4syONn/arFzJZE1 K6lv7/uDcamSLXloxkRgYOvUyoXbkMoc87PPrDoYk3bQ2ZB6v331IYqeR JOf/D/zZDUnzdlH+aXbCzSRWSrJMV/Eo5FHdLQFiFD2GPMgYk35GB0dbQ s4z5be39j5jyl7Y3TKqgZ83o24u1cAGJInCsI2N7/2J7BshHYqhXD4K2/ 1G1JSUFabsonYt3yf3kH+iq7c10nLUWRtOTUihAevo3ol9CYj24Kw3qPE FgFYnyZq4gjyUeT4h3EhVIXD0XZF1ONwqdQunPmJdERdMPayn4b/rXc7k w==; X-IronPort-AV: E=Sophos;i="6.08,161,1712613600"; d="scan'208";a="12581815" X-MGA-submission: MDFTp6OHjzhp7RWTi6kCZkZIr7fko7SNmiFLnYkt26F6eX4XPMeK7jcdD+I2c8NMHf8bQHrSZ6qcZnIHQihBzwZfNkyGTXlWqAsP2r53CdwHrnx933P1oXxQV1imgpkL/MVxfVtAKJyjNeMIqzZM9GiS9oHXa31XvUb/WQlsOWEjrA== Received: from mail-vi1eur04lp2050.outbound.protection.outlook.com (HELO EUR04-VI1-obe.outbound.protection.outlook.com) ([104.47.14.50]) by smarthost3.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 May 2024 09:14:23 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZzsEFt9xqQzez0PC6HbpLtIiGmMMH81J2Bj9MbUGAV3ul2CMVWk3Y8oCck6ufDzimRqpv5qtdYXUB2S72NCZIxNGWfacug0gy1h7m0KqznozYHOAcmu0xsbO51iwCIJP36oaM1EBT29nUZpBijsVZOktVQhJ8ar9wp+Z3Kio1F5DtWbCxqlRWAqdFxTBNFybtbTL0RpDC6LsVkrPXH/yXrx9ZRmYRAqot8O957rtSkCugJVcsBH1wNW9ClDVjToFB8XwX7yw/PAOwrpZWA3llweHwFV3JQotJI6k1myDPNN+fJ9l8hNAMoogIhrIm1ooUwGpE7V5GextXdNMN0sdbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=79+D25oBaPoMjf9fMPZ/2SPwoo4FJ0Jwk2KUD7UjEb8=; b=Hydo3OwMvt6h103LqJc8DhdkAL1eqtqR0A8vRvVZOTPqg7J5BgHH7l5NSdnkCizUbfwlzgj3wmLYDQfuvW1ErDqhTaHMsZf368svj4adZy+PfRZyp17bBZJ1nDSTBrBoFHc7sFUm96EMXiz51q3MDZibBzwBqgMGeOdxkAbUPYuvJEIgvV7JGDkkiyza/OlpbhJ568tKp7itBjPIGWVxeSASvBoVCRNQQHg8N23lzdBTGeNWvtDVVAvgH7zAVMXvZbQu4gA9LszwF4O9bFlB54NvSHMHV5lgDaBMkBrQ+6oaziBGU8sEOzDEQKvUSWrO9fv5rSR224oKJd2Zs96b6g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=eviden.com; dmarc=pass action=none header.from=eviden.com; dkim=pass header.d=eviden.com; arc=none Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by VI1PR07MB6718.eurprd07.prod.outlook.com (2603:10a6:800:18f::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.27; Wed, 15 May 2024 07:14:21 +0000 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com ([fe80::fbd7:ca71:b636:6f9d]) by AM8PR07MB7602.eurprd07.prod.outlook.com ([fe80::fbd7:ca71:b636:6f9d%5]) with mapi id 15.20.7544.056; Wed, 15 May 2024 07:14:21 +0000 From: CLEMENT MATHIEU--DRIF <clement.mathieu--drif@eviden.com> To: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org> CC: "jasowang@redhat.com" <jasowang@redhat.com>, "zhenzhong.duan@intel.com" <zhenzhong.duan@intel.com>, "kevin.tian@intel.com" <kevin.tian@intel.com>, "yi.l.liu@intel.com" <yi.l.liu@intel.com>, "joao.m.martins@oracle.com" <joao.m.martins@oracle.com>, "peterx@redhat.com" <peterx@redhat.com>, CLEMENT MATHIEU--DRIF <clement.mathieu--drif@eviden.com> Subject: [PATCH ats_vtd v2 24/25] intel_iommu: set the address mask even when a translation fails Thread-Topic: [PATCH ats_vtd v2 24/25] intel_iommu: set the address mask even when a translation fails Thread-Index: AQHappeCe/bWBpU6GkuYFT4q/AqGqg== Date: Wed, 15 May 2024 07:14:21 +0000 Message-ID: <20240515071057.33990-25-clement.mathieu--drif@eviden.com> References: <20240515071057.33990-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240515071057.33990-1-clement.mathieu--drif@eviden.com> Accept-Language: en-GB, fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=eviden.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: AM8PR07MB7602:EE_|VI1PR07MB6718:EE_ x-ms-office365-filtering-correlation-id: 9a4ebdd6-92ea-40c5-8986-08dc74aea4c9 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230031|366007|376005|1800799015|38070700009; x-microsoft-antispam-message-info: =?utf-8?q?g3fnJhPbcf+G3LPxuWywzgKE7KELNwA?= =?utf-8?q?3XlD5SKUrZTDEdclubhSGFkdPnU+qqz8r7IOxXppYN+ZYXbRCY1Z89qSWsXCxdoSc?= =?utf-8?q?GlrqGsFDUaV40kK1LkVaqSRXobitTrmwo40EIG32rzikGNIZGEd8w0SNF6yli00DH?= =?utf-8?q?XzNd8efdXpPnojCDM4NN1QF66Unncdj7mt44kymp7sWwTgREKvXqXTvxE2XF+a/0G?= =?utf-8?q?jPBrikqd4ikQMYPwSTanP34/fcHJRcrQcR4iIVawQndmiJpJDvQb/IkmXslxJBIi8?= =?utf-8?q?ds6uBK79gN53wvAGd5WNQxnyYmIdR5JZVY3Zk4ztnbyzG4ZFRJAHLpMdUHqVyjkFC?= =?utf-8?q?7kOz8/9Msfjow+sEE4bgFme+J9czRnlPAECbWLuUrh4WuiDZRTPThXGGQkmm5KO6S?= =?utf-8?q?h936PWIzaKWjcclyd5r3vKsrR7+KDmR/u0pOy+zeFaEcQpT9dJcuqVi1+T0uo3QaT?= =?utf-8?q?COPaQ+lBSdH203BBZnA4RKqAKcXRQprTBFzI1BzTq2t3HAC9QpPhdKv70xzqQ3Vmo?= =?utf-8?q?1/vo9yScgANXA1iwR1w+JmRHr3OJr+PU37x7G/90oJfUsqOWyT5k/CdM5O4BVLmw3?= =?utf-8?q?jn4DSB7ecB7qWJ8DexM0B9T8mgO8tEqkBhAdnzYAgVN0KBrWYPbhpB8bSvQOdQC0P?= =?utf-8?q?852+upRDuqMCC1ReYEtzX94g4bkvICXZPXME+BGfLBKIVhHb5b2wkJ5grpV/RxHoB?= =?utf-8?q?pc0ztFCRZJnzJP91z9D3DzNUm8DV0xoj4l2LggpbqSw/4Sl70OeRBcSboKgCRzBdz?= =?utf-8?q?ZraIhNZcYdt4t3us4hA2ORbv2Lnr/HOy4MLMP82SM9Ti0ZpxI29T3G8aPjPejiyQs?= =?utf-8?q?J/L20AA8icgn+t/cCwwjPYtaicuFksEZFcc8S3NIOxuSiX9d5aP0aWfohT2gj3EpH?= =?utf-8?q?hK8tyIw/zXpi4mgpbHzjD54J2TY7J+mRNXSJeUlGx7E37B5b2qeywqaOvXkOvpU4Y?= =?utf-8?q?ZlQQI8ErTEM6n/LJHnNHgFEC8Rjst07fY2jsgKi2NRm9YXz0vQ87cvD31Jm0mp+sR?= =?utf-8?q?7m4IRKtWPD+1MLcZJjtFTZGSUM/fomZlDB4N20U2jUFB0QqutEmHEwhKofiMthq8x?= =?utf-8?q?B2wi+CZN7KSEADp66GCdndhm44Gk4v+peINLXSqJSpcTRSNqgPCDtioYct576wMOq?= =?utf-8?q?VqfGNiJI99CHroeyW0Ca0ycK7CQQcUQiZKXelz+w/uman4scshkC81DJICsLGYiAA?= =?utf-8?q?5NczKS8kZxtse0xn9pV/QVFhUcQ/SknLZlZ8OVuyY9m7IERk/rAYd2CGiHWJAPnfp?= =?utf-8?q?c3zM//FzemPhvwRujfPiD8jDSv0kJJOus9w=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM8PR07MB7602.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(376005)(1800799015)(38070700009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?Q1zL0admcUA7HQyga2Y7m4JnvpCT?= =?utf-8?q?o4tL34H45/Vv3Ru8rEbE9C43Zvxe93Pemu7hiAv/oiYoM2P2eWCNHOxAyrzp24wgg?= =?utf-8?q?RJnjR7IjpmlieJIGZXP5hVNyagn1RMTE/4CKH4h4OGu6Dp4gWpNRlrzx9xk7eAaEq?= =?utf-8?q?etnetF/2dmYTdLJj9JH73n7//fxXsc3lqneHNpH8HRNv6D93utWwd4ZRVGYhG02X9?= =?utf-8?q?48Vo8nlEuD7mgOYW0YyfAlXKzSz7FvHcaG38tzKMQ+DV2qNfZyB4qcklAmg8+QCbK?= =?utf-8?q?J43T0pGV5nDC7a782ffl84laEdZVP0Zyn6ebmfxAEQEDw/TqYVvFXIy32JzmULQDU?= =?utf-8?q?yfyPT/aUpAchIKO3GJxPDSY83wLDno7gAg28OzQwonztdJ7vCEazLCK8iJjDWeuv4?= =?utf-8?q?c0KgwZwEIbTARt57Xt2BzM3R4kJRSqKA/0/V/uMBoBLZ3oKfPUh8HYHH4xCPs60XY?= =?utf-8?q?h1t+OQQL86jbSKSiTfx2/JK9veUvJ/4nZLtp9PpKTAAGSXMbfvIcmjAjXHW8WVX8/?= =?utf-8?q?8mLshS0g+SexuF8j3Ga0324AAcqSWENTPMyRXO2T4xK22MSLeokZfNQvvrJy1MqYT?= =?utf-8?q?xKut7V5cOJLQyED7v5Um4pjx/Coi5Kj0inYJkfFIhZmZANBkPl9/9JSkEQwdtUoWo?= =?utf-8?q?b68zXcz42yhvIOF/JE3YGmid/SxK9baRFOv3UTfr+xpmS2cUdiNUL1W/ET6xmQPtX?= =?utf-8?q?Ge1hCuDI9VRgBGqV5o5OP4H0ut+LkON4sc1egRle9KKCSxNM2KFIBlcmB0y9y+m77?= =?utf-8?q?3RhfVptfTxZaj30lUcSjzqDrD9F4Fa+p3AN4RE3cH/gKx/IsdwYGRg0xyeuZEtWhR?= =?utf-8?q?22pBZ/epnl4EzZl0D95xBDhaGl9MAPZL6Bg+VqO1hGdgeLBaImz4hMmCFo3p4WijB?= =?utf-8?q?buAwkXAfoHemGNYEIOhVk1OubNPAf6DVVT68RDFwp73+7IYTXZvcFUwJWzERuKXwn?= =?utf-8?q?74NH5VAvdFZEAbn1Ic0Xq3hlLraLBWhOQpuYoTiNNq9zw8/9o6rzx1ov1G4I8wFAO?= =?utf-8?q?Op+JFTU6AF405kVEdFY8HDyerB0VE4J/4AL8nYzriYQe0TgQuIFF/XsRm6L+1tRY4?= =?utf-8?q?jWYdp9qSb5HftXi7ZYxk+Re4UjOwQuN9w8LH/F3su0CRSS2gYmWqWHXrHlWhZE5Hg?= =?utf-8?q?r7jqQ3SxFXUlQhOsYGwgMN02o+j8ehDkJy1knBVhU96zHp+MqWYOrsokwrGnwi0zI?= =?utf-8?q?aZl/M/VemTmjcFcEYm1QNoGAICOBQwRlCv7xroRPKYxuouKEUBS55QWbw03vhUDb8?= =?utf-8?q?1XhLw6WYV/ckwu1b9qUsf8DAF++h8PRrjUH6AjB6bpYSUgzhU4mLT7uXUq7434P+9?= =?utf-8?q?Nmyq5isFYnyipOO0lanjrNepj55dqp8L04gSYeStjgm06a+0Wz04JjSE4CjTRYjCL?= =?utf-8?q?HAUQayo19bBJd5UqiTY1yAmkpa5s+rilDMKBH+yf+q5vKGG2sLnOXErD24yonZmaJ?= =?utf-8?q?RMnJ5ZUUwyU0dbi5ox2gqCPuuUP+cYWS+RB/rLMj5hfbxpRtR3lzkIJlhnU2xe6Ie?= =?utf-8?q?pqGSQXTM8yr6UGkvdQLfvFG7dLQKzSVespbVf9DSbPLODzSvrDTbG6w=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <F5C2BA33C186E349BC56BC66970F9DC4@eurprd07.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: eviden.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM8PR07MB7602.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9a4ebdd6-92ea-40c5-8986-08dc74aea4c9 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 May 2024 07:14:21.7498 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 7d1c7785-2d8a-437d-b842-1ed5d8fbe00a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: WSP6vqeGcUIS+0oshk5R82CdDQ1wDHpl0NxLfhMAijAAKB6FAZwpPVYA46DInuCc5i8eh/1y8xBAHdwmK9SryltsalYJ9QeV018bZNGutvGyXoKXTD4DynBPMy+52o6n X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR07MB6718 Received-SPF: pass client-ip=80.78.11.84; envelope-from=clement.mathieu--drif@eviden.com; helo=smarthost3.eviden.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, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-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-devel.nongnu.org> List-Unsubscribe: <https://lists.nongnu.org/mailman/options/qemu-devel>, <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe> List-Archive: <https://lists.nongnu.org/archive/html/qemu-devel> List-Post: <mailto:qemu-devel@nongnu.org> List-Help: <mailto:qemu-devel-request@nongnu.org?subject=help> List-Subscribe: <https://lists.nongnu.org/mailman/listinfo/qemu-devel>, <mailto:qemu-devel-request@nongnu.org?subject=subscribe> Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org |
Series |
ATS support for VT-d
|
expand
|
diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index c4ebd4569e..67b9ff4934 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -2164,7 +2164,8 @@ static bool vtd_do_iommu_translate(VTDAddressSpace *vtd_as, PCIBus *bus, uint8_t bus_num = pci_bus_num(bus); VTDContextCacheEntry *cc_entry; uint64_t pte, page_mask; - uint32_t level, pasid = vtd_as->pasid; + uint32_t level = UINT32_MAX; + uint32_t pasid = vtd_as->pasid; uint16_t source_id = PCI_BUILD_BDF(bus_num, devfn); int ret_fr; bool is_fpd_set = false; @@ -2306,7 +2307,12 @@ error: vtd_iommu_unlock(s); entry->iova = 0; entry->translated_addr = 0; - entry->addr_mask = 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 = (level != UINT32_MAX) ? + (~vtd_slpt_level_page_mask(level)) : (~VTD_PAGE_MASK_4K); entry->perm = IOMMU_NONE; entry->pasid = PCI_NO_PASID; return false;
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: Clément Mathieu--Drif <clement.mathieu--drif@eviden.com> --- hw/i386/intel_iommu.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)