On 12/01/15 08:23, Jan Beulich wrote: > While for us it's not as bad as it was for Linux, their commit > 13e457e0ee ("KVM: x86: Emulator does not decode clflush well", by > Nadav Amit <na...@cs.technion.ac.il>) nevertheless points out two > shortcomings in our code: opcode 0F AE /7 is clflush only when it uses > a memory mode (otherwise it's SFENCE) and when there's no REP prefix > (an operand size prefix is fine, as that's CLFLUSHOPT). > > Signed-off-by: Jan Beulich <jbeul...@suse.com>
Acked-by: Andrew Cooper <andrew.coop...@citrix.com> > > --- a/xen/arch/x86/x86_emulate/x86_emulate.c > +++ b/xen/arch/x86/x86_emulate/x86_emulate.c > @@ -4400,7 +4400,9 @@ x86_emulate( > case 0xae: /* Grp15 */ > switch ( modrm_reg & 7 ) > { > - case 7: /* clflush */ > + case 7: /* clflush{,opt} */ > + fail_if(modrm_mod == 3); > + fail_if(rep_prefix()); > fail_if(ops->wbinvd == NULL); > if ( (rc = ops->wbinvd(ctxt)) != 0 ) > goto done; > > > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xen.org > http://lists.xen.org/xen-devel
_______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel