On Sun, Apr 14, 2013 at 07:32:16PM +0200, Borislav Petkov wrote: > On Sun, Apr 14, 2013 at 10:41:07AM +0300, Gleb Natapov wrote: > > Currently userspace assumes that that cpuid configuration returned by > > KVM_GET_SUPPORTED_CPUID is the optimal one. What we want here is a way > > for KVM to tell userspace that it can emulate movbe though it is not > > optimal. > > Ok, I don't understand. > > You want to tell userspace: "yes, we do support a hw feature but we > emulate it."? > I am contemplating this, yes. > > Userspace alone cannot figure it out. It can check host's cpuid > > directly and assume that if cpuid bit is not present on the host cpu, > > but reported as supported by KVM then it is emulated by KVM and this is > > not optimal, but sometimes emulation is actually desirable (x2apic), so > > such assumption is not always correct. > > Right, and this is what we have, AFAICT. And if userspace does that what > you exemplify above, you get exactly that - a feature bit not set in > CPUID but KVM reporting it set means, it is emulated. There's no room > for other interpretations here. Which probably means also not optimal > because it is not done in hw. > This is not true for all emulated CPUID bits. X2APIC is emulated and it is preferable for a guest to use it for example. > Or, do you want to have a way to say with KVM_GET_SUPPORTED_CPUID that > "the features I'm reporting to you are those - a subset of them are not > optimally supported because I'm emulating them." > > Am I close? > Yes, you are. I am considering such interface. Adding new specialized interfaces is last resort though. I am open to other ideas. -- Gleb. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html