Changes between Version 1 and Version 2 of Component/Sparcv8
- Timestamp:
- Apr 27, 2009, 1:47:19 AM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Component/Sparcv8
v1 v2 42 42 None, it is to the wrapper to provide them. 43 43 44 = = LDSTUB and SWAP support ==44 = LDSTUB and SWAP support = 45 45 46 So cLib infrastructure doesn't support directly SWAP and LDSTUB instructions. Thus they are emulated through SC and LL extended accesses.46 SoCLib infrastructure doesn't support directly SWAP and LDSTUB instructions. Thus they are emulated through SC and LL extended accesses. 47 47 When executed, the infrastructure verify that they succeeded. If not, they may either trap or be automatically re-executed until successfull execution. 48 The compilation flag SWAP_TRAPS decides which strategy to use. 49 _Warning_ : when automatic re-execution is choosen, the system may deadlock. 48 The compilation flag SWAP_TRAPS decides which strategy to use. 49 50 '''Warnings''' : 51 * when automatic re-execution is choosen, the system may deadlock. 52 * these instructions are only supported on a word granularity : ensure that every variables involved in SWAP and LDSTUB access are in different word 53 * these instructions require a change in the caches behaviour, which is currently pending. In the mean time, a workaround is to flush the cache after every SWAP / LDSTUB.