Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp2054662pxa; Mon, 24 Aug 2020 03:58:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxofDIGw+2zRODecDec14EvodXyQn3Jl7nVOYzRKCCsb3bK/cfozubmu0y31k56vlH379JL X-Received: by 2002:a05:6402:745:: with SMTP id p5mr4821495edy.94.1598266711131; Mon, 24 Aug 2020 03:58:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1598266711; cv=none; d=google.com; s=arc-20160816; b=bg7a0pT7B4vXDfAHgC+SFlBynCvcbUDP+DlbyGvNjDjj4yNzuxz2+frrU1Ja6dHpNh kl0R9DtXRx4TkIP4bi20ohsa//PMJE9qg0khG+TVxV7kRrpMP4cJz9liqiAWsvjlnIQS +QtiJyLro+JmpndaL1K73PpjzVx7jVeCjG5WD0JcVHp3AezPl8JoCwPO1WKW91Kc8vYN Ytn20qrFomjL4fG5nQ6jnnAIkqDKJX7Kfjdb31ZPRiSjB/yaaOi9b4LuFwPQx33hYDjt 9ZgNMBYHr/FOPY8soqA3ViW/ddK0PeihmhdROoLMlD9uXx4efI4blLMFxQ/OhMe6TN6E qSEQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=Po6zMAKDivhsQfwbuXEan9SD/OCI6B6eCjtlOEBojtY=; b=MwJ0ghHVWJCR+Hw2K92JIXKmOVdXWOZTobEAduvqTlZ6mCzOdp5Yj82Yxd6dxOVHL0 TGzpotzLn1aH4gK5b2BFQeCMTKPEV4uZcx5DTahVoulFWsjKHhhlizIrdT/poA9ufK8f 5ObXMR1rD7CsTDppqAprn6mPs8bjFXvYZNOpJuN7a0n8D2de97xiYCT1N+6ev6jfkI/A zMdAkPYt0Zdf8qqalFQoSGVypVUEabxYQHgjI3Gma6RIhHzuB3JXA0pzkXQgWeUnfRJL vJLpbvtqB24MhjPFRi1Y2TgFrru4IoYEfBWxM0g2W1/mcRRWQ42HJ4cbaVzufxssEicG SDiw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=8bytes.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s15si6302384ejx.745.2020.08.24.03.58.08; Mon, 24 Aug 2020 03:58:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=8bytes.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727022AbgHXKy0 (ORCPT + 99 others); Mon, 24 Aug 2020 06:54:26 -0400 Received: from 8bytes.org ([81.169.241.247]:39226 "EHLO theia.8bytes.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726239AbgHXKyT (ORCPT ); Mon, 24 Aug 2020 06:54:19 -0400 Received: from cap.home.8bytes.org (p4ff2bb8d.dip0.t-ipconnect.de [79.242.187.141]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by theia.8bytes.org (Postfix) with ESMTPSA id 4380AF3; Mon, 24 Aug 2020 12:54:17 +0200 (CEST) From: Joerg Roedel To: iommu@lists.linux-foundation.org Cc: Joerg Roedel , jroedel@suse.de, Tom Lendacky , Suravee Suthikulpanit , Alexander.Deucher@amd.com, linux-kernel@vger.kernel.org Subject: [PATCH 0/2] iommu/amd: Fix IOMMUv2 devices when SME is active Date: Mon, 24 Aug 2020 12:54:13 +0200 Message-Id: <20200824105415.21000-1-joro@8bytes.org> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Joerg Roedel Hi, Some IOMMUv2 capable devices do not work correctly when SME is active, because their DMA mask does not include the encryption bit, so that they can not DMA to encrypted memory directly. The IOMMU can jump in here, but the AMD IOMMU driver puts IOMMUv2 capable devices into an identity mapped domain. Fix that by not forcing an identity mapped domain on devices when SME is active and forbid using their IOMMUv2 functionality. Please review. Thanks, Joerg Joerg Roedel (2): iommu/amd: Do not force direct mapping when SME is active iommu/amd: Do not use IOMMUv2 functionality when SME is active drivers/iommu/amd/iommu.c | 7 ++++++- drivers/iommu/amd/iommu_v2.c | 7 +++++++ 2 files changed, 13 insertions(+), 1 deletion(-) -- 2.28.0