Jan/Avi: ping? I would like to get this ABI detail clarified so it can be implemented the right way on Qemu and KVM. My proposal is to simply add tsc-deadline to the data returned by GET_SUPPORTED_CPUID, making KVM_CAP_TSC_DEADLINE_TIMER unnecessary. On Fri, Mar 23, 2012 at 02:17:52PM +0000, Liu, Jinsong wrote: > Eduardo Habkost wrote: > > On Fri, Mar 23, 2012 at 03:49:27AM +0000, Liu, Jinsong wrote: > >> Eduardo Habkost wrote: > >>> [1] From Documentation/virtual/kvm/api.txt: > >>> > >>> "KVM_GET_SUPPORTED_CPUID > >>> [...] > >>> This ioctl returns x86 cpuid features which are supported by both > >>> the hardware and kvm. Userspace can use the information returned > >>> by this ioctl to construct cpuid information (for KVM_SET_CPUID2) > >>> that is consistent with hardware, kernel, and userspace > >>> capabilities, and with > >>> ^^^^^^^^^^^^^^^^^^^^^^^^^^ > >>> user requirements (for example, the user may wish to constrain cpuid > >>> to emulate older hardware, or for feature consistency across a > >>> cluster)." > >> > >> The fixbug patch is implemented by Jan and Avi, I reply per my > >> understanding. > > > > No problem. I hope Jan or Avi can clarify this. > > > >> > >> I think for tsc deadline timer feature, KVM_CAP_TSC_DEADLINE_TIMER is > >> slightly better than KVM_GET_SUPPORTED_CPUID. If use > >> KVM_GET_SUPPORTED_CPUID, it means tsc deadline features bind to host > >> cpuid, while it fact it could be pure software emulated by kvm > >> (though currently it implemented as bound to hareware). For the sake > >> of > >> extension, it choose KVM_CAP_TSC_DEADLINE_TIMER. > > > > There's no requirement for GET_SUPPORTED_CPUID to be a subset of the > > host CPU features. If KVM can completely emulate the feature by > > software, then it can return the feature on GET_SUPPORTED_CPUID even > > if the host CPU doesn't have the feature. That's the case for x2apic, > > for example (see commit 0d1de2d901f4ba0972a3886496a44fb1d3300dbd). > > > Jan/Avi, > > Could you elaborate more your thought? > > Thanks, > Jinsong -- Eduardo -- 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