On 4/27/2017 10:52 AM, Dave Hansen wrote: > On 04/27/2017 12:25 AM, Dave Young wrote: >> On 04/21/17 at 02:55pm, Dave Hansen wrote: >>> On 04/18/2017 02:22 PM, Tom Lendacky wrote: >>>> Add sysfs support for SME so that user-space utilities (kdump, etc.) can >>>> determine if SME is active. >>>> >>>> A new directory will be created: >>>> /sys/kernel/mm/sme/ >>>> >>>> And two entries within the new directory: >>>> /sys/kernel/mm/sme/active >>>> /sys/kernel/mm/sme/encryption_mask >>> >>> Why do they care, and what will they be doing with this information? >> >> Since kdump will copy old memory but need this to know if the old memory >> was encrypted or not. With this sysfs file we can know the previous SME >> status and pass to kdump kernel as like a kernel param. >> >> Tom, have you got chance to try if it works or not? > > What will the kdump kernel do with it though? We kexec() into that > kernel so the SME keys will all be the same, right? So, will the kdump Yes, the SME key will be same after a kexec. > kernel be just setting the encryption bit in the PTE so it can copy the > old plaintext out? Yes, the idea would be to set the encryption bit in the PTE when mapping and copying encrypted pages and not set it for unencrypted pages. > > Why do we need both 'active' and 'encryption_mask'? How could it be > that the hardware-enumerated 'encryption_mask' changes across a kexec()? > We don't need both, I just added the 'encryption mask' entry for information. It won't change across a kexec, I can remove it. Thanks, Tom