mirror of
https://github.com/opnsense/src.git
synced 2026-06-08 16:22:46 -04:00
MFC rev 200202:
Fix Read-After-Write (RAW) dependency violation for ar.ccv in isc_atomic_xadd() and isc_atomic_cmpxchg(). Approved by: dougb@
This commit is contained in:
parent
82c0fd73d4
commit
b5a12d46d6
1 changed files with 2 additions and 2 deletions
|
|
@ -41,7 +41,7 @@ isc_atomic_xadd(isc_int32_t *p, isc_int32_t val)
|
|||
for (prev = *(volatile isc_int32_t *)p; ; prev = swapped) {
|
||||
swapped = prev + val;
|
||||
__asm__ volatile(
|
||||
"mov ar.ccv=%2;"
|
||||
"mov ar.ccv=%2;;"
|
||||
"cmpxchg4.acq %0=%4,%3,ar.ccv"
|
||||
: "=r" (swapped), "=m" (*p)
|
||||
: "r" (prev), "r" (swapped), "m" (*p)
|
||||
|
|
@ -84,7 +84,7 @@ isc_atomic_cmpxchg(isc_int32_t *p, isc_int32_t cmpval, isc_int32_t val)
|
|||
isc_int32_t ret;
|
||||
|
||||
__asm__ volatile(
|
||||
"mov ar.ccv=%2;"
|
||||
"mov ar.ccv=%2;;"
|
||||
"cmpxchg4.acq %0=%4,%3,ar.ccv"
|
||||
: "=r" (ret), "=m" (*p)
|
||||
: "r" (cmpval), "r" (val), "m" (*p)
|
||||
|
|
|
|||
Loading…
Reference in a new issue