x86emul: simplify prefix handling for VMFUNC LOCK prefixes get dealt with elsewhere and 66, F2, and F3 can all be checked for in one go by looking at vex.pfx. Signed-off-by: Jan Beulich --- a/xen/arch/x86/x86_emulate/x86_emulate.c +++ b/xen/arch/x86/x86_emulate/x86_emulate.c @@ -3942,8 +3942,8 @@ x86_emulate( goto rdtsc; } case 0xd4: /* vmfunc */ - generate_exception_if(lock_prefix | rep_prefix() | (vex.pfx == vex_66), - EXC_UD, -1); + if ( vex.pfx ) + break; fail_if(ops->vmfunc == NULL); if ( (rc = ops->vmfunc(ctxt) != X86EMUL_OKAY) ) goto done;