[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] x86/emul: Corrections to cmpxchg{8, 16}b emulation (to fix 32bit PV guests)



On 20/01/17 09:54, Jan Beulich wrote:
>>>> On 20.01.17 at 09:52, <andrew.cooper3@xxxxxxxxxx> 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.

Yes - my fix isn't the cleanest.  Lets go with yours for the functional
fix, but can we keep the locked cmpxchg tests and the ASSERT() from this
patch?

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.