From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751668AbdFUSkb (ORCPT ); Wed, 21 Jun 2017 14:40:31 -0400 Received: from mail-sn1nam01on0088.outbound.protection.outlook.com ([104.47.32.88]:32864 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751028AbdFUSk0 (ORCPT ); Wed, 21 Jun 2017 14:40:26 -0400 Authentication-Results: google.com; dkim=none (message not signed) header.d=none;google.com; dmarc=none action=none header.from=amd.com; Subject: Re: [PATCH v6 26/34] iommu/amd: Allow the AMD IOMMU to work with memory encryption To: Borislav Petkov , Joerg Roedel Cc: linux-arch@vger.kernel.org, linux-efi@vger.kernel.org, kvm@vger.kernel.org, linux-doc@vger.kernel.org, x86@kernel.org, kexec@lists.infradead.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, linux-mm@kvack.org, iommu@lists.linux-foundation.org, Rik van Riel , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Toshimitsu Kani , Arnd Bergmann , Jonathan Corbet , Matt Fleming , "Michael S. Tsirkin" , Konrad Rzeszutek Wilk , Paolo Bonzini , Larry Woodman , Brijesh Singh , Ingo Molnar , Andy Lutomirski , "H. Peter Anvin" , Andrey Ryabinin , Alexander Potapenko , Dave Young , Thomas Gleixner , Dmitry Vyukov References: <20170607191309.28645.15241.stgit@tlendack-t1.amdoffice.net> <20170607191745.28645.81756.stgit@tlendack-t1.amdoffice.net> <20170614174208.p2yr5exs4b6pjxhf@pd.tnic> <0611d01a-19f8-d6ae-2682-932789855518@amd.com> <20170615094111.wga334kg2bhxqib3@pd.tnic> <20170621153721.GP30388@8bytes.org> <20170621165921.tv2jfhf5dz7hsjsy@pd.tnic> From: Tom Lendacky Message-ID: <26d48eb1-4d33-4abf-f169-3ce86aef22fe@amd.com> Date: Wed, 21 Jun 2017 13:40:14 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 In-Reply-To: <20170621165921.tv2jfhf5dz7hsjsy@pd.tnic> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.78.1] X-ClientProxiedBy: BN6PR03CA0024.namprd03.prod.outlook.com (10.168.230.162) To MWHPR12MB1152.namprd12.prod.outlook.com (10.169.204.16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fae3989e-e3d3-4601-c073-08d4b8d4f986 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:TNjLyDZ8AsrGLGuLKp84Xaw5UVvg0tALifW/AOStTLlU+BBe02999NK8SK6A4FYuilHeSl7vnOhu1KZelYSKWcqy1sBBodu2WV7Sc9XjXTz987Dt+YrkXej5Fu2LZBVeNoKC6lsE/qJzJhUz0YdtLcaQBuJlveQg+jE6GpGaT/htfl18AV+NFGmYgVySNizU6eFZPJMtv+JqmwFM0jjf6Q0QcjhDVHTYd07JactlCHzYlUkYSrXqC2YuytW5UcXWRU3Co4RDRacTgCuzt7eqFXkHOeehoccQ0BXPHl7XhpT7AGkuvLyQkJds6JYRU3r7GdCmiHFydMHoMB/e3xS62E/RsP7KJRAVaspxlsbXKME=;25:sTVg/EzbzndPSeItT1n16auhHQQxhxWeB9OxBDo71Gnv/7thicHWc/zpn0TydZez7P5ADC9r3u0WUV135hTho6UUwLzY5xYZigQ75Zhi7B/tz0+JvTYcmE4d4k78jYQYnLCX21pvwBUerwRD2lgJ1Hf6JyfxNKUWwmkzjQbStnRzGn9P7H7/e/fYWmyYHTlwn0NNY8oxbh3g4ILev0I7PVv5WlnTeX0d6JVIAXAgWGCU9MAlilnmpGujJo7c+IisOv1aqwjyq5mVgbbGLwlsdY9hxFnG+ETVcJT28Vr0AWYxKM6r+U4Qfr5n07b17Hq96gC/bzTqyKV/h8byM3k+xcw7fB1F1RKsjT5Xt19dMNsJcyCyHWDP0PW/1kyQK8/+lhLtlgKrYCaZT8sd6Qqtz+fUZ8BS8myIGX5HuqdKlKHNCKrzYajlpJ1zNdtwxdOX4as2aOx3AcPECFxwy/JHHx15VP5AbZk1Q/x80T67Id0= X-MS-TrafficTypeDiagnostic: MWHPR12MB1152: X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1152;31:FdErSqHG/F5REOgOX0+BXHcOsB5/aFYw4giqBYEoFH+bMfmIPex98qpXSAXUHnl5t9warEhTDKztKaLlOlAkBlpRtHRh5mlrH6d3LLEEWTdtzUMXlyNjnG8RiZbMxNYSzEup6wGXonpOhW5MtO3cxkcnX+HNwCsOnIdzFVM9WZ49Es1oJdCZCTkA0uD2wljg8/x46zqQnnw0UgNingrZ9ONpFq/x4No73XKDUlONBYI=;20:mKBuhS/XBsLCCYoWzm4e5/dINyLy49nyvGhXbx14Rgp64cO1UGB+rGIvxuYemOAdZvnU94NoEGr94az29hNGFYSQIDZiA/G06NR9FEJYzff+iPgVfPW7S1xT7BaYp/f9LmBoWfjePVOAKZnNwnIDmMuFbd02GElRzUTfSntKNTnRs7ASJkWYDvoF6WKgaCnFmOtAND3PGcLi8UDUdpvdiT3jocC9je2fw/fQysvNO7oggJd1K8zUBPejpzHInjZZ0Xnpg3Wt/AKttYSySvFohdQpj4INvimVXRCdMZau7MQJARBYUvO5IfJoFF9XY3vVmZzyDi6I4K+1keuAx7DKdkbrC1+ofDu+zDTsPKhD3LiEFu2wQ72RcRWLVbE/6bt1AmVTPcBiFAS+jdY70/iDzBFY577ael5shjOHojAyjcEwopai/K3SmWpRCVXimPnJ96GrEfUNtq31ZPeJpwGGj6HQtDw3mvo+wu26p0BF8xQMquP+bmMMPgstLNLdfYUE X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(100000703101)(100105400095)(93006095)(93001095)(6055026)(6041248)(20161123560025)(20161123562025)(20161123555025)(20161123564025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:MWHPR12MB1152;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:MWHPR12MB1152; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjEyTUIxMTUyOzQ6QXV5WmlwZVBLdTZvTnBMVUMwQVc0Zy8yOElz?= =?utf-8?B?dFBsQ1RVNjZVRVV5YlBwVnA0WEUzcUNNbW9ZR1pIQlVtZU1IbFdnbjF5Snlm?= =?utf-8?B?TkhTYWpUWmlxR2R4SnZkVDFOdjU5T0ZlYTRDdTQ5S0lTckgrNzFpdmZuWTBv?= =?utf-8?B?NFFuVGRjaCtxaUxwTjZZNkZNUDV4L1FYZGg3RFdPSlE4K1VNa001MnZLajBu?= =?utf-8?B?NDNubnVGMDBTZ2ZVbWVwTDBMVmxFNGszSEZWTTgvcWxaSXJHTkdtNDNDZjl3?= =?utf-8?B?a25Jc1UxeE4zN3UzSnI2cnA4MG9iVlZTQlFueDJZcFdQRmMvY0M3Tmh6T1d2?= =?utf-8?B?UXMvZFduODhZaHdZVEJSYW9ncis3MEQ1aVZJczArZ29YTGRNa1Z5eVVCb1c3?= =?utf-8?B?MnNqdkZUeUhQNmRqTkdOYkRpMGREeUp0dk4rYWdsMHVUZVpiQmxLaTJtWFRi?= =?utf-8?B?VkI3VDM0WTZFRzRqQkVZd1dXdWViMUdWc0MyOXRsdlpNdXBObzBGNWJSaFV1?= =?utf-8?B?ckJCSkM2aHJkMHZYcGV0MzVSNkZYN25KMm1RVWhiTVhvRlRWRWxLaGZta2NS?= =?utf-8?B?SUFNL3VicUJEOGcyNC9zZnErQ1JPZ0JKamFab3FrbDRleWkzM3Z3blliN0hs?= =?utf-8?B?d2drK2ZkQlgveDREWkJraEc2cDdvTE9OVWFmQWhIbW5KYm5mR3ZveXYydmV3?= =?utf-8?B?UEJWSVlNalZxYk81VkFVRUtKMFByOGNpd2tpc0NoUzJQTnVaYXZjMEFFK29K?= =?utf-8?B?cnVPT2xkSnZIcEkvamFuaUVNMXJKZXJIak5pUWNSV1I4eFBEa0NDcGg1ZmNw?= =?utf-8?B?N3o1ekFLc1dPTkx0YkNJZzJzUGJSdkFVZXlKMmszdDIramdhNmxVUGJHbk1M?= =?utf-8?B?ZmJJSVAxNTNmbTB2OC92YXBhRndmN25GWW42bE5KemxMMWgrUnVGdkY5Wjdv?= =?utf-8?B?RzB3NFdjMTdxd2dPTi9kVHV5UTFmTERYMUZKUzJpeE5IdzZrOWQvQnI2akl0?= =?utf-8?B?L1FQbkI4UjBBSFI5alFRV2xNNXh3SjBIRlhuNTlDdmRLN3VYKzU1alNGMWJ3?= =?utf-8?B?WGFTTy9WOWJSbU1FK3NZaWo2WFBDOTVRSzJlcUh4UUhramxoMENuTWFUVnZl?= =?utf-8?B?VGZlcDFGQjhqM2NOaGpzTDhrbEoyOFdOcGxqbGt4dG1PcG9zUXAzTklmbS9M?= =?utf-8?B?SHAyMExoQXBrQ3pxVlNOMFdRb0pHREt0ZHN3K2FEbjdqZkpOSExMYXpsZW94?= =?utf-8?B?cFhkNmhTbWxJbWpobXdoazFDMDE2VlNia1paQ0FzTVVhaHNieml5NGR5ampv?= =?utf-8?B?QUhzbytKaHVZSklvaGljWVBMbW9aWGFmUEVYKzlQMVU4ellUTGpsVW5vakNK?= =?utf-8?B?eVBnMTNLNkhDczlFc1NCb1NYNG9TbnNNZWZ6SmpmcUJkaVZ3LzVUR0RMRHpZ?= =?utf-8?B?K0Q4d0J6enBpWTM2ZjBlUE5OZ0l2Tk1WamVTL0pFMlRheTlWVHl2Ny9HSWdL?= =?utf-8?B?eCtudGh6am5abzg5SXU1K3F6aTBJT1AyYWF1cnJtbHZHaDYvUjR3S2dmQ2dy?= =?utf-8?B?VS96Z2Y5M1M5VE8wY1I0Mlk5blBRZz09?= X-Forefront-PRVS: 0345CFD558 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6049001)(6009001)(39410400002)(39400400002)(39850400002)(39860400002)(39840400002)(39450400003)(377454003)(24454002)(189998001)(54906002)(53546010)(7736002)(93886004)(72206003)(90366009)(54356999)(50986999)(76176999)(7406005)(33646002)(305945005)(23676002)(31686004)(53936002)(25786009)(42186005)(7416002)(86362001)(5660300001)(4001350100001)(38730400002)(6246003)(229853002)(31696002)(6666003)(2906002)(83506001)(3846002)(2950100002)(6116002)(36756003)(478600001)(4326008)(230700001)(77096006)(81166006)(66066001)(6486002)(65806001)(47776003)(8676002)(50466002)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:MWHPR12MB1152;H:[10.236.64.250];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjEyTUIxMTUyOzIzOmJLVjJnSUQ1QnRKWmJIcm9XL2dRaTJ2WGFy?= =?utf-8?B?WmV5U3E4TStRR0NrNVlQK3l3T0M5MnIxMytmRXg4T1h6UkpJNmFTSFI4Mzhm?= =?utf-8?B?cUhUN3FPLzdEdmIwajFDeHYxUkNzS0NNeml5dWpvNXVwYkhORjRwZ1R2ZDhL?= =?utf-8?B?cWc4YkRCQnA3a3AyMEtxc1RDQXVIMTQzK0QraVB1K2FsdXZzTmV3T00rcG0r?= =?utf-8?B?RHBYcktPNDBQT1pVV3U0WTRMUVdjZVV3Z2tYeVNzOExKZmt2Wld1YzVqQWY0?= =?utf-8?B?L0cxWllFV2V3ZzBVN0p1WVpCYjBJbW5RMEllcG5PbVZ4OHh1NXNNcXhtUVM4?= =?utf-8?B?TVRtYklaVEpZelY1VzZ4cFpjQmdtbUIwTFBpdnNUTEhpM2lVczMyaUxIZk05?= =?utf-8?B?QkRoN1d6WDIzdmpqZ0F0dDU2VUtDOHBKbmtpSk5jUlIyVFUyczR4TUJ3ZWlu?= =?utf-8?B?S0wvMnIwR3BPcm9BM0FsVDQ5Y2dCNkVHZHZrNXAzOVphQTRMTWQvc2V5dFlh?= =?utf-8?B?N0pLR1BHVjNXT0VDQ2tMbzlnd3JhZVNCNnhPcktvbE9EKy9ZbU44K0duU3JN?= =?utf-8?B?U2dUMTZNTTFPb2R0NEtDcGdHckt1bmg4cnZWeEJueU54aDRlblBqQ3d6UWx6?= =?utf-8?B?UyttWnFYdXYvVXFySU9EaHhtL2N6V0d2dUl5YnYwZlRiS05XQnZleVJNTkRh?= =?utf-8?B?WWNoK084V1BWV0pKZ2gybFIrRUdPTHB0czNqdXNIRStQbjFjdVgyV2V6RTVB?= =?utf-8?B?Q1RGOVI3QjczeXNCWlE4WlB2eVlHdnIxMVlGcWtDclNYdHdiZ3VDa1QrOExo?= =?utf-8?B?VmpXUlpLdDBCYUZsQ3N5NnQvRy9aN3EwY2dYVXJDZzZJS01GUWY0QmpEekJr?= =?utf-8?B?MzZLNENaendQeEo5WGVPN2Q1OTFoUVRid0dVZWFTTGsycFJpM1ArcGlSVFkr?= =?utf-8?B?QVhsVU5vQlgyQUFET3VBSFVtWEhxaTVEY0tQREJ0eWNudm9SVUQxTjMrSnBQ?= =?utf-8?B?cG9pNlFMSTZWQ2FQekxIWXdla1NGWmdZaldKMUZLV2NTNFh6eDFNc1F4RlBV?= =?utf-8?B?Tzhod0NVNUd0djZhV3pSaFNUazZUWjZzODMxZldFYU0rT2hnSUhJVm8vNGFS?= =?utf-8?B?M3UyZHI1Z0JicnhKT0J5WjBISE9lNHZIUWFWVnlUS2Q5ZmorWFZublFVMTU3?= =?utf-8?B?Ynk1cE1SUEhlQnZsaVdCRStuUk5aaytxZTlkYktVRVc4NHhMWGtta2djcGF1?= =?utf-8?B?cmZsQmt2MlEyMUt0eFNrMC96SWVWd0NiQWNmNGgwZzg3eTRPeHFGQU9ISXZp?= =?utf-8?B?YWpjclNwUG9iNGRMY1R5UmFMQlNsWGJtMmN0Tm4rbkFkeExYQ1pLT1Myc0dH?= =?utf-8?B?aE1pWng1OTRPZW9ZanpId2dTM3lsd1BZdWdlK3RSdG15bmFxK1R0OER6WmxN?= =?utf-8?B?Q3V0OHg4M1p0MnI2T29tTlA5VGFDYXZxV05qbzFva2wrR2s4Rm9TM2FidmNX?= =?utf-8?B?RUR4aFRFV3MxSTVHOU9yVEFaNU1SMUpPcnVvVGVlZHNkSzNhaklHc3hQanpo?= =?utf-8?B?aDFLZEtwVU1UUG5ZeXZMWEZ3bHhKaTZNWEdrb1JNY3dhVzVZVS83Q3FaeEt1?= =?utf-8?B?czlrNkxYcW4zcHc5R3VvTzVUS05SL2kyOUtTeEdLSHpOaHhGR3JTRXRGSmN6?= =?utf-8?B?ZFpwMUh4d1UyU2ZOdHFiRFBtMjRJWGRSOEUwVTdscXQwZ2c4TzZCbDgyVzhO?= =?utf-8?B?S2IzZ0FZQml1dDVWSGFiYUVENk9IT1pxK0lXYXpPRHBGVzJMd2pIS242bThz?= =?utf-8?B?NE91bkxGb3cyS3RRMHdHMWE1VDNZRmJjczZZUWFOWUNBMU0vVklSeDB4VTNi?= =?utf-8?Q?L+ixvbvol+I=3D?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjEyTUIxMTUyOzY6OGJ0TmtkOE9xK0NtS0ZGSjIxdTFuQUhiOWdT?= =?utf-8?B?UHJvcHZjSzJvcnBHWjlLRUFtR1JXTjl2OFdxdmVJK09NSzYyQVZKWHB0SVQv?= =?utf-8?B?b3M0NzFOK1c4YUh2VURCaUtKR0N1Tk9LdFkwd1BsMEttSjllQ3dRT0pCUXF0?= =?utf-8?B?blcrS0EzZnFneDZzbU12eVlUT2g4am1TZTB5cUpWTjlUakhaOW9JYzMzckJV?= =?utf-8?B?bkllTGxQdWZVYlc3TWcydmV1NGxJQXdOMUx2OWxWallkYVVFd1BlaE1peFBx?= =?utf-8?B?KzE4K3Q4ZEFxcEh4MVFyNm8yZ01xaFQzRzArN1pMMGlEWFhjT1JPUlFFbWpD?= =?utf-8?B?c0FKbUtKVXZmMHhLZkpyVVJCQnRORy9GT2lBVEVjQTlZakVoZ0RtQWMzbC8z?= =?utf-8?B?bTYxTXcvZFg0U3J3a2ZOZTVOWWw2NCtBUGNISDhiODkyTmxKZ2ZHeDBkKzNS?= =?utf-8?B?YnhSVnZ0eURSSWhmWEdoSyszcVRRVXhFUThuTXN6blZaWnA5YmNsU2E1d1l5?= =?utf-8?B?dUpDb3VxUUEvNy8yNDdEeXQvWS80WmV0OEV6VE9TNytWeWwzR2xZL1VqY1Ri?= =?utf-8?B?Z09LWERGeDYvd1NvdTRtejQrQUdjL2dDc0xGOGt2ZFBzSkh5NnJMUVhBMzdJ?= =?utf-8?B?Vzl5d1JzMmNCZXhDMS9vTnFXMEVCVlJYU0Uxbkd5UGdZbER0UVk3RURrRk1I?= =?utf-8?B?a2IyeFczM1dqcEI4MkpGeVczbGhtT0hlbjdXVmM5dGRIWERtZkVMTlZYamEw?= =?utf-8?B?eGlOQVdMRXdtYlJSRmxTQjVMZk9JUzJGQWNtUG94dXlrZ0tncHJJVVlrVkNs?= =?utf-8?B?ZzhPWG1LVXFvczR2cmcwTjBkMkR0NE9UMFJyQ1BHSVdhS3JVMUdLbU1ZS3I5?= =?utf-8?B?SDk5b1MwbnNGSHN1QUowYnRXQzNoVHZKSjdObGpYd3pWOWpXWXB3K2Z5YnhY?= =?utf-8?B?WWZ0bjAybllJOTMrMmFmVWs3OTZSTWpsVXMzUGNDU0VXU1RyQ0pRcEEyMSt3?= =?utf-8?B?ZWtNaHdSRDUzSisraithOE5GZ09GM3llU2V4THB5ZDBhK2R4VjUzbGU2cnBp?= =?utf-8?B?bEZONjcyaE5iU08zazNBVWR3c2J1cXVyRExhUm5Va3pscW9uRkhJNitTLzJr?= =?utf-8?B?azdwYUQ1alFJK0ZpallMTEhuRG9abm83dUlWTDVMRjVMSVlZRnZVaURmVzNB?= =?utf-8?B?ZGpDSVpaQ2ZnQjhuTHZMN0VEVXd1VU9Ha1RpZGkzbEc1QUxaWGpWL0tmRjd4?= =?utf-8?B?dUNwcVpXMmlDci8xaXNqQ0hrQUZiQkF5V0FYZzhCNVJ2cjAzSTUxOHRMbHNq?= =?utf-8?B?RHl0Nm93cWhUUjR4UDA4Mm93UmROaC9WL3pJK3ZuaFNMSWtqWE9xTnBnNGRz?= =?utf-8?Q?lBPbuSx?= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1152;5:kJ0YfueVigz4lyeG2TpduYtcd9Qo8gaRwZHCHBLKeD44y4XpNL7qv1W2KDxWeLkTSAv99kM9UutH0KZLuASmUEDgTx9E4BAmD+TkBwkX3ZwsKuCCVctXdMZa8rZ9NdN2vqifohOzKycSgGBwIH6d5EnJ6myiI0mIMNktwruvPWDJEO+g5lgQYqO4bCOGbbVCjSVaBZh9hf8qFOIQSTfHoX73Wua/89FdX1OInjbb6IgoNzw3uMK9n93pot6BL5P4plFK7qP5XsmCs0FKwAZS3fJN4Q2dbjBYPLOO01a9ox+BBkaDV6kEU0BgkkuiGZsHEEU3nUDmPVpcVHEspoYD7QE5FCginUWw62uK+MrEpEBw4IJAD+OnTdbR/sv3wfWA3UQ/WPIbM8u+rLPYLzX5Dpe8v23QMcWIAAdkl75rNMOoTZZ1oByz66lUaPPQ3G4sKyd4PZ/SwNIpTMWLE/DaLf3XE9lwctN4v/9IWS5UwiltyXoLtIw6mm2Broyf0wfj;24:OPTg7s19IH3uFLmf87qx3zcaHv2vKVSxfhkHq2Vp4U1Zf54praCpyYpQrZ7UBN+SLdcAd3xRS8AQ7P9vd0DRW0l7fXHkaSLLoTcTnntcW80= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1152;7:fsbu7gObDTG49QW38kJvA1J+w7M4+9yVF85ELUdQ29M/eaWuevXTj0O4Ef858Ls5Puiu09UQoWxi+df3+wunU9seolAzLggDD1/QeVqNhfVANoC6EYe9CzcD+DJuo+dcbSD+hwEODKYBmhWMy+In2f+jbF2TM/dwxvGHfuDi3WVRinI7PvPrAB4glK/GijrH1Keboz8Dg+35xyvj3kGYzsH9xc566p8iSJ91tf72nC9kAKrDjY4eLGJlDmTLmN03065JF792R49znTTljKeUvzdntg6k8EEzqANrJX1ZF5r33119Tum+KvHPZ/qtLBUEdMUSE5tXRTiWBglsrmEWDtp+9/1e5tJWqqGvcJM7o5n2AeJdO7dHC74uJ+UzUqqriTOqd9gMqUEgEY7/8g/PF3b76nz5VAUROnYtogA9IU6PX2SfcvHKR4EGRnNwk9TSIgB35XSgoo0WtdCOSBdftLNT9TCjhht4wIEhSz8AAdfFAaJ6zNjVXdFu95IlSPckd8CG8XRdow7BnlPAsShOod56JAU+ZE5zQsQWVG1MIEJz/WPiHnCo45l4FSXXcU20Ci7WKcWehrd4DcC7s5qIoPwrFU+hHQmhojmB1Nf+Nm8bMmCCMJaVA6wBTpNbk9i2dZL0FGcjQRpLUxBgsqWE3UK3Y8U6xbhwjlXm/AMfc73MVpZDeJzNYMH7FW0PBFevfZGk90ZJvtzm0Shuex6S81vy8K4oI0M73I9XFuJsZOg8EfOBxRBCr1Gm2y5iz6ap44qaH8L8jzWm92Sge/Vw2WbRo+NGbPY8Kq6OmochamM= X-Microsoft-Exchange-Diagnostics: 1;MWHPR12MB1152;20:ShinzBfg/Uyd6LEPx4He/bG1NRlhUWorJiKsnaNrknz5ySZHIQT5DiJF0uwU7d7UyrMFhGlSWDMDJlxc2E/QN8K/CA1ymFm1N2RF8mgPiIYKYlF4upyucYmGJQjlVj6Z09qi7VGtKNVJRnc7GsYrY/mQxMBUmuqcLqdYuq1VjnvvTog9Gkms+hfUvVuRVGoTdA2dlW2OJebCdbJrfSU4Mdef3rGq98/R52cB0ntqz2I8cD5xsIUkB9e1ZvDr2N29 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jun 2017 18:40:18.6105 (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 On 6/21/2017 11:59 AM, Borislav Petkov wrote: > On Wed, Jun 21, 2017 at 05:37:22PM +0200, Joerg Roedel wrote: >>> Do you mean this is like the last exception case in that document above: >>> >>> " >>> - Pointers to data structures in coherent memory which might be modified >>> by I/O devices can, sometimes, legitimately be volatile. A ring buffer >>> used by a network adapter, where that adapter changes pointers to >>> indicate which descriptors have been processed, is an example of this >>> type of situation." >>> >>> ? >> >> So currently (without this patch) the build_completion_wait function >> does not take a volatile parameter, only wait_on_sem() does. >> >> Wait_on_sem() needs it because its purpose is to poll a memory location >> which is changed by the iommu-hardware when its done with command >> processing. > > Right, the reason above - memory modifiable by an IO device. You could > add a comment there explaining the need for the volatile. > >> But the 'volatile' in build_completion_wait() looks unnecessary, because >> the function does not poll the memory location. It only uses the >> pointer, converts it to a physical address and writes it to the command >> to be queued. > > Ok. Ok, so the (now) current version of the patch that doesn't change the function signature is the right way to go. Thanks, Tom > > Thanks. >