[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] [Qemu-devel] [RFC v1 3/3] target/arm: Correct exclusive s
From: |
Alistair Francis |
Subject: |
Re: [Qemu-arm] [Qemu-devel] [RFC v1 3/3] target/arm: Correct exclusive store return value |
Date: |
Fri, 11 Aug 2017 13:53:23 -0700 |
On Fri, Aug 11, 2017 at 1:39 PM, Alistair Francis
<address@hidden> wrote:
> On Fri, Aug 11, 2017 at 1:38 PM, Richard Henderson
> <address@hidden> wrote:
>> On 08/11/2017 01:29 PM, Alistair Francis wrote:
>>> On Fri, Aug 11, 2017 at 1:24 PM, Richard Henderson
>>> <address@hidden> wrote:
>>>> On 08/11/2017 01:13 PM, Alistair Francis wrote:
>>>>>>> + tcg_gen_ext_i64(val, val, memop);
>>>>>>
>>>>>> What is this addition intended to accomplish? Because of the position
>>>>>> within
>>>>>> the code, you know that memop contains MO_64, so that this is a no-op.
>>>>>
>>>>> This is when size == 2 so it's a 32bit operation so memop contains MO_32.
>>>>
>>>> It's a paired 32-bit operation, so we're operating on a 64-bit quantity.
>>>> So
>>>> extending from 32-bits would be actively wrong.
>>>
>>> From what I can see though, the 32bit memop is carried into the
>>> tcg_gen_atomic_cmpxchg_i64() call so the value returned to tmp is
>>> masked by the 32bit operation.
>>>
>>> Is passing down MO_32 into tcg_gen_atomic_cmpxchg_i64() wrong then as
>>> it ends up as a 64-bit operation?
>>
>> If we're passing MO_32 down to cmpxchg_i64 for this case, you have indeed
>> found
>> a bug. I'll investigate this further on Monday.
>
> Maybe that is why I'm seeing these failures. I'll have a look as well
> to see if this fixes my problems.
That's it. That wrong mask was causing all my breakages.
I'll send out a new series, thanks for your help.
Thanks,
Alistair
>
> Thanks,
> Alistair
>
>>
>>
>> r~
>>
- Re: [Qemu-arm] [Qemu-devel] [RFC v1 1/3] target/arm: Update the memops for exclusive load, (continued)
- [Qemu-arm] [RFC v1 2/3] tcg/tcg-op: Expose the tcg_gen_ext_i* functions, Alistair Francis, 2017/08/11
- [Qemu-arm] [RFC v1 3/3] target/arm: Correct exclusive store return value, Alistair Francis, 2017/08/11
- Re: [Qemu-arm] [Qemu-devel] [RFC v1 3/3] target/arm: Correct exclusive store return value, Richard Henderson, 2017/08/11
- Re: [Qemu-arm] [Qemu-devel] [RFC v1 3/3] target/arm: Correct exclusive store return value, Alistair Francis, 2017/08/11
- Re: [Qemu-arm] [Qemu-devel] [RFC v1 3/3] target/arm: Correct exclusive store return value, Richard Henderson, 2017/08/11
- Re: [Qemu-arm] [Qemu-devel] [RFC v1 3/3] target/arm: Correct exclusive store return value, Alistair Francis, 2017/08/11
- Re: [Qemu-arm] [Qemu-devel] [RFC v1 3/3] target/arm: Correct exclusive store return value, Richard Henderson, 2017/08/11
- Re: [Qemu-arm] [Qemu-devel] [RFC v1 3/3] target/arm: Correct exclusive store return value, Alistair Francis, 2017/08/11
- Re: [Qemu-arm] [Qemu-devel] [RFC v1 3/3] target/arm: Correct exclusive store return value,
Alistair Francis <=