UINT32\r
EFIAPI\r
InterlockedIncrement (\r
- IN UINT32 *Value\r
+ IN volatile UINT32 *Value\r
)\r
{\r
ASSERT (Value != NULL);\r
UINT32\r
EFIAPI\r
InterlockedDecrement (\r
- IN UINT32 *Value\r
+ IN volatile UINT32 *Value\r
)\r
{\r
ASSERT (Value != NULL);\r
UINT16\r
EFIAPI\r
InterlockedCompareExchange16 (\r
- IN OUT UINT16 *Value,\r
+ IN OUT volatile UINT16 *Value,\r
IN UINT16 CompareValue,\r
IN UINT16 ExchangeValue\r
)\r
UINT32\r
EFIAPI\r
InterlockedCompareExchange32 (\r
- IN OUT UINT32 *Value,\r
+ IN OUT volatile UINT32 *Value,\r
IN UINT32 CompareValue,\r
IN UINT32 ExchangeValue\r
)\r
UINT64\r
EFIAPI\r
InterlockedCompareExchange64 (\r
- IN OUT UINT64 *Value,\r
+ IN OUT volatile UINT64 *Value,\r
IN UINT64 CompareValue,\r
IN UINT64 ExchangeValue\r
)\r
VOID *\r
EFIAPI\r
InterlockedCompareExchangePointer (\r
- IN OUT VOID **Value,\r
+ IN OUT VOID * volatile *Value,\r
IN VOID *CompareValue,\r
IN VOID *ExchangeValue\r
)\r
switch (SizeOfValue) {\r
case sizeof (UINT32):\r
return (VOID*)(UINTN)InterlockedCompareExchange32 (\r
- (UINT32*)Value,\r
+ (volatile UINT32 *)Value,\r
(UINT32)(UINTN)CompareValue,\r
(UINT32)(UINTN)ExchangeValue\r
);\r
case sizeof (UINT64):\r
return (VOID*)(UINTN)InterlockedCompareExchange64 (\r
- (UINT64*)Value,\r
+ (volatile UINT64 *)Value,\r
(UINT64)(UINTN)CompareValue,\r
(UINT64)(UINTN)ExchangeValue\r
);\r