On Tue, Mar 21, 2017 at 05:16:32PM +0100, Joerg Roedel wrote: > On Wed, Mar 15, 2017 at 11:22:18PM +0200, Michael S. Tsirkin wrote: > > diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c > > index d1efe2c..18e53bc 100644 > > --- a/arch/x86/kvm/svm.c > > +++ b/arch/x86/kvm/svm.c > > @@ -1198,8 +1198,6 @@ static void init_vmcb(struct vcpu_svm *svm) > > set_intercept(svm, INTERCEPT_CLGI); > > set_intercept(svm, INTERCEPT_SKINIT); > > set_intercept(svm, INTERCEPT_WBINVD); > > - set_intercept(svm, INTERCEPT_MONITOR); > > - set_intercept(svm, INTERCEPT_MWAIT); > > Why do you remove the intercepts for AMD? The new kvm_mwait_in_guest() > function will always return false on AMD anyway, I think that's a bug and I should fix it to return true there. > and on Intel you re-add > the intercepts for !kvm_mwait_in_guest(). > > > Joerg Does AMD need some work-around similar to CPUID5_ECX_INTERRUPT_BREAK? That's why we have kvm_mwait_in_guest ... -- MST