Messages in this thread | | | Subject | Re: [tip:x86/mm] x86/mm: Add support for early encryption/decryption of memory | From | Tom Lendacky <> | Date | Thu, 26 Oct 2017 08:05:38 -0500 |
| |
On 10/25/2017 12:34 PM, Dave Hansen wrote: > On 07/18/2017 03:51 AM, tip-bot for Tom Lendacky wrote: >> +/* >> + * This routine does not change the underlying encryption setting of the >> + * page(s) that map this memory. It assumes that eventually the memory is >> + * meant to be accessed as either encrypted or decrypted but the contents >> + * are currently not in the desired state. >> + * >> + * This routine follows the steps outlined in the AMD64 Architecture >> + * Programmer's Manual Volume 2, Section 7.10.8 Encrypt-in-Place. >> + */ >> +static void __init __sme_early_enc_dec(resource_size_t paddr, >> + unsigned long size, bool enc) >> +{ >> + void *src, *dst; >> + size_t len; >> + >> + if (!sme_me_mask) >> + return; >> + >> + local_flush_tlb(); >> + wbinvd(); > > What is this TLB flush for? WBINVD is mentioned in "Volume 2, Section > 7.10.8", but TLB flushes are not. Is it OK that this does not flush > global pages?
The local_flush_tlb() is not needed and can be removed. I had that in there from early development and testing and just missed removing it. I can queue up a patch to delete it and remove the ambiguity with this routine and the APM document.
Thanks, Tom
>
| |