\r
#include "BaseLibInternals.h"\r
\r
-#define SPIN_LOCK_RELEASED ((SPIN_LOCK)1)\r
-#define SPIN_LOCK_ACQUIRED ((SPIN_LOCK)2)\r
+//\r
+// SPIN_LOCK_RELEASED & SPIN_LOCK_ACQUIRED should belong to type "SPIN_LOCK".\r
+// Here we use type-case "UINTN" to avoid "volatile" modifier on const integers.\r
+//\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
IN OUT SPIN_LOCK *SpinLock\r
)\r
{\r
- volatile SPIN_LOCK LockValue;\r
+ SPIN_LOCK LockValue;\r
\r
ASSERT (SpinLock != NULL);\r
\r
IN OUT SPIN_LOCK *SpinLock\r
)\r
{\r
- volatile SPIN_LOCK LockValue;\r
+ SPIN_LOCK LockValue;\r
\r
ASSERT (SpinLock != NULL);\r
\r