]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Ipf/ProcessorBind.h
MdePkg/ProcessorBind: add defines for page allocation granularity
[mirror_edk2.git] / MdePkg / Include / Ipf / ProcessorBind.h
index 07174fcd3f2f27fdafca6ee039cb85920ccacb00..51885ca6135941c5e3d45183ed9126fe772ff840 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Processor or Compiler specific defines and types for Intel Itanium(TM) processors.\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 \r
 under the terms and conditions of the BSD License which accompanies this\r
 distribution.  The full text of the license may be found at\r
@@ -84,7 +84,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #pragma warning ( disable : 4054 )\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
@@ -156,7 +156,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
@@ -203,7 +203,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
@@ -236,12 +236,24 @@ typedef INT64   INTN;
 ///\r
 #define MAX_ADDRESS   0xFFFFFFFFFFFFFFFFULL\r
 \r
+///\r
+/// Maximum legal Itanium-based INTN and UINTN values.\r
+///\r
+#define MAX_INTN   ((INTN)0x7FFFFFFFFFFFFFFFULL)\r
+#define MAX_UINTN  ((UINTN)0xFFFFFFFFFFFFFFFFULL)\r
+\r
 ///\r
 /// Per the Itanium Software Conventions and Runtime Architecture Guide,\r
 /// section 3.3.4, IPF stack must always be 16-byte aligned.\r
 ///\r
 #define CPU_STACK_ALIGNMENT   16\r
 \r
+///\r
+/// Page allocation granularity for Itanium\r
+///\r
+#define DEFAULT_PAGE_ALLOCATION_GRANULARITY   (0x1000)\r
+#define RUNTIME_PAGE_ALLOCATION_GRANULARITY   (0x2000)\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
@@ -299,5 +311,9 @@ typedef struct {
 **/\r
 #define FUNCTION_ENTRY_POINT(FunctionPointer) (VOID *)(UINTN)(((EFI_PLABEL *)(FunctionPointer))->EntryPoint)\r
 \r
+#ifndef __USER_LABEL_PREFIX__\r
+#define __USER_LABEL_PREFIX__\r
+#endif\r
+\r
 #endif\r
 \r