> On 30 Jan 2018, at 21:46, Alan Cox <gno...@lxorguk.ukuu.org.uk> wrote: > >> If you are ever going to migrate to Skylake, I think you should just >> always tell the guests that you're running on Skylake. That way the >> guests will always assume the worst case situation wrt Specte. > > Unfortunately if you do that then guest may also decide to use other > Skylake hardware features and pop its clogs when it finds out its actually > running on Westmere or SandyBridge. > > So you need to be able to both lie to the OS and user space via cpuid and > also have a second 'but do skylake protections' that only mitigation > aware software knows about.
Yes. The most desirable lie is different depending on whether you want to allow virtualization features such as migration (where you’d gravitate towards a CPU with less features) or whether you want to allow mitigation (where you’d rather present the most fragile CPUID, probably Skylake). Looking at some recent patches, I’m concerned that the code being added often assumes that the CPUID is the correct way to get that info. I do not think this is correct. You really want specific information about the host CPUID, not whatever KVM CPUID emulation makes up.