>>> On 20.01.17 at 09:52, <andrew.coop...@citrix.com> wrote: > @@ -2852,6 +2852,11 @@ x86_emulate( > else if ( !(d & Mov) ) /* optimisation - avoid slow emulated read */ > { > fail_if(lock_prefix ? !ops->cmpxchg : !ops->write); > + > + /* cmpxchg{8,16}b handles its own operand read. */ > + if ( ext == ext_0f && b == 0xc7 ) > + break;
This part in particular is why I don't like this variant of the fix (and if at all it would need placing ahead of the fail_if()). I'm sorry for having talked you into that direction yesterday. Jan _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org https://lists.xen.org/xen-devel