From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965624AbcIHN0o (ORCPT ); Thu, 8 Sep 2016 09:26:44 -0400 Received: from mail-dm3nam03on0048.outbound.protection.outlook.com ([104.47.41.48]:50576 "EHLO NAM03-DM3-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S933159AbcIHN0k (ORCPT ); Thu, 8 Sep 2016 09:26:40 -0400 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Thomas.Lendacky@amd.com; Subject: Re: [RFC PATCH v2 07/20] x86: Provide general kernel support for memory encryption To: Borislav Petkov References: <20160822223529.29880.50884.stgit@tlendack-t1.amdoffice.net> <20160822223646.29880.28794.stgit@tlendack-t1.amdoffice.net> <20160906093113.GA18319@pd.tnic> <20160907155535.i7wh46uxxa2bj3ik@pd.tnic> CC: , , , , , , , , , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Arnd Bergmann , Jonathan Corbet , Matt Fleming , Joerg Roedel , Konrad Rzeszutek Wilk , Andrey Ryabinin , Ingo Molnar , Andy Lutomirski , "H. Peter Anvin" , Paolo Bonzini , Alexander Potapenko , Thomas Gleixner , Dmitry Vyukov From: Tom Lendacky Message-ID: Date: Thu, 8 Sep 2016 08:26:27 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <20160907155535.i7wh46uxxa2bj3ik@pd.tnic> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: YQXPR01CA0031.CANPRD01.PROD.OUTLOOK.COM (10.165.102.169) To DM5PR12MB1148.namprd12.prod.outlook.com (10.168.236.143) X-MS-Office365-Filtering-Correlation-Id: 4337d377-b678-4c48-8595-08d3d7ebc350 X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1148;2:0DJ55yyI79Gl1o3SL4Ngf9I2R9vtIsr+coFiPHQPVBPitVW6e6CW1A6d7pzZADwiRSTeE/067yFcGlJ5CbEF8RwiKTeVQhOTtC3HMywTmwMJUNAMiGtKeiamgfKcIxEnycWAPbGOZa7u62NBCiZ61o+2zdr7+aprKp9lXc8i6iwi5OOfw9G93s/NytW5eN0J;3:SvVOPDhAnsjfuia/j8th2Y8h+IocnT8fPYAh6fDezJ6vJMWKHG2dgvWmB3GQeXbDaf2Emt5lfp0w/RNfMLjxBLlnJ6S6ik2TZq03JCf2CxL9bS75p22sDav4FEmx/+Zc X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM5PR12MB1148; X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1148;25:KVgcxcYelgMiRRA9smBKocI/SE/NoHleesEDG1vIZ4fntUgSkGJbutWrUp2ekSx8wiyBylwmK3f+VSNqLmqySnrlTHs1P17PywiZFz5ehuzeKyM/MdRJbBBOsQWKURshK5IVJPBtNSYOC89xESCz7KCne9lwNZ5zo/WXYyLpKWPB7ErT9wWQQdBCRexlyTsiegiS03trZhFFxK5u4Lx8V5pCKc98V5xBmStxXqJ+mlQeSKXXNOZ1fEJZkVKyE0boD6TM8v98E34bK+XpOKCe+vHHfL3EB44vXEy6ac+YadK7gFrKg/3+32oUn3Y/EhuQCjC2cjyd3HbTJ42IoqU5bGo7xNBTokNz5GIIy9gWXyKZG7uv38WYFFxUYMrp766nKQrikSsjT7hJf4kdtXUr1Cpyt8l3HkEmWjTKsxsQrM9C46wD+KaO3edaVzlHrkrshuJoPhbXIhlC874pIfEumL7LQhRRZZ5sF56GDfcKSh743HSMduaLuOkvo49xxxWJzpbywtmb736+nDgsa/tdKyBxJzZFwGgQjgrfiUACzI+ryoctOm06u/hFua+tqDS4tIHFOuTv1WZhdjdLLMuaGGrNccJsgLJCL3TYaUkI01YqbqxnW6LCARwm3HhqsGslhRGVn8ruhrllmHU6oFznXmcSkbXwUCJL35GlgIabT0uxX7gyWcwhs5p9Ff3kQXmktldkLtPdL7z4xjz4SwlYjQ==;31:X0ETmdaYzw5DjuTJM0UK1/eZ34pvaM4zP7m6r26l6tK6Ls0mf99Uqlxyzk+s6VgbFZZrlpipI+KkGB0tEyZMjkx1fkhGA6veu/6RjyiX7nrh+Ckbo4diTLCVgSyh0aaMDNE0yvgGuzvbAgww9oPoIXQmv8VltyahCYoqGGS/7Bsa5ZQN2wULyjIHPdb7qLFCx2oJJaBDloWJB7J+Fgdq67bF0uZpHuq2qEPXvJXOK+8= X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1148;20:aZlkUZJkrdoaYI4Ld31fCrpCAJ0WQuVr4lbcLyz0UMIFbrTX41bFvUXVIRLwW337Ikx8ZdK+lHt8qQ/U9TIQChLcDUvjqZwrn/XANOoeytFiEojxlIGr1QICwP8+fxy8VjTFzFUYsl2ZR2j+bUYEH0l4UjshOsNfbmen6yNNol+E07qMEGdSp2USnB7oI5YBNLgVQvDL1TpLN60mHEXmA+RJcBBDJREjKtb1ZS28CAlckTNhH7cF31Wfz7DZELYkQa1bdZ17whepEH4PmDMbJnUF8yWuynW3/ePkZEUDpJcvkOA8mD+MmGeBhsL+QD3Z1N7rPhDhfzU6wxeZL1nGbgoyeNBCvguDEKu65KJjGA8ZSXKb7egzTQ1Rop0qBX8HKBCflGSfHL3l0O1DODXrRYzoLaOyM8kWe0DmmByqnHTnksF2fcvpDDZ0kxBj7JQcR6cHMXcXJox73XLZV2BYJMNSHebfD7y3etA+aE51YuibME+Nfot/nUnT1/XD93QZ;4:kP/TtT+osrh+gr0FUXWrr6+a3AkhNJG9boe39aEVwb2KOuz0wW+UU8fiJsdiobzDpG5ahDOHD9401THtb14E0HWmzwYmAl5uODo0Dfulfd8dfGjGwIrrnp9ZFA8uKl7nNK/ttmzvC8zgrpMZreyk30BWn8InEOEv+Ffv+oNdgqQSh9Mzm6f5WVw37smuQroZe4ChqAsnS06pnAhOjH8JqquG8bVhgHzhVHe6rQ/spnvLx1S6XQpdqy5BnjZLE83DwUuP1sSpGvk9mOamnBsvzfbEqApnmSmCUUbuBvJF16yRDIBVMfeMN6ZyuIjJyyBgOAETcZ/8j2/yIVrudGwix7nxePTNdtUXcMYh+2iKQwWrHZppWNkhH3x6HZ67jXagOBBHhsZkm7AX94sN2Q9KrNmqUQBNfCgArIXSYtGBZPg= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6055026);SRVR:DM5PR12MB1148;BCL:0;PCL:0;RULEID:;SRVR:DM5PR12MB1148; X-Forefront-PRVS: 00594E8DBA X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6049001)(6009001)(7916002)(377454003)(189002)(24454002)(199003)(76176999)(586003)(47776003)(2950100001)(4326007)(8676002)(92566002)(189998001)(65826007)(77096005)(230700001)(23676002)(50466002)(36756003)(3846002)(65806001)(68736007)(81156014)(65956001)(31696002)(6116002)(93886004)(110136002)(7736002)(81166006)(305945005)(64126003)(7416002)(2906002)(33646002)(54356999)(5660300001)(50986999)(105586002)(42186005)(101416001)(4001350100001)(31686004)(97736004)(86362001)(106356001)(66066001)(7846002)(83506001)(217873001);DIR:OUT;SFP:1101;SCL:1;SRVR:DM5PR12MB1148;H:[10.236.18.82];FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTVQUjEyTUIxMTQ4OzIzOnhWQzNQc0dwQTVDUWhsNS9aSEhMcVByaHpI?= =?utf-8?B?R0NJNlArcUNWMVpMQktmMDRDR1NZemVRM1dqaTdBeGJKR0ZlZzgyTklMT015?= =?utf-8?B?N0hqakhWWGZWNStNV3UxU3BtcHBjakFJcmEwMy9sc0M1YTVHd09ROXRMbG5v?= =?utf-8?B?NndnV2dvOFlTOVpwMk0xa0JTS0ZTcEl3Ynp6MWkxNGdkanc0TFRoRzIwcFFv?= =?utf-8?B?cU5UY1BsblR5VTQ1bXZWU1hNanZDQUJCSWhRNUJWRnVTZkJpRHczL2Via3FE?= =?utf-8?B?L0x4YWMrQ1pvNHB1RXBHYng4d0g5Z0I0Nm4zY21LVnhKNCttWk50L20vdTA0?= =?utf-8?B?MTIrcXgwTlQ2cTgyVEZ2TVBQTWtzVUlpZitoMDlOVG00cEVkSDh5M0ZobUlo?= =?utf-8?B?S0s1N3haU3ZqL0ZOWFFsR3NpZmhGSG0wOExWS0lFUGJSbDZxQ1Z0bEtNeTJK?= =?utf-8?B?aVkvTXc4QlRteWhsVkVXbkJxUzZjV0FnQitGSGVpUTIxMDJWenN1a0diNFZR?= =?utf-8?B?cDZoNHVXSnFWTUpXUndYa2ZISmZVQi8xK0VOc25EdGpNMU5WU1Z1UTlyTU1r?= =?utf-8?B?N2J1MmN6YSswKzI1QjhMeHZZdURjRGh1TXR3cURBRndBOExLZktRVTJTSWsv?= =?utf-8?B?VmpNci9hVkVzeUtaQTE0S3ZjN1MzNDcxTjBhN0VZT242aU9QQlU5YVZMMDRV?= =?utf-8?B?V0NBcmQ1NVZLcGhuOGY4MFNqSm80cHFlb2ZQdkU0bXdQMzBWaFZUajhqK3JU?= =?utf-8?B?RGozKzAxbUtQVVZ0M2wyWXYxVlVxN1JPaHQ2dUpkdEFYTXZ2S2dVUSszeWRI?= =?utf-8?B?Ym5POVN2VnFKazlPTXNnUURCWUxhTTZnczBKUjlXS09XTnhNWTl5dGtVcGJU?= =?utf-8?B?OVNBYzVrc2lqVEhNQ2xPREJ1VjQ3M3NtWWtUNTN2RDNsRDZqTmprSU5Mc1Fw?= =?utf-8?B?K3VDQ0RmSlBKbXNwcTVaMmxlOVlhcWVtdjZBNnFQT3VPWjBRTzNnMlMrOEQ3?= =?utf-8?B?RnRQZWVWb0JQL1VVM3R0ZkYzYUprb0U3Zmoxd2hrT1pJVlRhaGMyVml3MGx1?= =?utf-8?B?TDZmdUxpMHpmVDZuano2ZFgvUmFWY2tyNUVEckJSV0JKdVB4VHhkZ3dRU3VR?= =?utf-8?B?dFIrS2REa3JKdGU4MXVoVXFpZVlMaVNpbG83YndpdUVEQXd0eTVpL2pNMkFX?= =?utf-8?B?K2l3MUc1YkxqT3p2RktWK2tkTFRFeGpTK09ESVFrM2ZHZnZPYzhER1I0ZEJm?= =?utf-8?B?MzQrajBtUVQwTWtiL2VCUHVqS3Y5TldYL3JqcUFxdHNqRkRiazVRSXc5Vmcr?= =?utf-8?B?Zm1UNEFWQVdkMXhEbDJobkNkWWg2L3k2aG1RWnBpcTZNcFpVODh3d3pmZGpX?= =?utf-8?B?OENqZ3piNmYxSEJuSEk0MDA3VllIUDZzdmxmQmt5clA4Q1g0bWVvQmJoZUNo?= =?utf-8?B?RzhJdGNWUVBsNDNHYngzdkwvTU1Qd094NDB0QUNyZ1AwVE8rRGhMTU5VNlEr?= =?utf-8?B?L08rTVJoMU5vc1k3RitPMFRzSXJsOVdGc1VJMngxcURydEJncVNKK1pHcVV2?= =?utf-8?B?ZEY4NUtKOWRaQ0kzaVFiM2tWWkxjc292YUtsQy91aWxVcDdiWGVFSkY0Q3Vm?= =?utf-8?B?S0tiRC82NnFTZFNNcDdQbXc0TVZYLzBzcUgwcDZobXZkYWpqREJSRkFPSEZR?= =?utf-8?B?a0lqdWhNTmZKajltMVlSMmoxOUpIZWZwTFlVQnVzUzNUelNOcmVsZTdMZW5w?= =?utf-8?B?TEpnbEliL2hETXNoMGpSUT09?= X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1148;6:YyZoeZyl1Xx0qsG+I/Uq9mNaXI/J+fZhqc2KsQW0Xi18AaKG/D1XgWucky+zIRFyGaDPu+ErNkIuidfX7D7Ut1+e/NqGXiVEvyRx/c5enYpguHntw3oqmQh4FOt/eK4QAZrTDHEKkMi07VQrJjOvx7OPoA8FsGlefOtFi4QAeEiVFvPG0r6FHoM5DrLuW8G5nuc1H7g0taLy4Q+gDpQrKwdIJa/QSuN/aOV/ua3SgE/miqD2+UkOjQgYVs0Y3v/n3QN2ZAO6gQZ3fhQRtnZUJrqGgQjn7cxEm5J7vEZQ0SFK2PK2To59Mlv5BNGhu9qaoCNqcYBjAQmk/LBLHsX8AA==;5:CN4XlxTnfPWZqP5DmmcJpwGv8iO89DvYsL+A6Y9wUCkJPh4E1hCPKMp0m1xApes/Wl3fijOR5IwO0p2OxiWgthIBE2oYv/gxfxFsitdN8OoRyxLTErITzylXkQ2wx2OZSy2/0Cjff8jol9ROyuPJ1w==;24:KB52gHYLgS0Il6SP80KyafpAa9gtML5x6RDq82eSgftv32LHk0XPAHGw8VxEregsGmnTzv1+zejhbkatOWk7B6EnTTX3dcYbWOHpiIZYgX8=;7:IdpyP5xQ06IPxd9Tq/F5ohSRfqTBhHttUC+tB8ll5nxsFZToifRj7QuQ6nmf1z/31pvTpe1BbKFkqpN0y1FfOMFXJpXvCeX1LLNyA+iiLrTX7hS5LoRZ8GwIOlgKUaByAjc9/TMSpGewB3Peya4hSwVZa88xvfa5uX5oE/MU9mjPbyuq/pMBATXb2QcOxmP2PAATtIOwoQC/hVLhfzJJhVlpeaLHIICflUo0gPFePU71kMRrtuDjTRB/GN5POoHJ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;DM5PR12MB1148;20:VOFF7gDucLcpIrTmkhSsKRhYMvV3Vjr5lCC75TFQhtZh+DqcmyqAnDt5otjISTCFpYVV/S/kACFol3ADD1YA8U+BUzMcYKTZjl3HfaY0eIHVniIzAIBD2UfNqk5CvDoCx0ErBEzfkcblSqBrCIZEU6XrJHv054lFZ0rNS0hf68QLvdhG0lvi35jGE30McFuXdR5nJCXlzSytpuK/Mtcbc3xdgM5o4HyfHgNzmzvc4ZJH/TEwtdY5zBK5PuBxhxLp X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2016 13:26:35.8101 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1148 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 09/07/2016 10:55 AM, Borislav Petkov wrote: > On Wed, Sep 07, 2016 at 09:30:54AM -0500, Tom Lendacky wrote: >> _PAGE_ENC is #defined as sme_me_mask and sme_me_mask has already been >> set (or not set) at this point - so it will be the mask if SME is >> active or 0 if SME is not active. > > Yeah, I remember :-) > >> sme_early_init() is merely propagating the mask to other structures. >> Since early_pmd_flags is mainly used in this file (one line in >> head_64.S is the other place) I felt it best to modify it here. But it >> can always be moved if you feel that is best. > > Hmm, so would it work then if you stick it in early_pmd_flags' > definition like you do with the other masks? I.e., > > pmdval_t early_pmd_flags = __PAGE_KERNEL_LARGE | _PAGE_ENC & ~(_PAGE_GLOBAL | _PAGE_NX); When does this value get initialized? Since _PAGE_ENC is #defined to sme_me_mask, which is not set until the boot process begins, I'm afraid we'd end up using the initial value of sme_me_mask, which is zero. Do I have that right? Thanks, Tom > From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Lendacky Subject: Re: [RFC PATCH v2 07/20] x86: Provide general kernel support for memory encryption Date: Thu, 8 Sep 2016 08:26:27 -0500 Message-ID: References: <20160822223529.29880.50884.stgit@tlendack-t1.amdoffice.net> <20160822223646.29880.28794.stgit@tlendack-t1.amdoffice.net> <20160906093113.GA18319@pd.tnic> <20160907155535.i7wh46uxxa2bj3ik@pd.tnic> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20160907155535.i7wh46uxxa2bj3ik-fF5Pk5pvG8Y@public.gmane.org> Sender: linux-efi-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Borislav Petkov Cc: linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-efi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, kvm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-doc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, kasan-dev-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org, linux-mm-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org, iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Arnd Bergmann , Jonathan Corbet , Matt Fleming , Joerg Roedel , Konrad Rzeszutek Wilk , Andrey Ryabinin , Ingo Molnar , Andy Lutomirski , "H. Peter Anvin" , Paolo Bonzini , Alexander Potapenko , Thomas Gleixner , Dm List-Id: linux-efi@vger.kernel.org On 09/07/2016 10:55 AM, Borislav Petkov wrote: > On Wed, Sep 07, 2016 at 09:30:54AM -0500, Tom Lendacky wrote: >> _PAGE_ENC is #defined as sme_me_mask and sme_me_mask has already been >> set (or not set) at this point - so it will be the mask if SME is >> active or 0 if SME is not active. > > Yeah, I remember :-) > >> sme_early_init() is merely propagating the mask to other structures. >> Since early_pmd_flags is mainly used in this file (one line in >> head_64.S is the other place) I felt it best to modify it here. But it >> can always be moved if you feel that is best. > > Hmm, so would it work then if you stick it in early_pmd_flags' > definition like you do with the other masks? I.e., > > pmdval_t early_pmd_flags = __PAGE_KERNEL_LARGE | _PAGE_ENC & ~(_PAGE_GLOBAL | _PAGE_NX); When does this value get initialized? Since _PAGE_ENC is #defined to sme_me_mask, which is not set until the boot process begins, I'm afraid we'd end up using the initial value of sme_me_mask, which is zero. Do I have that right? Thanks, Tom > From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f72.google.com (mail-pa0-f72.google.com [209.85.220.72]) by kanga.kvack.org (Postfix) with ESMTP id D043183090 for ; Thu, 8 Sep 2016 09:26:41 -0400 (EDT) Received: by mail-pa0-f72.google.com with SMTP id ez1so101792956pab.1 for ; Thu, 08 Sep 2016 06:26:41 -0700 (PDT) Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0077.outbound.protection.outlook.com. [104.47.41.77]) by mx.google.com with ESMTPS id h80si29150521pfk.107.2016.09.08.06.26.39 for (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 08 Sep 2016 06:26:40 -0700 (PDT) Subject: Re: [RFC PATCH v2 07/20] x86: Provide general kernel support for memory encryption References: <20160822223529.29880.50884.stgit@tlendack-t1.amdoffice.net> <20160822223646.29880.28794.stgit@tlendack-t1.amdoffice.net> <20160906093113.GA18319@pd.tnic> <20160907155535.i7wh46uxxa2bj3ik@pd.tnic> From: Tom Lendacky Message-ID: Date: Thu, 8 Sep 2016 08:26:27 -0500 MIME-Version: 1.0 In-Reply-To: <20160907155535.i7wh46uxxa2bj3ik@pd.tnic> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Sender: owner-linux-mm@kvack.org List-ID: To: Borislav Petkov Cc: linux-arch@vger.kernel.org, linux-efi@vger.kernel.org, kvm@vger.kernel.org, linux-doc@vger.kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org, kasan-dev@googlegroups.com, linux-mm@kvack.org, iommu@lists.linux-foundation.org, =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= , Arnd Bergmann , Jonathan Corbet , Matt Fleming , Joerg Roedel , Konrad Rzeszutek Wilk , Andrey Ryabinin , Ingo Molnar , Andy Lutomirski , "H. Peter Anvin" , Paolo Bonzini , Alexander Potapenko , Thomas Gleixner , Dmitry Vyukov On 09/07/2016 10:55 AM, Borislav Petkov wrote: > On Wed, Sep 07, 2016 at 09:30:54AM -0500, Tom Lendacky wrote: >> _PAGE_ENC is #defined as sme_me_mask and sme_me_mask has already been >> set (or not set) at this point - so it will be the mask if SME is >> active or 0 if SME is not active. > > Yeah, I remember :-) > >> sme_early_init() is merely propagating the mask to other structures. >> Since early_pmd_flags is mainly used in this file (one line in >> head_64.S is the other place) I felt it best to modify it here. But it >> can always be moved if you feel that is best. > > Hmm, so would it work then if you stick it in early_pmd_flags' > definition like you do with the other masks? I.e., > > pmdval_t early_pmd_flags = __PAGE_KERNEL_LARGE | _PAGE_ENC & ~(_PAGE_GLOBAL | _PAGE_NX); When does this value get initialized? Since _PAGE_ENC is #defined to sme_me_mask, which is not set until the boot process begins, I'm afraid we'd end up using the initial value of sme_me_mask, which is zero. Do I have that right? Thanks, Tom > -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: email@kvack.org