MdePkg/AArch64: Fixed some definitions in ProcessorBind.h
authorOlivier Martin <olivier.martin@arm.com>
Thu, 29 Aug 2013 09:00:13 +0000 (09:00 +0000)
committeroliviermartin <oliviermartin@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 29 Aug 2013 09:00:13 +0000 (09:00 +0000)
- Fixed INT8 declaration
- Introduced MAX_INTN/MAX_UINTN
- Force the MAX_* to be 'unsigned long long' numbers

Change-Id: I1ad818559d051df9a880aa8e4ac090e76fdb27e0
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14610 6f19259b-4bc3-4df7-8a09-765794883524

MdePkg/Include/AArch64/ProcessorBind.h

index 72d38eca67da5d75f46af61464a10d73b3781b68..ce2468287bcf6046c872dd3ee38e41625b06a89d 100644 (file)
@@ -32,7 +32,7 @@
 \r
 #if _MSC_EXTENSIONS\r
   //\r
-  // use Microsoft* C complier dependent interger width types\r
+  // use Microsoft* C complier dependent integer width types \r
   //\r
   typedef unsigned __int64    UINT64;\r
   typedef __int64             INT64;\r
   typedef unsigned char       BOOLEAN;\r
   typedef unsigned char       UINT8;\r
   typedef char                CHAR8;\r
-  typedef char                INT8;\r
+  typedef signed char         INT8;\r
 #else\r
   //\r
   // Assume standard AARCH64 alignment.\r
+  //\r
   typedef unsigned long long  UINT64;\r
   typedef long long           INT64;\r
   typedef unsigned int        UINT32;\r
@@ -58,7 +59,7 @@
   typedef unsigned char       BOOLEAN;\r
   typedef unsigned char       UINT8;\r
   typedef char                CHAR8;\r
-  typedef char                INT8;\r
+  typedef signed char         INT8;\r
 #endif\r
 \r
 ///\r
@@ -80,17 +81,23 @@ typedef INT64   INTN;
 ///\r
 /// A value of native width with the highest bit set.\r
 ///\r
-#define MAX_BIT      0x8000000000000000\r
+#define MAX_BIT     0x8000000000000000ULL\r
 \r
 ///\r
 /// A value of native width with the two highest bits set.\r
 ///\r
-#define MAX_2_BITS   0xC000000000000000\r
+#define MAX_2_BITS  0xC000000000000000ULL\r
 \r
 ///\r
 /// Maximum legal AARCH64  address\r
 ///\r
-#define MAX_ADDRESS  0xFFFFFFFFFFFFFFFF\r
+#define MAX_ADDRESS   0xFFFFFFFFFFFFFFFFULL\r
+\r
+///\r
+/// Maximum legal AArch64 INTN and UINTN values.\r
+///\r
+#define MAX_INTN   ((INTN)0x7FFFFFFFFFFFFFFFULL)\r
+#define MAX_UINTN  ((UINTN)0xFFFFFFFFFFFFFFFFULL)\r
 \r
 ///\r
 /// The stack alignment required for AARCH64\r