Re: [RFC PATCH v3 04/20] x86: Handle reduction in physical address size with SME

From: Tom Lendacky
Date: Tue Nov 15 2016 - 09:40:26 EST


On 11/15/2016 6:14 AM, Borislav Petkov wrote:
> On Tue, Nov 15, 2016 at 01:10:35PM +0100, Joerg Roedel wrote:
>> Maybe add a comment here why you can't use cpu_has (yet).
>
> So that could be alleviated by moving this function *after*
> init_scattered_cpuid_features(). Then you can simply do *cpu_has().

Yes, I can move it after init_scattered_cpuid_features() and then use
the cpu_has() function. I'll make sure to include a comment that the
function needs to be called after init_scattered_cpuid_features().

>
> Also, I'm not sure why we're checking CPUID for the SME feature when we
> have sme_get_me_mask() et al which have been setup much earlier...
>

The feature may be present and enabled even if it is not currently
active. In other words, the SYS_CFG MSR bit could be set but we aren't
actually using encryption (sme_me_mask is 0). As long as the SYS_CFG
MSR bit is set we need to take into account the physical reduction in
address space.

Thanks,
Tom