[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 at 11:39, <andrew.cooper3@xxxxxxxxxx> wrote:
> 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?

I'm fine with extra tests, but let me comment the patch itself.

Jan


_______________________________________________
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®.