From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751665AbdFIVUr (ORCPT ); Fri, 9 Jun 2017 17:20:47 -0400 Received: from mail-by2nam03on0083.outbound.protection.outlook.com ([104.47.42.83]:60111 "EHLO NAM03-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751545AbdFIVUm (ORCPT ); Fri, 9 Jun 2017 17:20:42 -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 10/34] x86, x86/mm, x86/xen, olpc: Use __va() against just the physical address in cr3 To: Andy Lutomirski Cc: linux-arch , "linux-efi@vger.kernel.org" , kvm list , "linux-doc@vger.kernel.org" , X86 ML , kexec@lists.infradead.org, "linux-kernel@vger.kernel.org" , kasan-dev , "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" , Joerg Roedel , Konrad Rzeszutek Wilk , Paolo Bonzini , Larry Woodman , Brijesh Singh , Ingo Molnar , Borislav Petkov , "H. Peter Anvin" , Andrey Ryabinin , Alexander Potapenko , Dave Young , Thomas Gleixner , Dmitry Vyukov References: <20170607191309.28645.15241.stgit@tlendack-t1.amdoffice.net> <20170607191453.28645.92256.stgit@tlendack-t1.amdoffice.net> <85355c4c-2cc1-daac-d8fe-ac6965b34606@amd.com> From: Tom Lendacky Message-ID: <601d5972-72b0-6556-0054-7275cb763816@amd.com> Date: Fri, 9 Jun 2017 16:20:35 -0500 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.1.1 MIME-Version: 1.0 In-Reply-To: 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: DM5PR18CA0005.namprd18.prod.outlook.com (10.175.218.143) To BN6PR12MB1140.namprd12.prod.outlook.com (10.168.226.142) X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN6PR12MB1140: X-MS-Office365-Filtering-Correlation-Id: 8cf3bdc9-fd95-4b62-2b26-08d4af7d60d8 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(48565401081)(201703131423075)(201703031133081);SRVR:BN6PR12MB1140; X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1140;3:RggATwt1VUni+ZEpic4WJdxt7vBZkrHYeTuojORpkWATaWOra9xpyLH6M4K81OA/kPxtgEplVmkmwooIG80IXRAJq34lVfThl5oTioMoNayDzRSFX2sN8ir8hUBW7Od/sedz5A8nH3dGYmqlQYQhju33YFt/bDFu38ohtsGv0iYJ+MyWdkjRliS6hBS0nOyd2EC/FJZZbZdbqBpMpdA3gD0kYU8/rIrhGJ1ELPO8h0R80CJyjOGmdOhgQ1LDs1r4bNStajp4XwRNgOB5jV+PZ8Lpg1E/jgy06CdrztOwGWTedMB3uqJqDkOsQzrZHHo+Mq5jgBvHPQ6hwWjyMsy0sbo7b98KjmbqzJhR86mZCcY=;25:HbdwvjFGatFivk/dU6ZP8oMFy/3AlXSiqwtUquoNT/NdG0UTX15MiXKwUKo8tKLBPiUPpseCCAxNezE9rtHRYv+f4kfTXFFBHUXgkj4NhJGNtZ8DZUI6sSeAycfGv1rZKkyQVuJWCMdJiTwOk2t51F+mYjrM4yIKtDMfq9X/S3zEn2fb+MbA5oP6AOX77z4ccV/jlFCaLZiXaIMj+JvkM81Zjn++aVNVTgxyJeNrJpbq+eVUMEl/kx+fHnbcmrSXHpIza5DKjfsW7hcm/raXJJUBoHXiDijnZNKyuVvhW2plj+DGss1SIXlZ5LpmMcfE2blroGAxyylZTRlcNa6ZB0EVC7WNm/F09tE/bsHAryBtEI4HH1l+ctLPr0N11pR49/b8b8Be82/YYLDWjjHduePQx/qWPMMYg7YHjbTbnlsMTBltHytqfvRTf0SjuphTYxmdAiJmU6PypY2YOBRGxavrvrbt9mW0rZhezCQahSM= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1140;31:MqjPjAFphAzFql81EyJ6l3SL3Q/IUEaOICWvTXRdBpmAo/7CfIdCRYkDg+RmKrTJ2BsBGb0/4wF+9GC4BV39fawRnZyCs/JmSbRQAUxz3A78r3CDyGKNwRH+RTO5UYR8h0VFuOwILL9vGTySTcPg6gWYmifNAIUgiojt3Lmwa4BgYe0M6aS3RjyVqaLN0+ANAk9c1b+YeyB+LF5rYPoknlwxEcSrrV7zYLD7LD3N/II=;20:tr/xqWUCkQ2X9vUj7wf+HApYUCgrqFmgadz96K/sSlDwcaIk27NMS2/N6ctrDo15rTuD2tKjbwFPUySnUDilumchW7ERqdzybm+z7wbRRiGROVxDPCZ1ePB5J/Q4ofzDhMN/hrqO9z1f7zqsg8du4EuwTSsFkbMpp2QHw/E+MaY877mLlRX2qe88oNVOBLUC7GATCjTfC7WFrTqRAY42TDcqPDfP3RzEQ8w+Emwz/nLxOXIRbD5o0bGM0anL8ZRM1omlqfB87v/2dk31rfzf62+j3V6lFR44pbKP+QcZvz7Fm6SMSLzZmNAphUEK/JObP6V419NJGO+Ihchvi8e79eoVXqgvO/On9PWCYk4r+B9Y8eQqkhEvXTZdmkXM9DB5vGuM+FBaYKLVo0DHCMpMBhXSn7SJHdeCcLKUySqFp4qJd0gEnqzZNrz3F9ILO/AmbmO8yTKK8eDieY0vHkmZ09Uvbt0FtBCt0exO21rI5NJX4XPxE6eqQp+tw5Znws2k X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(767451399110)(84791874153150); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(93006095)(93001095)(100000703101)(100105400095)(3002001)(10201501046)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123558100)(20161123560025)(20161123562025)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:BN6PR12MB1140;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:BN6PR12MB1140; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjEyTUIxMTQwOzQ6SlVMSERvWms3OFJBbnNRWTRQeExiblFmS3lD?= =?utf-8?B?OTNBR2hQQmlqRjZMa3NKTHB2cU14YkFncStZNHNsd0JhSW9GYVREMVltR0oy?= =?utf-8?B?MXl1SkxTczArN2djc09VbllFVytGVHhid1NNcGZINzlvWGx4TmloZVIySmkv?= =?utf-8?B?VWVsNzN1V1BHeWtSVHRrYWR1S3FjbTdmdC91RVorVkdlY1BXVGpiUVYzcWZT?= =?utf-8?B?emlkWnZsb005NDdPVE1wdVdWVXgxbWttNC85UkprZzNFWUFUcTBET3RKcHU0?= =?utf-8?B?Q3pQOGlPQWtBU05SQTZLeEdDUncyWGFuVis0bjNZR1pjRnNZdlgrSUZRTThD?= =?utf-8?B?dFdNZUQveTl6dU1kcytEai9IblJ3QjVaZkdSNVd0RGQvVXQyTWloUkRoT012?= =?utf-8?B?MURvQ2haTm1FamhxbzRSd0Y0elUyUXBiK2tzM1IyMXhCN2tiZnFpZ2U0YTJv?= =?utf-8?B?eUxzZGlSbnRDTXdodXZVVy94cUN3MnhkeXZtK3d0OXFwd1hTTnJRTnJXOVVr?= =?utf-8?B?NXJsVXc2UFJoTWo5cnZKY2F3VmQ5R1p2SEZYc2diZG1LbCtsUDdJZ2NTa2ZE?= =?utf-8?B?VlBMdFkwMWF0ZmU3OGttb3JKNXFXSS9ZSDVrbExvMHM3Mk80WHdOR3hVRFBO?= =?utf-8?B?aDIzUGNnd2FLNzQ1a05WU0hRQldSL0ZaNXJnSjcyRWJOUk0vV21SZWorNmJF?= =?utf-8?B?SFAxTjlwWkVWQ3ZWVTk1MjE5UEQrTlUwUGUvYll5c3BiTGZHOFBvTkxZYlQv?= =?utf-8?B?WjR4Uk12YS9IODg3cGZleDlKYzl4RWFyOEMwNjFSZlMvTXlKVGFtVk14ZDJL?= =?utf-8?B?YWtPYUIxQ3l3aTkyVnRSM0NTV3pIYm41ZEZpZy9yQy82M3dhb3k1QWE0VXNF?= =?utf-8?B?alpvUzhWR0NWRWFnOHBSVHJBOUE1RmVRT2lPNU1PZU1PaUgyMzcxTmhWYkdB?= =?utf-8?B?ekFQNzloWUJnZ3ppaEs3eGxjQWJpUmd1cFZVNHJVc29pc0RLZHBWMzZBSmFQ?= =?utf-8?B?N0lMbldYelN4MlYrOFI5YkhDd2pJeEIrUDZlajg4dW40Z2N5MFNGUDQ5L2tI?= =?utf-8?B?bUtyamJRbWpwYjFRYjcrZlgyMC9HdThLYmJRZ0VxZEx3bkNxdCs2QUlwMHV1?= =?utf-8?B?SHpxZU5jWi9RK3ZOYTBpQ1UzY29nTldvZ1ZoS3k3K2s2VTVwd3NTdWxWNnpW?= =?utf-8?B?TzFVT3RON0p3RHQyOHdZMUZscWJNeGZlSS9sMUFMUER5L3JsbGoxcXVKb0pP?= =?utf-8?B?R1VrTU5LY2pRb3piQVhHR2xUN1JNbmVxVE9GS3owZ2tEdDExd3ljSVpTYVZG?= =?utf-8?B?NzRJejNpYTU2OHVFUVE3d3M5L2xtanVBTmljeUdoSEx5c09FWjB0SkFESVZT?= =?utf-8?B?dUNESVFKWXZ5cTRwVWNlZmo3dWhpV3EwVFp5VFVWNVlGV2NYUXROeXZTYll0?= =?utf-8?B?bnQ5bGcydE5WM0ZsQnFOSlBzREN0aytoQ0lqTGwwL0tkME00eldJTTRKUDc5?= =?utf-8?B?ZGRhSWxoSDdqWkpkZjhQTDBDQzNKL0Q0MitKVS9QYlFsR2VtUCt5eDRaTU45?= =?utf-8?B?QWNQcitFSkUrdC9id0NmdERKSHpsK2c3eGtOT2RaVVlTazFkSkpQK2pzdGow?= =?utf-8?B?cGdRQ2lIZFo3VS9mV2YzeFJERlFURm5MKzkxWVIzTGNiNmp5TGpyN05xRkZO?= =?utf-8?Q?6/1jVjq70srExrGOY=3D?= X-Forefront-PRVS: 03333C607F X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6049001)(6009001)(39840400002)(39410400002)(39850400002)(39450400003)(39400400002)(377454003)(24454002)(47776003)(7406005)(7416002)(2950100002)(65806001)(65956001)(305945005)(65826007)(7736002)(38730400002)(5660300001)(6916009)(23676002)(31696002)(31686004)(33646002)(42186005)(54906002)(66066001)(53936002)(86362001)(6246003)(6306002)(77096006)(90366009)(6486002)(93886004)(110136004)(36756003)(229853002)(8676002)(2906002)(3260700006)(4326008)(25786009)(53546009)(64126003)(478600001)(81166006)(966005)(54356999)(76176999)(72206003)(50986999)(189998001)(3846002)(230700001);DIR:OUT;SFP:1101;SCL:1;SRVR:BN6PR12MB1140;H:[10.236.64.250];FPR:;SPF:None;MLV:sfv;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCTjZQUjEyTUIxMTQwOzIzOjVNNnFwYnVyNXkvdncwZTdNWmVqc1N0YXpD?= =?utf-8?B?WGVrRUxyM0tNemRQRTFhYWp2RmlyK1pKR3djUU9tMEJkMHdOa2xiZ2ZYaFBN?= =?utf-8?B?bnZlalkwVWtmdzdUb3VHSlV3MXp3dXE2WnZrSG4vVFlxMzkxdTduaGdDM0Zj?= =?utf-8?B?SThhZ3k4Z2NmSUh4T2JtWjR0cFQ2dVJuUlBRaUlpQWhyeWVYYW5DVHcrQ1Yz?= =?utf-8?B?YXFZSS84bkdYOVpNM0hhR0tlemFpTGhleHRLdUVHWW1tT0diL0c2bkxlTmN2?= =?utf-8?B?OHUyU0c0KzJMUFVoM29GcXVCSHExS2ZLbVVOczVxY1ZxcGRLcVpmYlpwQ0sx?= =?utf-8?B?Nkx1YkJjTXdvNUExTHFKVDhBSm5sSGVDVVFFTXJ6Q1YrR0tMT1J6ODd3UUwy?= =?utf-8?B?NldzS1hxVHhZSmpORnJ2Tm5aSlN0Y0ZqSEhhcTVhRDlWK2xMeUVLMXhtaGIx?= =?utf-8?B?RHRrY3dqa2F3NXVMR2pHck51Q1RCVlg2NEJsVHBSSzdNdHhhQ1pJcVZtZlVo?= =?utf-8?B?aE5KYmtyNUdTQ0t6aU9WTkJOSG91TTVjNEVQWi9ySExmeC82SGRUdUJGd014?= =?utf-8?B?ZHFYL0w2OUJmY3JQNmt1ekhFUVhwam9HM2o5RUVzVGNuZEFrQ3prZWFMQW55?= =?utf-8?B?QXdFZGJqa2dhYWVRZFRmT3RYcFJldk1Pd24yNTBSVVk3cEE5cGNYZDdXQXBU?= =?utf-8?B?cW15R0RlZkxBYmNaaEJxdjdWWnYrblVZVzVFU1dscGFiN1dRV3Jtc1pZMnI2?= =?utf-8?B?VVB0bDQzKzdHejZSMDRoWTl6ckpQSkJrUFdZT3JOM2pLL1BOdURsaExDU21Y?= =?utf-8?B?K3loWDBIOUM5bk1FWDVBbzVvSk4yb0hGdXpuL0VqM2loOENRcUduMmgxdWVz?= =?utf-8?B?YkJaU2E4T1d3MnRsV2h4OVdYUjR2WHBqanl0VUVaVEk1ZDFyK29IVy9QRWhM?= =?utf-8?B?V2lBcklxVjRrVmxIcGR6SnpVdmVNcjMzYm56RStTY3ZpMWUxQytyVjdaZmxS?= =?utf-8?B?cVd5eWhPWTF0SmgzZ2s5MU1vc3ZOd1cwY0YrUWlwMEZjeEdoeHBVZ1hUNm1Z?= =?utf-8?B?SzFCSVhQUGhoWVRRRDgxLzkrWlJUdUxsbEpxL0hJaFBNdVVWMUV5T3kycmVN?= =?utf-8?B?RjEvT2VBc3dYd0h2aHNhWXlRaURLZ3E2SjNIMm9Td2lRMENQMDFpaTFORHQy?= =?utf-8?B?TU1UTDRkRFRRd1pCRnpjNjl4UkNRZEVXOXFMK2N6ZTVHQngyck1CSFluV3BY?= =?utf-8?B?UDF5V1RaUXlDMXR1MmlxWG5Bc3loODJncUdmVUU2NjBUR2RxKzVVQ2dKUGNp?= =?utf-8?B?bFNhL1RuZFlVZGY3ZTFmWmdIVDlvM0M4b2VxTmxFSkYwUXJLaGlWbFBBN29u?= =?utf-8?B?RWQzN2V5S2FoWGhjeEZrTnpCRVA4TGE4VVNNN0Nyd0d3RWxPQXZFSEFZcjNh?= =?utf-8?B?MnFvVHVHNTJrS3I4TlZaYS9samxxUEdPaDdLVzg5MDlndGVDZ1FSRi9GS3pr?= =?utf-8?B?bkZGZC9nM0tQV0U1ck1VMkE5cFFDSWlMSVpVSktZZ3pBSXhzdHZsV2R1d3NC?= =?utf-8?B?a25XWG5RWTJRdmE2VFA5TitsbUF3dllUWUE1VGhERzF1c2RmTmFWaDZmWXRW?= =?utf-8?B?N1dFV003aUxBaXdoTUl4eXJyZWtRbEhPOWVtU3plNkZtc1NScFRpa2Nzemo3?= =?utf-8?B?SmR5Smw0UEtNQlk1YitGZVpVUUE1eTAyR3ltRFRsdncycEJJUjlTUTUwQk0x?= =?utf-8?B?S293WGV0L0lMYWwwdkZTck5yS3JMWGQvSkxxVDNRS1Y1NWlnMkxQeDRnem84?= =?utf-8?B?RHV6VmdiMGlGczVDalNEM0Rtd0J6ck0yNnV1NUgyMkxHVytJdXhSaFlubUpa?= =?utf-8?Q?2Jbhi8mzUnY=3D?= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1140;6:IiYPJlsvIJ7q5MAtHIc04/2jx/UC8IEP2bN/dvDqdfj0Pj+TJ6G3aiXL0qgkfS+4Kt7bpHh9ilsNoaQCcLmQnZTYbiA6EXokmr4Tx86tAmfD4p7cdOaCOzaplAn2CaDpat0xOrkhYtfYpMSvZ+5kc3TSgV/Zmn9KNOjmDzzNmfIjZudyhedhRD8Xl8SC/lKNwSeeuvBoDpvdTKeE2r9aPncAd5yUpzgLCLedzff+7PuzILywiLG963POWU8PHGWmkbODdNrPGt9uBhwCQKRdYs63B0wv2T/vS0HJ++6it1L280lhVOBqWamP8XmATJ+KV0DxaHS4ihP4GaUXWyOkgGRc+iK9zW881GTHGN/RDix/SMjT+Xq+h4gaTuohaGALOW3VpfzW95DcWS1EFtqtAC3O2c9kPN23KV47u+0YOFS7alfGxSq3ZDBl4IyJ8X7R6M6rzVFsM2ZuYPlrfY4cFOnKtvij5nnDaMe7uCd0zWJWK9aU+8Ek2pSu/Dq77qKavvIJzmtFdVCYKm8ETsX+rN3Pjh97vnlEN8vgE2iCDZk= X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1140;5:pGXes5x80xMwngV3Y8Rs1onKa+KLOUjLx5X3FLF9I11RWksyZX7npaApuRggn9TIudB4nz3MnjeSS9tmkvp+beoZ06LjzTQZuSV7K6RU6plr3L0Yg/PcrbPipqboknpjrGUPvQUAZVfliPP34EWuc9V05dN9wVxRHaN+4ygLaB6vEH5FoRVjL4M1GlJwaa/zazOLbuQ89ojD6Hb+zMi0eEJGAoj+nfOYm2w2wPV7zntZ/ADGXmx8C3qDaPbI1/4gUnZTXcfWwC604HDnq/nGAZ4JfPnXyr67EZztop1utSW2RnY+RH9+Z4W0nFMGZs2XyOuSvlfNOatRaThY0JTMF/IhfiCmpA/q/o6qhC3BmOgdSKO1wSseYYJYlDr3EkSQFBmlFR8mj24Du9WWnQH1XyOQ5KukLeWPH84kXkekFcMMXEHABpazFHz2UMZ8EtmgQm+WZFPNEFy9tJ8fqlQaxb52KDUdeRtF1FqON8Lb+wnlwG+xPaEowI+FEzW+/fJ8;24:2gmEqaqTC4vf5CK41OMSKtCXdHyl0F/d57GUX0Xy+hjJdxNRhqle2r+C7qnju61ZGMeSnChVTMTuAlh6gTMQiL1BjIn/Hpz5ijiZZS1KiYk= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;BN6PR12MB1140;7:S9DZy0wYzycl1SB9KBox2cvTJk8wGm+ylINdp2yVlEW41KAgl8Ro37HyR7xtBMT2MK08eARoHf+TXaQ7s5xqOvY1uGpLFWtzgkWsxWcFZXiNHLxNg7Un5Z+cKZzQojNUDA3MBS8bSJH8h/Et4nFA0KFveKCbTG1WkB9tdpkP4GhHS8fnR714ikU3Ab16lMEK6hrXi602rKIPCe/KrD1mt2O7JKWmIXM3bydJ7ngi1lBO9HHDhvAp8K8Zz3DtjWKUuLTdb1SZKVV/wuh/4Xc+fIao3tFa9oqXValrYOAfXmV0xIu+lwOdVGrhaiIcay/A2PiYgs+ba+gz92uQ0rmN1g==;20:LKqS5zAFdN09bnH6SS5MI7b3LNPtIUnHD/s4bFAOyMXZt1yyNyAi8S4cXV04rAJ3mCmYR3GQfZnRaHmSD3jpjjY/B0Ehx6Qn1kxmi0oPRcGrAIzv8sdYS/XJj+LqTldaXQoxCiZaq4JTNjcu3nXC5msVya5ZMbExMWiSIlcbqB4G66d0NmipOi5NRw2SnrbNE/a4b7ej1XYConKdvJLEatWmJj9bz9rMTZipjRkmxlw9BA7RDQ6zG2AhGwCzm+Tp X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jun 2017 21:20:37.5057 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR12MB1140 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 6/9/2017 1:46 PM, Andy Lutomirski wrote: > On Thu, Jun 8, 2017 at 3:38 PM, Tom Lendacky wrote: >> On 6/8/2017 1:05 AM, Andy Lutomirski wrote: >>> >>> On Wed, Jun 7, 2017 at 12:14 PM, Tom Lendacky >>> wrote: >>>> >>>> The cr3 register entry can contain the SME encryption bit that indicates >>>> the PGD is encrypted. The encryption bit should not be used when >>>> creating >>>> a virtual address for the PGD table. >>>> >>>> Create a new function, read_cr3_pa(), that will extract the physical >>>> address from the cr3 register. This function is then used where a virtual >>>> address of the PGD needs to be created/used from the cr3 register. >>> >>> >>> This is going to conflict with: >>> >>> >>> https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git/commit/?h=x86/pcid&id=555c81e5d01a62b629ec426a2f50d27e2127c1df >>> >>> We're both encountering the fact that CR3 munges the page table PA >>> with some other stuff, and some readers want to see the actual CR3 >>> value and other readers just want the PA. The thing I prefer about my >>> patch is that I get rid of read_cr3() entirely, forcing the patch to >>> update every single reader, making review and conflict resolution much >>> safer. >>> >>> I'd be willing to send a patch tomorrow that just does the split into >>> __read_cr3() and read_cr3_pa() (I like your name better) and then we >>> can both base on top of it. Would that make sense? >> >> >> That makes sense to me. > > Draft patch: > > https://git.kernel.org/pub/scm/linux/kernel/git/luto/linux.git/commit/?h=x86/read_cr3&id=9adebbc1071f066421a27b4f6e040190f1049624 Looks good to me. I'll look at how to best mask off the encryption bit in CR3_ADDR_MASK for SME support. I should be able to just do an __sme_clr() against it. > >> >>> >>> Also: >>> >>>> +static inline unsigned long read_cr3_pa(void) >>>> +{ >>>> + return (read_cr3() & PHYSICAL_PAGE_MASK); >>>> +} >>> >>> >>> Is there any guarantee that the magic encryption bit is masked out in >>> PHYSICAL_PAGE_MASK? The docs make it sound like it could be any bit. >>> (But if it's one of the low 12 bits, that would be quite confusing.) >> >> >> Right now it's bit 47 and we're steering away from any of the currently >> reserved bits so we should be safe. > > Should the SME init code check that it's a usable bit (i.e. outside > our physical address mask and not one of the bottom twelve bits)? If > some future CPU daftly picks, say, bit 12, we'll regret it if we > enable SME. I think I can safely say that it will never be any of the lower 12 bits, but let me talk to some of the hardware folks and see about the other end of the range. Thanks, Tom > > --Andy >