From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933047AbcHVXNr (ORCPT ); Mon, 22 Aug 2016 19:13:47 -0400 Received: from mail-dm3nam03on0089.outbound.protection.outlook.com ([104.47.41.89]:61046 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1756096AbcHVXNG (ORCPT ); Mon, 22 Aug 2016 19:13:06 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; From: Tom Lendacky Subject: [RFC PATCH v2 17/20] x86: Do not specify encrypted memory for VGA mapping To: , , , , , , , , CC: Radim =?utf-8?b?S3LEjW3DocWZ?= , Arnd Bergmann , Jonathan Corbet , Matt Fleming , Joerg Roedel , "Konrad Rzeszutek Wilk" , Andrey Ryabinin , Ingo Molnar , Borislav Petkov , "Andy Lutomirski" , "H. Peter Anvin" , "Paolo Bonzini" , Alexander Potapenko , Thomas Gleixner , Dmitry Vyukov Date: Mon, 22 Aug 2016 17:38:39 -0500 Message-ID: <20160822223839.29880.85800.stgit@tlendack-t1.amdoffice.net> In-Reply-To: <20160822223529.29880.50884.stgit@tlendack-t1.amdoffice.net> References: <20160822223529.29880.50884.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: SN1PR12CA0036.namprd12.prod.outlook.com (10.162.96.174) To BN6PR12MB1138.namprd12.prod.outlook.com (10.168.226.140) X-MS-Office365-Filtering-Correlation-Id: bc575d77-b048-4ce9-6ddb-08d3cadd1255 X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1138;2:h2HIJJMrtQxnnWrE1lA8J0areIklOYdjCtPPHGNvYUa+9h0yu1Gn48v2F69UvVGNWOHT3nGQRdcF0UhWn8O4T7kukqTOR7WPX4dJ6cWezru9weXl1tFy3GRmzO9vSYNluvJCfZLsSQBN9vQXqy1LL2xMD56HMgsBnw79qeQryDBuhWqXezP+5X/IQpU441RE;3:kzn5P8NaXKk2QX4NvF5/7cJw7ZYrmAHvZYZXh7FvoeTukuPt54pBP5EVdUXuKv1n0PPaO/+g8tIjDQ9ThAJQZqBq/hXOAWSg16ETpdmAK2FSWtg0agjEIySAehjQ+GYi;25:Z/jBs8zMXEe9DsQQ5+MY2IxCXQXzsTQFKeJgkAl8LjBAwm8caCqp3vG992aUs0eXPSxNr6IHycBW/WWaEL42ijDcSIaNPa7YYAWF0EYpZ2tV/G77ebcYPosMTnqEWt3L5qvzZNTJM2ZySgQ1E2a3pWkAdzvK183PvOYliceSjJTrpxrGelrMJTgMhOp111VqL8Sm4Ng0N5py7v9AtnOL0DWPZvn7Fba5x18rLVf/ymAqeyJHxjwOHRJsFdn1RqT9VnEKX++BLMHTGesKY4y1wFeSvkHpGTRzcWlFW//8IlQiPFKjKDmaunJVDw1qlrOcEfqIa7WIQSLHaHR/3xGzqCBi+gl1Q0xtkIPboeFveZBZVVxKRfRJrRioEgjD/Q12KWHyiZUS3ke3/j/EFnD/Sfo19G9KHfT7xCuT+TtywAY= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN6PR12MB1138; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1138;31:85KKKFwqWGxJSmjOvyaZE5ixuLdam0nl4IclSn/RFq+pKNWQW+DqgZx3cj33R1A/i8rk8X4aKSYPWi5G/Fu05P6/2CoU7ZERe0/DFXz3PCUXmGAXxZFcaDHoiTjU1YhCmJ2O4vjKmTnj0+ryEc5QeZ6RYUOgcazR3pA3mVY48gUetY7Ss2RmMcTY23Tmx+OtfATi75VzQUHbMqRlpjzyBV8+31gE06yMYFRi94pk7jE=;20:EizXNZdjk+x6dUDSE++CdSBLtHsYsUV8thrjNJAFmGhObzhs0v6TFGY6/GDq0Ts2Qye6wA25AAyh5V3lhtbXLBfnkjcX+Ng+BtMgtbh3lxmD63ACb73MlELFgMB8AB9Io+7W8rwTjfbjpOh+zYYm+jABlE/V7BX/uvszc5W3aLFyuL1GESgJ7M1pxrEerrphDD6rKpkkfS48loJowENUbvUDdtnGfhVFN6jg90oo2lBlVTCJb5uBhV29mCo0AjIEnTdFJdNSnfB/eTpszlqFnytzT8yA/IXQhsmdWOQ/OLbNTXC8XjXY8Jdf62c7CCZ58G54qg+7Tjc675vGnS7P/DVpWFhxIofk7JHazirnaS4BOiBQS6kY4YY7p9sO+vqTN9Wnj+KcPQlRs5WxDdEy1vWoyvOWpWBIgx+W2vHN7+vNyf1Pz3SvtqF9PV/AcJpTUK+1CjgjhnxYpopJvIBLsXZPqvpoXxh1m1Ldt0aODmHJ018S02cjWyOPi+Sf9FK3 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6055026);SRVR:BN6PR12MB1138;BCL:0;PCL:0;RULEID:;SRVR:BN6PR12MB1138; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1138;4:0dQZnZdzMubEudRaE1RvgKLPVlSRE5DlGSRuKaODmK1exbzCqNQ/rguONFRPAkL5/XRpgCyKN3WAfWbOQUXgaIhKc8opCEQ1wvMtl5nMZluscmhZ7gJS+TFlDDksvFYAK157Uaf1WMVRsl7N5MVLui2u7p3NSYk5CkowKg+kPeM/3W6BFiBUG9JH7Gvu0nN/EXjtOTfIkx8o64Nwb24Q7NxUeqvzH97yFufpMMq/NeLzlHgr7/Bo+mKzG0cKXCVwNcUcBjTvRtzTUcXPAftcefhVtWWeRgjRIsHcVgjs/4BHGukKKIg68jhRgCNa1/83FkiwDH5UiqJ2gEtcBYIVhfeRkMYpFJI9d+bTsYEDgWwUi6DpL0HMh6T+ExiZUXscbk0vUwTo9wsHeU29zsYUdoBVMOj4/QgclA0/WsMRZTgd16VuN6HDPXoEtVMiL7wh X-Forefront-PRVS: 00429279BA X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6009001)(7916002)(199003)(189002)(47776003)(9686002)(68736007)(7846002)(86362001)(19580395003)(7736002)(66066001)(230700001)(6116002)(42186005)(189998001)(103116003)(4326007)(69596002)(2906002)(19580405001)(1076002)(50466002)(305945005)(33646002)(83506001)(5660300001)(229853001)(105586002)(7416002)(54356999)(76176999)(50986999)(97746001)(2201001)(92566002)(8676002)(23676002)(77096005)(81156014)(586003)(3846002)(5001770100001)(4001350100001)(101416001)(53416004)(106356001)(2950100001)(81166006)(97736004)(71626007)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR12MB1138;H:tlendack-t1.amdoffice.net;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjEyTUIxMTM4OzIzOkFGYllWS3pldDczR25ETi9wVnRrQjBPWHYv?= =?utf-8?B?QTB4NlpIVzA1Ym9kWFRUZm1NT1dzV0o5MzlORzdOSGsyN3h4QjgvLy9jTU4w?= =?utf-8?B?NllkRURmNXZYVm1aVUoxRFIvVWs1TjBOK3haQzZabUpNZ0tIeGFiRzRUb2lm?= =?utf-8?B?V3ZZVXNRNXR0Y0xIV0I0UWhRSnRqN3ExeklkaUJRdmFXY2h6T0UrdE1wTjBk?= =?utf-8?B?MXcyM0M3bU5DczFyZzkzYmI1aGtGUUx0M2FHdEpaTzZxa1pWbmU0V2JPM2FL?= =?utf-8?B?QTVVa3hNNWc3ajVjTUxqRzBWRDFDUkVUS2ZkRWdZVzFqSElGZWZEcTlRdkgw?= =?utf-8?B?S3owWXlxQXhKSGxBTWtIb2VWLzF2V1NUdGl4L1VkYi9reUtPaVdEL3IvMGlJ?= =?utf-8?B?a2FUUm96bFZqRkxESlpEeWF4VlNlc1h5ay9jMzF0SFEwUzA5bjN1bmVxZ3JQ?= =?utf-8?B?ejBqTkphOGVtU0hOdEdXU2NXOEtIL1FQQ0VwMkFlTVlnN3VnU1lQNlJhUE9C?= =?utf-8?B?T09sbXMwdmo4bG9QaWVPbFozOXoraytiMDQrMnF6enNtZXNwMnkzSVdhNnNF?= =?utf-8?B?b2NoaEJOK2tOSFE3UGN1dmJ4emdhZktPNnhXd1lmcTErblk1b1ZhN3VGK2xR?= =?utf-8?B?WmQ5bVRSQ1hTNm1QWFhyMXFidjY0RStxaVgzMWVSNWVqSDA3V21LM2FESlJO?= =?utf-8?B?SW13Q2hSVSs5MHVBODZ3bTVrMzl5MWpBZUtQaFJCMHJrcWduT1F6WHE3TVRY?= =?utf-8?B?Yng3YS9YVnpyU1JFdDVtU0ZGbHp4RVI1ckNtdGNlSDVyWUJ0aElFVGlNNVBi?= =?utf-8?B?MjRQMUthbllnekNBME5yTUdmZCtwbmorb2xnRmlLVWdWZE1nOGxlekUxQTlE?= =?utf-8?B?Wi9JY1h6UzNYVzVwRE9NTHBrRlZOMG9KTEZhSk82QzJjTDIySTF0N2tIaE9s?= =?utf-8?B?M281L1NlTEp0RWw1ekpYV2cxemc2QlN3SlVGdWxyRi91blV0aWNDNUZ6d0VT?= =?utf-8?B?OUM1ZnNqa2RlYmJQVHFKWW5nZEVlSktWWjhWblR1dGJUUGo5c3I0SVRHSFBt?= =?utf-8?B?d0VlTGM4YkdoV3FqK0h2clkvbExmdE16eVJmcERLOVhHRzJwdGVyU3kyUDlQ?= =?utf-8?B?K24rNkNNUmV0OTBjSnBkUDNWT3FSK1ZFa0FGZDkydndhZjNiT1RNeHRjVVJz?= =?utf-8?B?ckxGb2ZlOXQ4MXNDQUVpVlpqdTZYZmFsb0JOWEl2YmZGdDdiLzFlZEUzTWhH?= =?utf-8?B?bzlXQ1Q3aWdZTnFBV2JpSFcxdVNmYXAvSzlTQi9aZi96UlVvcVNaQzNXdXR6?= =?utf-8?B?RGJMNDdCK0NMblgyNExUSDhtbm05aHRuckJYOGJITHVQSyt0VndvdVJQM1hU?= =?utf-8?B?VnVQb1lFU29ER2xXRHk1N3NWa3crKzRWMGlvbWdubjlZSWUrTTV0SlkyUUJ2?= =?utf-8?B?Z2VpbXJhN0lIRjRsSEp1S3I0cVJjZzdjZlAyUGdKd1BWV1JrVkJWUGM5YVYv?= =?utf-8?B?ZFZ0cDhPK2tBd05qc3hQUjJ1TGd4Sm1ZWGdCUkJmM0NiNFFLb0RhWG9pdDNY?= =?utf-8?B?S2M3cFQ2ZFdBd3UvYkFaN0NYd1hWZmlvQnhkUmRaaUpQV1YrMDU0d3VTS0xp?= =?utf-8?B?S01JcDZIUlJuM0I5N05oL0pLdWVodytLTWVsaWZMY0Q3UFYwdVU5bmVic0NK?= =?utf-8?B?OFNlK2drOFBmMW9ST3NFQmFhUnB4U1FxMVkvanlYV3YrU3J2ako4c0p3Nm5F?= =?utf-8?Q?wj7r7z9QDnu6feiYSWkTFeXp+LMMTgRjzqFEk=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1138;6:+ytDn0YX7Jf3AosaKqvezRtGBe+kxDB7b3qOw3/O6eFs3bLpZDfeoj5kQ0ISn5LOAdQ7aHLEpIH2WscgnRg4Y1eAXfIXogdzBJo6Qz+y2Cf48X5Zd1xxwAx/fM931h50mJBvvrIj+Db6Ad5Wj1CNwnmksSFgtI4mBLAfjPKpOeWSygGM9dwq4lsuJZX3gVJURkhk2JOx7w57OoI6Kzg1FNmZmCoHzvi7C9BM/26ryLMsWaej4rQoOdZYk9/ONdUAMa2KyXGCVbD8ddNNsk0Leq6I4dgMRRrAKE1FeXjn2kWkWMAwLGWX611q+3d72IUf0tseDFT50D6lc5akAN1Pqg==;5:SWFwLARulu8acTfohLEigPXFNteBgc8AujoQDB+Q4TrR2XZg4zZTeTQ6o8EuOaLo7+qzT5qmLmG2/4q3GRKba+lqkkVbCw9r1q1KRk4ogZmN9RXSVIRBS3Egw3+phxXUONbcJi3MM0b/iarWqMaIIQ==;24:KEQpV3h1xEiG76f5t1Hsm/IafbmOlNqUnn3lBit5Hyj643Zn5J4yrojDMXVYVZ37NevMO2aF8g3orYy7yaZuV59uGFcOdEDiofurW3WVipo=;7:s0uNRHPwi0jpL2chum51xnduA+KdbXJBza2Ub2osPO+fA5cTLZNalByR/IdEBL/iz2MR7icBV2mJdiE6JajTE/4Q2YTyGFjuC0BuRqfMn3D5nDaBqUg2pMJdQ3YKNV2S9FJ4Zpqdi7agmnFTHS6OqYzn9bprRjWShylhmB1O7WPPBbmS1xXDtYZcEX3rHmupZlEmtsP/YN9eX7zZl1PkaXuxtrnsbSKZj4Jaj5DsOLJWf1XID6MxTU9s/iUf1awo SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1138;20:MhZX4iOTE65oJiwHSJ6qBtOWc5pCIU5KdewPYqW8eYWD7CoIKJOBa+7ybdcZ3zjthYPwcnf9vWHlEK3rFkWtH6F6mTq1V62S3UVd/LCJK7Xt0OKRp8vr16/0zWa0FRUpjP6TUaUNEH/NEnYqwFxMh34lfRkvJwkYOUSwmhhNf7CbRg/Oj3+nw07hhZkdexbML/j1B8NLl9IQf+Wt8Wqmll4M/GmNHOB12abq5qQ6u00YDXrG1wDcD8oTA7uJoiKE X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Aug 2016 22:38:42.1663 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1138 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Since the VGA memory needs to be accessed unencrypted be sure that the memory encryption mask is not set for the VGA range being mapped. Signed-off-by: Tom Lendacky --- arch/x86/include/asm/vga.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/arch/x86/include/asm/vga.h b/arch/x86/include/asm/vga.h index c4b9dc2..55fe164 100644 --- a/arch/x86/include/asm/vga.h +++ b/arch/x86/include/asm/vga.h @@ -7,12 +7,25 @@ #ifndef _ASM_X86_VGA_H #define _ASM_X86_VGA_H +#include + /* * On the PC, we can just recalculate addresses and then * access the videoram directly without any black magic. + * To support memory encryption however, we need to access + * the videoram as un-encrypted memory. */ +#ifdef CONFIG_AMD_MEM_ENCRYPT +#define VGA_MAP_MEM(x, s) \ +({ \ + unsigned long start = (unsigned long)phys_to_virt(x); \ + sme_set_mem_dec((void *)start, s); \ + start; \ +}) +#else #define VGA_MAP_MEM(x, s) (unsigned long)phys_to_virt(x) +#endif #define vga_readb(x) (*(x)) #define vga_writeb(x, y) (*(y) = (x))