Messages in this thread | | | Date | Tue, 19 Apr 2022 11:57:47 -0700 | From | Dave Hansen <> | Subject | Re: [PATCH] x86/mm/ptdump: display page encryption state |
| |
On 4/19/22 07:35, Mike Rapoport wrote: > When memory encryption is enabled, for instance in SEV guest, it is useful > to see what memory ranges are mapped as encrypted in the kernel page tables > and what ranges are left plain. > > Add printing of 'ENC' for the encrypted ranges to the page table dumps. > > Signed-off-by: Mike Rapoport <rppt@linux.ibm.com> > --- > arch/x86/mm/dump_pagetables.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/arch/x86/mm/dump_pagetables.c b/arch/x86/mm/dump_pagetables.c > index e1b599ecbbc2..187dd17b8780 100644 > --- a/arch/x86/mm/dump_pagetables.c > +++ b/arch/x86/mm/dump_pagetables.c > @@ -201,6 +201,10 @@ static void printk_prot(struct seq_file *m, pgprotval_t pr, int level, bool dmsg > pt_dump_cont_printf(m, dmsg, "PCD "); > else > pt_dump_cont_printf(m, dmsg, " "); > + if (pr & _PAGE_ENC) > + pt_dump_cont_printf(m, dmsg, "ENC "); > + else > + pt_dump_cont_printf(m, dmsg, " ");
_PAGE_ENC is AMD-specific. Could we do this with a new generic "cc_" function, maybe cc_is_enc()?
Something like this would (I think) work for both SEV and TDX:
bool cc_is_enc(u64 prot) { return cc_mkdec(prot) != prot; }
| |