//\r
// GCC inline assembly for Read Write Barrier\r
//\r
-#define _ReadWriteBarrier() do { __asm__ __volatile__ ("": : : "memory"); } while(0)\r
+#define _ReadWriteBarrier() do { __asm__ __volatile__ ("": : : "memory"); } while(0)\r
\r
-#define SPIN_LOCK_RELEASED ((UINTN) 1)\r
-#define SPIN_LOCK_ACQUIRED ((UINTN) 2)\r
+#define SPIN_LOCK_RELEASED ((UINTN) 1)\r
+#define SPIN_LOCK_ACQUIRED ((UINTN) 2)\r
\r
/**\r
Retrieves the architecture specific spin lock alignment requirements for\r
SPIN_LOCK *\r
EFIAPI\r
InitializeSpinLock (\r
- OUT SPIN_LOCK *SpinLock\r
+ OUT SPIN_LOCK *SpinLock\r
)\r
{\r
ASSERT (SpinLock != NULL);\r
\r
- _ReadWriteBarrier();\r
+ _ReadWriteBarrier ();\r
*SpinLock = SPIN_LOCK_RELEASED;\r
- _ReadWriteBarrier();\r
+ _ReadWriteBarrier ();\r
\r
return SpinLock;\r
}\r
SPIN_LOCK *\r
EFIAPI\r
AcquireSpinLock (\r
- IN OUT SPIN_LOCK *SpinLock\r
+ IN OUT SPIN_LOCK *SpinLock\r
)\r
{\r
UINT64 Current;\r
//\r
// Get the current timer value\r
//\r
- Current = GetPerformanceCounter();\r
+ Current = GetPerformanceCounter ();\r
\r
//\r
// Initialize local variables\r
if (Cycle < 0) {\r
Cycle = -Cycle;\r
}\r
+\r
Cycle++;\r
\r
while (!AcquireSpinLockOrFail (SpinLock)) {\r
CpuPause ();\r
Previous = Current;\r
- Current = GetPerformanceCounter();\r
- Delta = (INT64) (Current - Previous);\r
+ Current = GetPerformanceCounter ();\r
+ Delta = (INT64)(Current - Previous);\r
if (Start > End) {\r
Delta = -Delta;\r
}\r
+\r
if (Delta < 0) {\r
Delta += Cycle;\r
}\r
+\r
Total += Delta;\r
ASSERT (Total < Timeout);\r
}\r
}\r
+\r
return SpinLock;\r
}\r
\r
BOOLEAN\r
EFIAPI\r
AcquireSpinLockOrFail (\r
- IN OUT SPIN_LOCK *SpinLock\r
+ IN OUT SPIN_LOCK *SpinLock\r
)\r
{\r
- SPIN_LOCK LockValue;\r
- VOID *Result;\r
+ SPIN_LOCK LockValue;\r
+ VOID *Result;\r
\r
ASSERT (SpinLock != NULL);\r
\r
\r
_ReadWriteBarrier ();\r
Result = InterlockedCompareExchangePointer (\r
- (VOID**)SpinLock,\r
- (VOID*)SPIN_LOCK_RELEASED,\r
- (VOID*)SPIN_LOCK_ACQUIRED\r
- );\r
+ (VOID **)SpinLock,\r
+ (VOID *)SPIN_LOCK_RELEASED,\r
+ (VOID *)SPIN_LOCK_ACQUIRED\r
+ );\r
\r
_ReadWriteBarrier ();\r
- return (BOOLEAN) (Result == (VOID*) SPIN_LOCK_RELEASED);\r
+ return (BOOLEAN)(Result == (VOID *)SPIN_LOCK_RELEASED);\r
}\r
\r
/**\r
SPIN_LOCK *\r
EFIAPI\r
ReleaseSpinLock (\r
- IN OUT SPIN_LOCK *SpinLock\r
+ IN OUT SPIN_LOCK *SpinLock\r
)\r
{\r
- SPIN_LOCK LockValue;\r
+ SPIN_LOCK LockValue;\r
\r
ASSERT (SpinLock != NULL);\r
\r
UINT32\r
EFIAPI\r
InterlockedIncrement (\r
- IN volatile UINT32 *Value\r
+ IN volatile UINT32 *Value\r
)\r
{\r
ASSERT (Value != NULL);\r
UINT32\r
EFIAPI\r
InterlockedDecrement (\r
- IN volatile UINT32 *Value\r
+ IN volatile UINT32 *Value\r
)\r
{\r
ASSERT (Value != NULL);\r
UINT16\r
EFIAPI\r
InterlockedCompareExchange16 (\r
- IN OUT volatile UINT16 *Value,\r
- IN UINT16 CompareValue,\r
- IN UINT16 ExchangeValue\r
+ IN OUT volatile UINT16 *Value,\r
+ IN UINT16 CompareValue,\r
+ IN UINT16 ExchangeValue\r
)\r
{\r
ASSERT (Value != NULL);\r
UINT32\r
EFIAPI\r
InterlockedCompareExchange32 (\r
- IN OUT volatile UINT32 *Value,\r
- IN UINT32 CompareValue,\r
- IN UINT32 ExchangeValue\r
+ IN OUT volatile UINT32 *Value,\r
+ IN UINT32 CompareValue,\r
+ IN UINT32 ExchangeValue\r
)\r
{\r
ASSERT (Value != NULL);\r
UINT64\r
EFIAPI\r
InterlockedCompareExchange64 (\r
- IN OUT volatile UINT64 *Value,\r
- IN UINT64 CompareValue,\r
- IN UINT64 ExchangeValue\r
+ IN OUT volatile UINT64 *Value,\r
+ IN UINT64 CompareValue,\r
+ IN UINT64 ExchangeValue\r
)\r
{\r
ASSERT (Value != NULL);\r
VOID *\r
EFIAPI\r
InterlockedCompareExchangePointer (\r
- IN OUT VOID * volatile *Value,\r
- IN VOID *CompareValue,\r
- IN VOID *ExchangeValue\r
+ IN OUT VOID *volatile *Value,\r
+ IN VOID *CompareValue,\r
+ IN VOID *ExchangeValue\r
)\r
{\r
UINT8 SizeOfValue;\r
\r
switch (SizeOfValue) {\r
case sizeof (UINT32):\r
- return (VOID*)(UINTN)InterlockedCompareExchange32 (\r
- (volatile UINT32 *)Value,\r
- (UINT32)(UINTN)CompareValue,\r
- (UINT32)(UINTN)ExchangeValue\r
- );\r
+ return (VOID *)(UINTN)InterlockedCompareExchange32 (\r
+ (volatile UINT32 *)Value,\r
+ (UINT32)(UINTN)CompareValue,\r
+ (UINT32)(UINTN)ExchangeValue\r
+ );\r
case sizeof (UINT64):\r
- return (VOID*)(UINTN)InterlockedCompareExchange64 (\r
- (volatile UINT64 *)Value,\r
- (UINT64)(UINTN)CompareValue,\r
- (UINT64)(UINTN)ExchangeValue\r
- );\r
+ return (VOID *)(UINTN)InterlockedCompareExchange64 (\r
+ (volatile UINT64 *)Value,\r
+ (UINT64)(UINTN)CompareValue,\r
+ (UINT64)(UINTN)ExchangeValue\r
+ );\r
default:\r
ASSERT (FALSE);\r
return NULL;\r