Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932979AbdDRVVA (ORCPT ); Tue, 18 Apr 2017 17:21:00 -0400 Received: from mail-co1nam03on0076.outbound.protection.outlook.com ([104.47.40.76]:59552 "EHLO NAM03-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S932414AbdDRVUu (ORCPT ); Tue, 18 Apr 2017 17:20:50 -0400 Authentication-Results: vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=none action=none header.from=amd.com; From: Tom Lendacky Subject: [PATCH v5 24/32] iommu/amd: Disable AMD IOMMU if memory encryption is active To: , , , , , , , , , CC: Rik van Riel , Radim =?utf-8?b?S3LEjW3DocWZ?= , Toshimitsu Kani , Arnd Bergmann , Jonathan Corbet , Matt Fleming , "Michael S. Tsirkin" , Joerg Roedel , Konrad Rzeszutek Wilk , Paolo Bonzini , Larry Woodman , Brijesh Singh , Ingo Molnar , Borislav Petkov , Andy Lutomirski , "H. Peter Anvin" , Andrey Ryabinin , Alexander Potapenko , Dave Young , Thomas Gleixner , Dmitry Vyukov Date: Tue, 18 Apr 2017 16:20:30 -0500 Message-ID: <20170418212029.10190.92261.stgit@tlendack-t1.amdoffice.net> In-Reply-To: <20170418211612.10190.82788.stgit@tlendack-t1.amdoffice.net> References: <20170418211612.10190.82788.stgit@tlendack-t1.amdoffice.net> User-Agent: StGit/0.17.1-dirty MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: BN6PR1001CA0017.namprd10.prod.outlook.com (10.174.84.30) To MWHPR12MB1152.namprd12.prod.outlook.com (10.169.204.16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 00cbd022-6bbc-4f5a-1eb1-08d486a0c2fc X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(201703131423075)(201703031133081);SRVR:MWHPR12MB1152; X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1152;3:v73GtF7s3MKBfxGsKMEFksoFyaHL2JJlBPW+xCPCxJhf74DIZPKDOO4oSfvvZBSf2zrfI7LVTDFDDxZ8TLU6pvB5nnRB2COa1DjiMDe6ua0kxEy/YkpN1Xo1MbGLKeJR86Cb9tMBCRD2vPHb7zSAEoFMXqbTRc/os3OHACjx+co1enujgQOLp1VvdwWQJh3PaJ/14ya6qofIuZN7f0EUGIFnAQV7tQIwvR3CYSv/QIspauvdqngo3vRGJCwvMJyJWBcESfsbpcoaPQUOUDqR9iK4aGfvOq3gz8bWCC4Jra3g8zPB7AUZPTRR9fR7o2GbLw60bfyHY0lGK+6EQUKlXXrMdDIMrD/4aXbAPsPrzSU=;25:d/grcOO/1rxDgs+RQiHhY8LnUOxYgus30I0S4Gfppe/enET30kEljZiJ2HhQBpvIqmkPZVkqP4ZhYVY6F03ZXlWaDhKxShxX8mM1lNB3JcYZBpYJCWCsANEqublTqJ5RqeIKVpi5D5p8P6V+QqsscvaVvicPoAv3AvXi8twlVWW6ls1BXccc6bP4yC5JHhFQD8RLsOt5QfxFPr7kfqQQxGtlndJkIiDi73zyjIoLsEE8/uY0NvCmUPGQzNtMm6GrW+Y9eBmtd53MSM0Z5LN3OKahRRCCwM0pSujTPvw0fF/fsnMhjLdqe5Bq1xsq+9cuJE1h6P6pDy5y4VohLflhlPDyBwtOPaNwEx+HVL/ejpLxfVSjlicJzt7PZrFSrlZ9ZCtMTCfjmsPTkjnBgUQISK3SN2t++gj4M1Y4lq5Kz/HgNjn4oO7Bqil794DYfLcdHaBY6XquU/rhoIxPkK3dKw== X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1152;31:B/Ff7eqVuCW+RL6Ra4ESjVd8zUwHoyS7KkLo9QnHjjdpwLcqwGvRReGWuR1rQHd5/1nicuFHh3ZUvlU115jWLE0JDNkNt9D4a1JoEn47R482Y6bFMujxufy5h+bl2qjfOuA8senn6ht9u5q4bP6kAUHYboMzBIM7Z9j9oN9MFY5u8MZnU6nTZwX57vz00TYFsYytIpVxQshk6f3OKfW9smddZo3dzQY4oQ0rTSm9UBw=;20:EIb2+j+py9rr8lQTcqU/GO2rF/JObbTr39BaxJHwlVDBbinYSIwU16h6DLeMs6LaUVsXttEgBw74vHvi4LTV1LT6Jt6D+O5sCCUlRPeHtt44bVrQNKMrurfZzDX59NfN1HB8ua3DKu8H4CtDh69kiCuBgTUhsXml4cHZIIMwKoiwLvJncMGoVxG1VDv2gxM7LJ2aZX9urdEpFXXtw+Ehpu8dWV+DROzjkdfThGzzl3MKgLfEn6EvVBqOvhmatWY+qAffKcLx4Z+I1S6CWzqhB2ZfFbk9/uYi0gjMB5R0K0QgB1NjgVpwEhCrrZB1sqygIOKDlW31RIuNksxQB7bUJWnvKgxPohGVwtcoovTbsV1zJSCLYUg7+1FwXFlqnhN0viQw0u2NLrHvtLCQMMTA9PxRKGydN/uDJdMNo8PiucvILFrfZ5D6IU2aOZwaK4S0/03KqLWePTbGjhQJYx7JJylkOOCde9fx0ElUXuEyKAZOp8EHJwedw4VSQh4+aFF5 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(93001095)(3002001)(10201501046)(6055026)(6041248)(20161123562025)(20161123560025)(20161123564025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(6072148);SRVR:MWHPR12MB1152;BCL:0;PCL:0;RULEID:;SRVR:MWHPR12MB1152; X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1152;4:gN+JCcEAoy6adEb1Tpki/gnYHc1EXkfEud9y/wzZ1XW4iQeeotkXceG/oolUs4oY3RKrsm6karnB2n5i/3jLtXgv3XyQ6u6bnxsb5ZBBu+XFnRHbmV9UkaY30QMeq1bi6/2Ebkn+VEdjbzf/dD98+bi7pQuSEdij0ByOLIS0vW6EbbnKQ+48HyDf6EoB1D+2BLgPrFhP92Bq243uaLibfyh+N4U17Yw5+RmdbBvqLQ9NPovXXs7KFUuCHzE8uMtvkR4cRHiS39wGAjKeS6EZoEy853OkXXxSZ5PSeIU3BDJ/sSQm99+nhVAak4Qhms1pGiPapx5ScPatP/ag0tmzk5Q3vxa2CGVbjq+CgMh5HSRISB4dqWqEsJg8phT0Nq2KCLPoVOmYOCsP14zaja4UxjQNrTd04zilX+4LGRZ4UVhcqmiVPnOWpX5U1ha/qY4DfisYc0jqT88/IaekVoIEqqOKweguIKZ5jEFnihxYeWSYOx2KqrQkpmmA7IxVcbfOpmKgwsHjPZgKb2LxefEtK1TTJYUMZMAeZ7M3TYlKkE4egMF6XLr58bgiHaP+IHvWkzeK9jQFvb49Rolv5vBgurrELo09Ve5R62BVYzcJNGo3aaOuEICJKQFiWdTO9a+gz7qmKwuE6O3CWNy8myUYB/z9F+y6x5LjHn3eyhPIFjxDtndzH1LISvirekkKZV7g501inbErWgxCM0rKQ+myevykfmCil4ROASGF9yVK9MX8F4aWpRZHtyJcBAOvI1mBfpmB35Q8naJBpe8m3ortEQ== X-Forefront-PRVS: 028166BF91 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(39450400003)(39840400002)(39860400002)(39850400002)(39410400002)(39400400002)(53416004)(2201001)(6506006)(33646002)(42186005)(305945005)(2950100002)(54906002)(9686003)(50466002)(25786009)(4326008)(5660300001)(189998001)(86362001)(83506001)(23676002)(4001350100001)(38730400002)(7416002)(7406005)(7736002)(3846002)(2906002)(47776003)(53936002)(6116002)(97746001)(6666003)(50986999)(76176999)(54356999)(55016002)(81166006)(230700001)(103116003)(66066001)(1076002)(8676002)(921003)(71626007)(1121003)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR12MB1152;H:tlendack-t1.amdoffice.net;FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjEyTUIxMTUyOzIzOkgvc0tocVlrWWNBQXBvY2dSSXBkanpKN1ZS?= =?utf-8?B?TzVYeVNSd0tweXdlanVHYkE5VkloMTJmRzZyMGhkeXpZalJwd01YY3gzeUhU?= =?utf-8?B?dkQ0WUs5SlUyTkRwVURTZ3pWc242QWpFZWFZQWhLczJIVmxwY3I1cFJ1OG5B?= =?utf-8?B?MTBFWnp0NzBHaUJ5aUxONVZDSHNwdGtYYnpKTEgyTzVRZ2hTMFVmeGdpQTFk?= =?utf-8?B?Ym81VE9nWnhWSmxDMWRTUTVkQjNJRGhCMno3bnd5UFY1bnZUeEN4cGViU3Rm?= =?utf-8?B?NmUxRS8vWHI4dmh4TFZjR0NVc3VmTzczNWtJdWhONWM4ZFQ3ZysvRjdoMFFL?= =?utf-8?B?R3pselgydVJyNkpJVVcwajVjcHBtMDdYQ05YYmpUOXRSaEtmZm9IT3FqUzNP?= =?utf-8?B?MUdYNW05Q0R3Z0d6SVJRYjlYM3I1V2E5Mm1TcGo4K0wwR04yZmZadDVJcysx?= =?utf-8?B?ditSRWdzTTlZS09uR1Z2dUc0anIxUk1GaDZRNTJnVVpUTlBkeFoxQ2RWTUxW?= =?utf-8?B?ZFJWTXFPL2ZZZytqS21xSjBVZjhIY2JmYmpXV1FBNENCSXkzWjJlMTViL0tz?= =?utf-8?B?Z0VhOWJ3RmxRRlN2UnZCOXZ4K01SZkxiUDZ1NDcwaStyNWpad3doUFcydkdB?= =?utf-8?B?Vi9rZ2Y3QUxMZkkvcTMwUHJnMStTNmxjdnRyZDVoQXRKZ0oxQ0V2VnJoQlJE?= =?utf-8?B?ZEZhQzY2aUJqSEZMYkZjeklia1VXNDhDREUvNUZqMy9pL3k3UjdiL2ZDd2Zz?= =?utf-8?B?bkFWVUpLeTJLalJaOEZENlVHVkdHejBqZzVzTlBUS09BY0xCbGZXOWY1eS8x?= =?utf-8?B?eEoyMDhjNUZ0STM5eG5wTXlhODl1RmhZcWFWR3djNnBFMmM2ekNhV3JlbFpD?= =?utf-8?B?TlJ4bmlCV2RWT3ZvY2Fjak1LejVPOW8wSnJ6L2c4c08wc3JwU293TlpzVmtD?= =?utf-8?B?aWpBdDJBRjgxckREVzh2OEZlWCtGVVJFczk4L0xYdGYvVjJQcy9XcldwOVdq?= =?utf-8?B?dVRubmVWNUs5dExwRWRYeE1qcnBQVnQ0aGUzUnJSa2ZSWCt1cUc0VW9YcXhS?= =?utf-8?B?R0h0RXA0VGNRWnlFRUhnN0JtZVlxc0RHcW5oMlg2dWljWjZpY1ljUjc4SE1N?= =?utf-8?B?RENEaHdvM0ViWERDOFlHdFFpMHljRDU4RVVJbTFVY0tCa1dYSzluSVlSZ2FI?= =?utf-8?B?VEs3ZUVISFFGbTRHaGdkdjhhZFEzL1N5NEx1dGVSMEJJVXo4RmQyUkVFTHE3?= =?utf-8?B?S0FRcmdlL21iVUpoeGFFckJlQ3FadE0vaFhUcVNNWE1sbklSSTY2L1F2WHBr?= =?utf-8?B?d2ZYOHBwTHJCQTlTWmRDL3dEWGVaRml2M0FoSWJ3ak5CSUJleHAweHFmcTV5?= =?utf-8?B?UkxJL1Y3SlhNNkx0T28yZ3JtV1dMUlVKbVpMNVNMQXo5VXkvZ0NKbmxrOWFX?= =?utf-8?B?QjRlM3BLaFZhQ0NVRVVEeS93YzdIQWFWZmlyY2FkU2FxcGlwM0NOZGxRYllJ?= =?utf-8?B?WDV3OW9YMGZUMVpMd1lITWNNdzI0c3J5KzkyQzdwSFM1eno1TjVWbUFSTndp?= =?utf-8?B?RUlhWFIzNTIyTm5Jb0ZERkh5Nm1lc1NxcGZPNEwrMWNkQzk0Nzh0NzYvWmtL?= =?utf-8?B?bFFvNmEzYmtucUErRlVqUGhKUnhlTmV0UDdqaE12cmptL0xUV3lEeUxoN3Zn?= =?utf-8?Q?xdpSc/m6vy6LaADVt0=3D?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1152;6:xe/0D1o7Nc/Ny/l3boSWY64nHOW9i9qDmULsp5+YFZidFCCaTwctt6Z6sNxrvGKdrhLAnq+NFMzvLwxMrnt0ghkAEoL9h9lHs3PKZ7p/Qvi0lbjh95ogLiGKXOdfvBT+WrqGJPprWZDVv7hAz1HmoYtUkxk95/2ZHqw0EoiJMKHY1nppT+eNb6X4kG3tZvH0eU957L1Fm57KocDCcKp6KjDh0n7J3e/urkgHg7OJz4/fqkWpdgZ/ydMcawIrdHRP/2CWWgdkDHh/dNHJYSdxM7oBCtRg1MJeXM7+HP2Ba+GFKQ4vE+UGHJe1Wk5F9CkijUppUBz5VLP5/KJ4BzwuvobesVug1zRryHwZI01m5bx1rNdZXea7/2MQOB9foZo+vNrwu/F52Ag+gOFd7CUMQFC9/bTrSgLLzlCLUaP6tqE5j4xq3aKnKEjFQ75F8QUfBHkysNs++zz3sYvlcGa5TqEMCDfI4aCN2BUOYFamnD4=;5:T2lyN07018NwzwB0axzZz+9ncWFhBm+p9Bf6erGGqbqbCUM+jecxTGrfuuBS0CmDg1DcfIO1SyphymJeaYwd7AlmhECaqaraxN6Xpkm78q77MxdCa4bAkd5yo5NXhJNpJ6q7TRBqPELi3Kmm0PAoOQ==;24:bWwxA4lPcoHtbT+b96/lYuXcJ7L1WrCCAhrsQDVoIKYSmemm0GehMM7ex0uIel7SBhNawACSaFDMRxSMkbMp37CyNrWGhLALbqulspfBf3A= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1152;7:+3DKIPtTzlL/AsruZGzXLOLiDZ9n9zNlE2Ais2sTZ3K2Ov16K51Af3CiHBmrFfWrb5l0es0viMhOSzt+TmOJplixvoNqG6pBbhXUTzYyUBRSmw5qUnAeks9dpR3yg4kQpjCzNCE0fFl4s3UUg1q9o4hov/Hez++wXov4YbVxz9zFuTQSZFqy4W9eUP+PIKrNKMWb5g8Uwtw3Io2J2gzu+6I3+p9we1w+2RsXIIUzoebDJvcsh0AJY2AIrUhCNQ5vfrnZF50GIN5FHpCLQpO1wq9tkP1TsvHackyJa9hYHY3q4LLFgOk/hIP7urtL3CNhiwQgq37WbFznpBrq6H6cvA==;20:GcjF56fUOfvhXX0tioIyEyqTzY+WTWu0o4Sm0o8/9Ap8AJ4SZDhOsRuNHSy/xFLqBvzytHmwWZrR605Ul4EG02YSq0w33TaVD8q7/nsOGQCA2lbK1UWUU86Dq5oPqHj7xz7ZPei3OF02KwXCWF3Ux+6JiHDp+g8BnXK3Z82HAj23iOb2AtF2YEfrhTq6F7kvNsxFi/zApJqE3vFJy0ztWkC36yCjCM5c3DDzYsm2HUv/Wp26/YbeTv/EWTVvfs+J X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2017 21:20:34.6768 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR12MB1152 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1011 Lines: 33 For now, disable the AMD IOMMU if memory encryption is active. A future patch will re-enable the function with full memory encryption support. Signed-off-by: Tom Lendacky --- drivers/iommu/amd_iommu_init.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c index 5a11328..c72d13b 100644 --- a/drivers/iommu/amd_iommu_init.c +++ b/drivers/iommu/amd_iommu_init.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -2552,6 +2553,12 @@ int __init amd_iommu_detect(void) if (amd_iommu_disabled) return -ENODEV; + /* For now, disable the IOMMU if SME is active */ + if (sme_active()) { + pr_notice("AMD-Vi: SME is active, disabling the IOMMU\n"); + return -ENODEV; + } + ret = iommu_go_to_state(IOMMU_IVRS_DETECTED); if (ret) return ret;