On Wed, 2019-12-11 at 14:48 -0600, Tom Lendacky wrote: > On 12/11/19 3:07 AM, Paolo Bonzini wrote: > > On 11/12/19 01:11, Huang, Kai wrote: > > > > kvm_get_shadow_phys_bits() must be conservative in that: > > > > > > > > 1) if a bit is reserved it _can_ return a value higher than its index > > > > > > > > 2) if a bit is used by the processor (for physical address or anything > > > > else) it _must_ return a value higher than its index. > > > > > > > > In the SEV case we're not obeying (2), because the function returns 43 > > > > when the C bit is bit 47. The patch fixes that. > > > Could we guarantee that C-bit is always below bits reported by CPUID? > > > > That's a question for AMD. :) The C bit can move (and probably will, > > otherwise they wouldn't have bothered adding it to CPUID) in future > > generations of the processor. > > Right, there's no way to guarantee that it is always below bits reported > by CPUID. As Paolo stated, the position is reported by CPUID so that it > can easily move and be accounted for programmatically. Then I don't think this patch could fix the issue Paolo discribed? Thanks, -Kai