On Fri, Aug 13, 2021 at 11:59:22AM -0500, Tom Lendacky wrote: > While the name suggests this is intended mainly for guests, it will > also be used for host memory encryption checks in place of sme_active(). Which suggest that the name is not good to start with. Maybe protected hardware, system or platform might be a better choice? > +static inline bool prot_guest_has(unsigned int attr) > +{ > +#ifdef CONFIG_AMD_MEM_ENCRYPT > + if (sme_me_mask) > + return amd_prot_guest_has(attr); > +#endif > + > + return false; > +} Shouldn't this be entirely out of line? > +/* 0x800 - 0x8ff reserved for AMD */ > +#define PATTR_SME 0x800 > +#define PATTR_SEV 0x801 > +#define PATTR_SEV_ES 0x802 Why do we need reservations for a purely in-kernel namespace? And why are you overoading a brand new generic API with weird details of a specific implementation like this?