On 04/11/2015 20:33, Gerhard Wiesinger wrote: > Signed-off-by: Gerhard Wiesinger <lists@xxxxxxxxxxxxx> > --- > arch/x86/kvm/svm.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c > index 2f9ed1f..e0b00fc 100644 > --- a/arch/x86/kvm/svm.c > +++ b/arch/x86/kvm/svm.c > @@ -198,6 +198,10 @@ static bool npt_enabled; > static int npt = true; > module_param(npt, int, S_IRUGO); > +/* allow backward compatibility with e.g. old DOS application */ > +static int npt_task_switch_emulation = true; > +module_param(npt_task_switch_emulation, int, S_IRUGO); > + > /* allow nested virtualization in KVM/SVM */ > static int nested = true; > module_param(nested, int, S_IRUGO); > @@ -1177,6 +1181,9 @@ static void init_vmcb(struct vcpu_svm *svm, bool > init_event) > if (npt_enabled) { > /* Setup VMCB for Nested Paging */ > control->nested_ctl = 1; > + if (!npt_task_switch_emulation) { > + clr_intercept(svm, INTERCEPT_TASK_SWITCH); > + } > clr_intercept(svm, INTERCEPT_INVLPG); > clr_exception_intercept(svm, PF_VECTOR); > clr_cr_intercept(svm, INTERCEPT_CR3_READ); What is the problem you are seeing? KVM can emulate task switches; the intercept is set here because of a processor erratum that can mess them up even though, in theory, AMD supports task switching from guest mode. Paolo -- 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