On 11/12/19 01:11, Huang, Kai wrote:
kvm_get_shadow_phys_bits() must be conservative in that:
if a bit is reserved it _can_ return a value higher than its index
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.
Paolo