Messages in this thread | | | Subject | Re: [RFC PATCH v4 07/28] x86: Provide general kernel support for memory encryption | From | Tom Lendacky <> | Date | Wed, 22 Feb 2017 10:43:41 -0600 |
| |
On 2/20/2017 12:38 PM, Borislav Petkov wrote: > On Thu, Feb 16, 2017 at 09:43:32AM -0600, Tom Lendacky wrote: >> Adding general kernel support for memory encryption includes: >> - Modify and create some page table macros to include the Secure Memory >> Encryption (SME) memory encryption mask >> - Modify and create some macros for calculating physical and virtual >> memory addresses >> - Provide an SME initialization routine to update the protection map with >> the memory encryption mask so that it is used by default >> - #undef CONFIG_AMD_MEM_ENCRYPT in the compressed boot path >> >> Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> > > ... > >> +#define __sme_pa(x) (__pa((x)) | sme_me_mask) >> +#define __sme_pa_nodebug(x) (__pa_nodebug((x)) | sme_me_mask) >> + >> #else /* !CONFIG_AMD_MEM_ENCRYPT */ >> >> #ifndef sme_me_mask >> @@ -35,6 +42,13 @@ static inline bool sme_active(void) >> } >> #endif >> >> +static inline void __init sme_early_init(void) >> +{ >> +} >> + >> +#define __sme_pa __pa >> +#define __sme_pa_nodebug __pa_nodebug > > One more thing - in the !CONFIG_AMD_MEM_ENCRYPT case, sme_me_mask is 0 > so you don't need to define __sme_pa* again.
Makes sense. I'll move those macros outside the #ifdef (I'll do the same for the new __sme_clr() and __sme_set() macros, too).
Thanks, Tom
>
| |