25 IN volatile UINT32 *Value
30 __asm__ __volatile__ (
60 IN volatile UINT32 *Value
65 __asm__ __volatile__ (
66 "movl $-1, %%eax \n\t"
101 IN OUT volatile UINT16 *Value,
102 IN UINT16 CompareValue,
103 IN UINT16 ExchangeValue
106 __asm__ __volatile__ (
108 "cmpxchgw %2, %1 \n\t"
109 :
"+a" (CompareValue),
111 :
"q" (ExchangeValue)
140 IN OUT volatile UINT32 *Value,
141 IN UINT32 CompareValue,
142 IN UINT32 ExchangeValue
145 __asm__ __volatile__ (
147 "cmpxchgl %2, %1 \n\t"
148 :
"+a" (CompareValue),
150 :
"q" (ExchangeValue)
178 IN OUT volatile UINT64 *Value,
179 IN UINT64 CompareValue,
180 IN UINT64 ExchangeValue
183 __asm__ __volatile__ (
185 "cmpxchg8b (%1) \n\t"
186 :
"+A" (CompareValue)
188 "b" ((UINT32) ExchangeValue),
189 "c" ((UINT32) (ExchangeValue >> 32))
UINT16 EFIAPI InternalSyncCompareExchange16(IN OUT volatile UINT16 *Value, IN UINT16 CompareValue, IN UINT16 ExchangeValue)
UINT32 EFIAPI InternalSyncDecrement(IN volatile UINT32 *Value)
UINT64 EFIAPI InternalSyncCompareExchange64(IN OUT volatile UINT64 *Value, IN UINT64 CompareValue, IN UINT64 ExchangeValue)
UINT32 EFIAPI InternalSyncIncrement(IN volatile UINT32 *Value)
UINT32 EFIAPI InternalSyncCompareExchange32(IN OUT volatile UINT32 *Value, IN UINT32 CompareValue, IN UINT32 ExchangeValue)