]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Ia32/ProcessorBind.h
1. Add defines for MAX values for UEFI data types.
[mirror_edk2.git] / MdePkg / Include / Ia32 / ProcessorBind.h
index f1a84d7bb663b80b920b9a0ee4235bd4c70e5a54..7beee20953b591a39c7bbb1968001584e5057209 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Processor or Compiler specific defines and types for IA-32 architecture.\r
 \r
-Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2006 - 2013, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials are licensed and made available under \r
 the terms and conditions of the BSD License that accompanies this distribution.  \r
 The full text of the license may be found at\r
@@ -147,7 +147,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   ///\r
   /// 1-byte signed value.\r
   ///\r
-  typedef char                INT8;\r
+  typedef signed char         INT8;\r
 #else  \r
   ///\r
   /// 8-byte unsigned value.\r
@@ -194,7 +194,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   ///\r
   /// 1-byte signed value\r
   ///\r
-  typedef char                INT8;\r
+  typedef signed char         INT8;\r
 #endif\r
 \r
 ///\r
@@ -226,6 +226,12 @@ typedef INT32   INTN;
 ///\r
 #define MAX_ADDRESS   0xFFFFFFFF\r
 \r
+///\r
+/// Maximum legal IA-32 INTN and UINTN values.\r
+///\r
+#define MAX_INTN   ((INTN)0x7FFFFFFF)\r
+#define MAX_UINTN  ((UINTN)0xFFFFFFFF)\r
+\r
 ///\r
 /// The stack alignment required for IA-32.\r
 ///\r
@@ -245,13 +251,17 @@ typedef INT32   INTN;
   /// Microsoft* compiler specific method for EFIAPI calling convention.\r
   /// \r
   #define EFIAPI __cdecl  \r
+#elif defined(__GNUC__)\r
+  ///\r
+  /// GCC specific method for EFIAPI calling convention.\r
+  /// \r
+  #define EFIAPI __attribute__((cdecl))  \r
 #else\r
-  #if defined(__GNUC__)\r
-    ///\r
-    /// GCC specific method for EFIAPI calling convention.\r
-    /// \r
-    #define EFIAPI __attribute__((cdecl))  \r
-  #endif  \r
+  ///\r
+  /// The default for a non Microsoft* or GCC compiler is to assume the EFI ABI\r
+  /// is the standard. \r
+  ///\r
+  #define EFIAPI\r
 #endif\r
 \r
 #if defined(__GNUC__)\r