|
<< Click to Display Table of Contents >> Navigation: ASA-EMulatR Reference Guide > Introduction > Architecture Overview > Chapter 6 - Serialization and Stall Model > 6.12 Interaction with LL/SC |
Serialization interacts tightly with LL/SC reservations. Barriers and serialization events that clear reservations include:
•MB — may invalidate reservations as part of write buffer draining (store commits call breakReservationsOnCacheLine())
•EXCB — clears reservations as part of exception state stabilization
•Exception delivery — ReservationManager::breakReservation(cpuId) is called on any exception
•PAL entry — CALL_PAL clears the local CPU's reservation as part of the serialization sequence
•Pipeline flush — all reservations are cleared on flush
This prevents stale or unsafe atomic sequences. A store-conditional (STL_C/STQ_C) will fail if any serialization event has occurred between the corresponding load-locked and the store-conditional.
See Also: 5.11 Load-Locked / Store-Conditional (LL/SC); 3.15 LL/SC Interaction with the Pipeline.