]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Ia32/ProcessorBind.h
BaseTools/BinToPcd: Fix Python 2.7.x compatibility issue
[mirror_edk2.git] / MdePkg / Include / Ia32 / ProcessorBind.h
index 7beee20953b591a39c7bbb1968001584e5057209..8e4de7029cfc4466fad476485950a1beb7e9ed0a 100644 (file)
@@ -1,14 +1,14 @@
 /** @file\r
   Processor or Compiler specific defines and types for IA-32 architecture.\r
 \r
 /** @file\r
   Processor or Compiler specific defines and types for IA-32 architecture.\r
 \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
+Copyright (c) 2006 - 2018, 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
 The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php.                                          \r
-    \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+http://opensource.org/licenses/bsd-license.php.\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 \r
 **/\r
 \r
 \r
 **/\r
 \r
@@ -79,7 +79,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #pragma warning ( disable : 4057 )\r
 \r
 //\r
 #pragma warning ( disable : 4057 )\r
 \r
 //\r
-// ASSERT(FALSE) or while (TRUE) are legal constructes so supress this warning\r
+// ASSERT(FALSE) or while (TRUE) are legal constructs so suppress this warning\r
 //\r
 #pragma warning ( disable : 4127 )\r
 \r
 //\r
 #pragma warning ( disable : 4127 )\r
 \r
@@ -93,13 +93,33 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 //\r
 #pragma warning ( disable : 4206 )\r
 \r
 //\r
 #pragma warning ( disable : 4206 )\r
 \r
+#if _MSC_VER == 1800 || _MSC_VER == 1900 || _MSC_VER >= 1910\r
+\r
+//\r
+// Disable these warnings for VS2013.\r
+//\r
+\r
+//\r
+// This warning is for potentially uninitialized local variable, and it may cause false\r
+// positive issues in VS2013 and VS2015 build\r
+//\r
+#pragma warning ( disable : 4701 )\r
+\r
+//\r
+// This warning is for potentially uninitialized local pointer variable, and it may cause\r
+// false positive issues in VS2013 and VS2015 build\r
+//\r
+#pragma warning ( disable : 4703 )\r
+\r
+#endif\r
+\r
 #endif\r
 \r
 \r
 #if defined(_MSC_EXTENSIONS)\r
 \r
   //\r
 #endif\r
 \r
 \r
 #if defined(_MSC_EXTENSIONS)\r
 \r
   //\r
-  // use Microsoft C complier dependent integer width types \r
+  // use Microsoft C compiler dependent integer width types\r
   //\r
 \r
   ///\r
   //\r
 \r
   ///\r
@@ -148,7 +168,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
   /// 1-byte signed value.\r
   ///\r
   typedef signed char         INT8;\r
   /// 1-byte signed value.\r
   ///\r
   typedef signed char         INT8;\r
-#else  \r
+#else\r
   ///\r
   /// 8-byte unsigned value.\r
   ///\r
   ///\r
   /// 8-byte unsigned value.\r
   ///\r
@@ -232,11 +252,22 @@ typedef INT32   INTN;
 #define MAX_INTN   ((INTN)0x7FFFFFFF)\r
 #define MAX_UINTN  ((UINTN)0xFFFFFFFF)\r
 \r
 #define MAX_INTN   ((INTN)0x7FFFFFFF)\r
 #define MAX_UINTN  ((UINTN)0xFFFFFFFF)\r
 \r
+///\r
+/// Minimum legal IA-32 INTN value.\r
+///\r
+#define MIN_INTN   (((INTN)-2147483647) - 1)\r
+\r
 ///\r
 /// The stack alignment required for IA-32.\r
 ///\r
 #define CPU_STACK_ALIGNMENT   sizeof(UINTN)\r
 \r
 ///\r
 /// The stack alignment required for IA-32.\r
 ///\r
 #define CPU_STACK_ALIGNMENT   sizeof(UINTN)\r
 \r
+///\r
+/// Page allocation granularity for IA-32.\r
+///\r
+#define DEFAULT_PAGE_ALLOCATION_GRANULARITY   (0x1000)\r
+#define RUNTIME_PAGE_ALLOCATION_GRANULARITY   (0x1000)\r
+\r
 //\r
 // Modifier to ensure that all protocol member functions and EFI intrinsics\r
 // use the correct C calling convention. All protocol member functions and\r
 //\r
 // Modifier to ensure that all protocol member functions and EFI intrinsics\r
 // use the correct C calling convention. All protocol member functions and\r
@@ -249,17 +280,17 @@ typedef INT32   INTN;
 #elif defined(_MSC_EXTENSIONS)\r
   ///\r
   /// Microsoft* compiler specific method for EFIAPI calling convention.\r
 #elif defined(_MSC_EXTENSIONS)\r
   ///\r
   /// Microsoft* compiler specific method for EFIAPI calling convention.\r
-  /// \r
-  #define EFIAPI __cdecl  \r
+  ///\r
+  #define EFIAPI __cdecl\r
 #elif defined(__GNUC__)\r
   ///\r
   /// GCC specific method for EFIAPI calling convention.\r
 #elif defined(__GNUC__)\r
   ///\r
   /// GCC specific method for EFIAPI calling convention.\r
-  /// \r
-  #define EFIAPI __attribute__((cdecl))  \r
+  ///\r
+  #define EFIAPI __attribute__((cdecl))\r
 #else\r
   ///\r
   /// The default for a non Microsoft* or GCC compiler is to assume the EFI ABI\r
 #else\r
   ///\r
   /// The default for a non Microsoft* or GCC compiler is to assume the EFI ABI\r
-  /// is the standard. \r
+  /// is the standard.\r
   ///\r
   #define EFIAPI\r
 #endif\r
   ///\r
   #define EFIAPI\r
 #endif\r
@@ -274,15 +305,19 @@ typedef INT32   INTN;
 \r
 /**\r
   Return the pointer to the first instruction of a function given a function pointer.\r
 \r
 /**\r
   Return the pointer to the first instruction of a function given a function pointer.\r
-  On IA-32 CPU architectures, these two pointer values are the same, \r
+  On IA-32 CPU architectures, these two pointer values are the same,\r
   so the implementation of this macro is very simple.\r
   so the implementation of this macro is very simple.\r
-  \r
+\r
   @param  FunctionPointer   A pointer to a function.\r
 \r
   @return The pointer to the first instruction of a function given a function pointer.\r
   @param  FunctionPointer   A pointer to a function.\r
 \r
   @return The pointer to the first instruction of a function given a function pointer.\r
-  \r
+\r
 **/\r
 #define FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(FunctionPointer)\r
 \r
 **/\r
 #define FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(FunctionPointer)\r
 \r
+#ifndef __USER_LABEL_PREFIX__\r
+#define __USER_LABEL_PREFIX__ _\r
+#endif\r
+\r
 #endif\r
 \r
 #endif\r
 \r