From 73cd59df98762d11450be86caee06cd4b62b19eb Mon Sep 17 00:00:00 2001
From: Olivier Martin <olivier.martin@arm.com>
Date: Wed, 7 Aug 2013 12:52:09 +0100
Subject: MdePkg/AArch64: Fixed some definitions in ProcessorBind.h

- Fixed INT8 declaration
- Introduced MAX_INTN/MAX_UINTN
- Force the MAX_* to be 'unsigned long long' numbers

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Olivier Martin <olivier.martin@arm.com>
---
 MdePkg/Include/AArch64/ProcessorBind.h |   19 +++++++++++++------
 1 files changed, 13 insertions(+), 6 deletions(-)
 mode change 100644 => 100755 MdePkg/Include/AArch64/ProcessorBind.h

diff --git a/MdePkg/Include/AArch64/ProcessorBind.h b/MdePkg/Include/AArch64/ProcessorBind.h
old mode 100644
new mode 100755
index 72d38ec..3c2d5e1
--- a/MdePkg/Include/AArch64/ProcessorBind.h
+++ b/MdePkg/Include/AArch64/ProcessorBind.h
@@ -32,7 +32,7 @@
 
 #if _MSC_EXTENSIONS
   //
-  // use Microsoft* C complier dependent interger width types
+  // use Microsoft* C compiler dependent integer width types
   //
   typedef unsigned __int64    UINT64;
   typedef __int64             INT64;
@@ -44,10 +44,11 @@
   typedef unsigned char       BOOLEAN;
   typedef unsigned char       UINT8;
   typedef char                CHAR8;
-  typedef char                INT8;
+  typedef signed char         INT8;
 #else
   //
   // Assume standard AARCH64 alignment.
+  //
   typedef unsigned long long  UINT64;
   typedef long long           INT64;
   typedef unsigned int        UINT32;
@@ -58,7 +59,7 @@
   typedef unsigned char       BOOLEAN;
   typedef unsigned char       UINT8;
   typedef char                CHAR8;
-  typedef char                INT8;
+  typedef signed char         INT8;
 #endif
 
 ///
@@ -80,17 +81,23 @@ typedef INT64   INTN;
 ///
 /// A value of native width with the highest bit set.
 ///
-#define MAX_BIT      0x8000000000000000
+#define MAX_BIT     0x8000000000000000ULL
 
 ///
 /// A value of native width with the two highest bits set.
 ///
-#define MAX_2_BITS   0xC000000000000000
+#define MAX_2_BITS  0xC000000000000000ULL
 
 ///
 /// Maximum legal AARCH64  address
 ///
-#define MAX_ADDRESS  0xFFFFFFFFFFFFFFFF
+#define MAX_ADDRESS   0xFFFFFFFFFFFFFFFFULL
+
+///
+/// Maximum legal AArch64 INTN and UINTN values.
+///
+#define MAX_INTN   ((INTN)0x7FFFFFFFFFFFFFFFULL)
+#define MAX_UINTN  ((UINTN)0xFFFFFFFFFFFFFFFFULL)
 
 ///
 /// The stack alignment required for AARCH64
-- 
1.7.0.4

