On Tue, 2018-02-13 at 22:57 -0600, Tom Lendacky wrote: > On 2/13/2018 10:21 PM, Kirill A. Shutemov wrote: > > On Tue, Feb 13, 2018 at 10:10:22PM -0600, Tom Lendacky wrote: > > > On 2/8/2018 6:55 AM, Kirill A. Shutemov wrote: > > > > AMD SME claims one bit from physical address to indicate > > > > whether the > > > > page is encrypted or not. To achieve that we clear out the bit > > > > from > > > > __PHYSICAL_MASK. > > > > > > I was actually working on a suggestion by Linus to use one of the > > > software > > > page table bits to indicate encryption and translate that to the > > > hardware > > > bit when writing the actual page table entry. With that, > > > __PHYSICAL_MASK > > > would go back to its original definition. > > > > But you would need to mask it on reading of pfn from page table > > entry, > > right? I expect it to have more overhead than this one. > > When reading back an entry it would translate the hardware bit > position > back to the software bit position. The suggestion for changing it > was > to make _PAGE_ENC a constant and not tied to the sme_me_mask. > > See https://marc.info/?l=linux-kernel&m=151017622615894&w=2 > > > > > And software bits are valuable. Do we still have a spare one for > > this? > > I was looking at possibly using bit 57 (_PAGE_BIT_SOFTW5).
But MK-TME supports upto 15 bits (architectually) as keyID. How is this supposed to work with MK-TME? Thanks, -Kai > > Thanks, > Tom > > >