Anthony Liguori wrote:
Avi Kivity wrote:
Then we would need to tell which read-only MSRs are setup writeable
and which aren't...
I'm okay with an ioctl to setup MCE, but just make sure userspace has
all the information to know what the kernel can do rather than the
try-and-see-if-it-works approach. We can publish this information
via KVM_CAP things, or via another ioctl (see
KVM_GET_SUPPORTED_CPUID2 for an example).
Why not introduce a new exit type for MSR reads/writes that aren't
handled by the kernel? You just need a bit on the return that
indicates whether to GPF because of an invalid MSR access.
KVM_SET_MSRs should be reserved for MSRs that are performance
sensitive. Not all of them will be.
Right now everything in the vcpu is emulated in the kernel. Everything
else is emulated either in the kernel (irqchip) or in userspace. This
makes things easier to understand, and is more future friendly if more
cpu features become virtualized by hardware.
While these are not compelling reasons, they at least lean the balance
in favour of a kernel implementation.
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
--
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