2014-11-26 17:26+0100, Paolo Bonzini: > On 26/11/2014 15:42, Radim Krčmář wrote: > >> I'm not sure what is more future proof. :) I wonder if native_xrstor > >> could be a problem the day XRSTORS actually sets/restores MSRs as the > >> processor documentation promises. > > > > XRSTORS won't affect the guest in any way, we are just going to use it > > to convert the xsave, so any side-effects are going to stay in the host. > > (This could break the host though.) > > Yes, that's the problem. :) (It would be a bug in Linux's xsave API, if we were using it correctly.) > > My main presumption is that XSAVE*->XRSTOR*->XSAVE->XRSTOR has the same > > result as XSAVE->XRSTOR, because we are only interested in the state, > > not in any metadata. > > (If it isn't possible to combine intructions, like XSAVE after XRSTORS, > > this solution won't work.) > > Yes, that should be right. But actually what KVM would do it is > XRSTOR->XSAVE*->XRSTOR*->XSAVE. The problem here is the side effects of > doing XRSTORS far from a guest entry... The entry can be aborted after doing XRSTORS, so we are going to know if this doesn't work :) > though that would likely be > handled by load_guest_fpu/put_guest_fpu. Yes, I don't see a principal difference between manipulating xsave for vmentry and this conversion, it can be wrapped in the same way. -- 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