]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Ipf/ProcessorBind.h
Updated headers to follow coding standard
[mirror_edk2.git] / MdePkg / Include / Ipf / ProcessorBind.h
index 99da96ca05606e464f4173c2737d621c11ee6ac0..2995b121171ee1f1b3761ef243727b6b03fae394 100644 (file)
@@ -10,8 +10,6 @@
   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
-  Module Name:  ProcessorBind.h\r
-\r
 **/\r
 \r
 #ifndef __PROCESSOR_BIND_H__\r
 //\r
 #pragma warning ( disable : 4057 )\r
 \r
+//\r
+// Disable warning on conversion from function pointer to a data pointer\r
+//\r
+#pragma warning ( disable : 4054 )\r
+\r
 //\r
 // ASSERT(FALSE) or while (TRUE) are legal constructes so supress this warning\r
 //\r
 //\r
 #pragma warning ( disable : 4514 )\r
 \r
+//\r
+// This warning is caused by functions defined but not used. For precompiled header only.\r
+//\r
+#pragma warning ( disable : 4505 )\r
+\r
+//\r
+// This warning is caused by empty (after preprocessing) souce file. For precompiled header only.\r
+//\r
+#pragma warning ( disable : 4206 )\r
 \r
 #endif\r
 \r
@@ -162,6 +174,12 @@ typedef INT64   INTN;
 //\r
 #define MAX_ADDRESS   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
 // Modifier to ensure that all protocol member functions and EFI intrinsics\r
 // use the correct C calling convention. All protocol member functions and\r
@@ -181,7 +199,11 @@ typedef INT64   INTN;
 //  if the /OPT:REF linker option is used. We defined a macro as this is a \r
 //  a non standard extension\r
 //\r
-#define GLOBAL_REMOVE_IF_UNREFERENCED\r
+#if _MSC_EXTENSIONS\r
+  #define GLOBAL_REMOVE_IF_UNREFERENCED __declspec(selectany)\r
+#else\r
+  #define GLOBAL_REMOVE_IF_UNREFERENCED\r
+#endif\r
 \r
 //\r
 // A pointer to a function in IPF points to a plabel.\r
@@ -192,11 +214,11 @@ typedef struct {
 } EFI_PLABEL;\r
 \r
 typedef struct {\r
-  UINTN BootPhase;      // entry r20 value\r
-  UINTN UniqueId;       // PAL arbitration ID\r
-  UINTN HealthStat;     // Health Status\r
-  UINTN PALRetAddress;  // return address to PAL\r
-} IPF_HANDOFF_STATUS;\r
+  UINT64                    Status;\r
+  UINT64                    r9;\r
+  UINT64                    r10;\r
+  UINT64                    r11;\r
+} PAL_CALL_RETURN;\r
 \r
 #endif\r
 \r