diff -r 2007b3ab2f11 tools/libxc/xc_cpuid_x86.c --- a/tools/libxc/xc_cpuid_x86.c Wed Jun 01 15:23:04 2011 +0200 +++ b/tools/libxc/xc_cpuid_x86.c Fri Jun 03 16:54:05 2011 +0200 @@ -153,7 +153,8 @@ static void amd_xc_cpuid_policy( * available in hw and which are implemented */ regs[3] &= (SVM_FEATURE_NPT | SVM_FEATURE_LBRV | \ - SVM_FEATURE_NRIPS | SVM_FEATURE_PAUSEFILTER); + SVM_FEATURE_NRIPS | SVM_FEATURE_PAUSEFILTER | \ + SVM_FEATURE_DECODEASSISTS); /* Pass 2: Always enable SVM features which are emulated */ regs[3] |= SVM_FEATURE_VMCBCLEAN; diff -r 2007b3ab2f11 xen/arch/x86/hvm/svm/nestedsvm.c --- a/xen/arch/x86/hvm/svm/nestedsvm.c Wed Jun 01 15:23:04 2011 +0200 +++ b/xen/arch/x86/hvm/svm/nestedsvm.c Fri Jun 03 16:54:05 2011 +0200 @@ -1056,6 +1056,10 @@ nsvm_vmcb_prepare4vmexit(struct vcpu *v) /* NextRIP */ ns_vmcb->nextrip = n2vmcb->nextrip; + /* Decode Assist */ + ns_vmcb->guest_ins_len = n2vmcb->guest_ins_len; + memcpy(ns_vmcb->guest_ins, n2vmcb->guest_ins, sizeof(ns_vmcb->guest_ins)); + /* * VMCB Save State Area */