qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v3 27/34] target-arm: emulate LL/SC using cmpxch


From: Richard Henderson
Subject: Re: [Qemu-devel] [PATCH v3 27/34] target-arm: emulate LL/SC using cmpxchg helpers
Date: Wed, 14 Sep 2016 09:38:02 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0

On 09/14/2016 09:03 AM, Alex Bennée wrote:
>> > -/* Load/Store exclusive instructions are implemented by remembering
>> > -   the value/address loaded, and seeing if these are the same
>> > -   when the store is performed. This should be sufficient to implement
>> > -   the architecturally mandated semantics, and avoids having to monitor
>> > -   regular stores.
>> > -
>> > -   In system emulation mode only one CPU will be running at once, so
>> > -   this sequence is effectively atomic.  In user emulation mode we
>> > -   throw an exception and handle the atomic operation elsewhere.  */
> At least half of this comment is still relevant although it could be
> tweaked to mention that we use an atomic cmpxchg for the store that will
> fail if exlusive_val doesn't match the current state.
> 

Added back

/* Load/Store exclusive instructions are implemented by remembering
   the value/address loaded, and seeing if these are the same
   when the store is performed.  This should be sufficient to implement
   the architecturally mandated semantics, and avoids having to monitor
   regular stores.  The compare vs the remembered value is done during
   the cmpxchg operation, but we must compare the addresses manually.  */


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]