]> git.proxmox.com Git - mirror_edk2.git/commitdiff
1) Remove UEFI specific defines from IndustryStandard/PeImage.h
authormdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 5 Feb 2009 19:30:05 +0000 (19:30 +0000)
committermdkinney <mdkinney@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 5 Feb 2009 19:30:05 +0000 (19:30 +0000)
2) Add UEFI specific defines to Uefi/UefiBaseType.h
3) Update Base PE/COFF related libs to only use defines from IndustryStandard/PeImage.h

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7438 6f19259b-4bc3-4df7-8a09-765794883524

MdePkg/Include/IndustryStandard/PeImage.h
MdePkg/Include/Uefi/UefiBaseType.h
MdePkg/Library/BasePeCoffGetEntryPointLib/PeCoffGetEntryPoint.c
MdePkg/Library/BasePeCoffLib/BasePeCoff.c
MdePkg/Library/BasePeCoffLib/Ipf/PeCoffLoaderEx.c
MdePkg/Library/BasePeCoffLib/PeCoffLoaderEx.c

index 7e253dcb19936cd3154221c7cb00b2d1e4345a8f..5ab1e7a9b8baff8de709377fd9f900ce792d16de 100644 (file)
 #define IMAGE_FILE_MACHINE_IA64     0x0200\r
 #define IMAGE_FILE_MACHINE_EBC      0x0EBC\r
 #define IMAGE_FILE_MACHINE_X64      0x8664\r
-//\r
-// Support old names for backward compatible\r
-//\r
-#define EFI_IMAGE_MACHINE_IA32      IMAGE_FILE_MACHINE_I386 \r
-#define EFI_IMAGE_MACHINE_IA64      IMAGE_FILE_MACHINE_IA64  \r
-#define EFI_IMAGE_MACHINE_IPF       IMAGE_FILE_MACHINE_IA64  \r
-#define EFI_IMAGE_MACHINE_EBC       IMAGE_FILE_MACHINE_EBC  \r
-#define EFI_IMAGE_MACHINE_X64       IMAGE_FILE_MACHINE_X64\r
 \r
 //\r
 // EXE file formats\r
@@ -114,18 +106,6 @@ typedef struct {
 #define EFI_IMAGE_FILE_DLL                  BIT13    ///< 0x2000  File is a DLL.\r
 #define EFI_IMAGE_FILE_BYTES_REVERSED_HI    BIT15    ///< 0x8000  Bytes of machine word are reversed.\r
 \r
-//\r
-// Other Machine Types\r
-//\r
-#define EFI_IMAGE_FILE_MACHINE_UNKNOWN      0       ///< Any machine type\r
-#define EFI_IMAGE_FILE_MACHINE_I386         0x14c   ///< Intel 386.\r
-#define EFI_IMAGE_FILE_MACHINE_R3000        0x162   ///< MIPS* little-endian, 0540 big-endian\r
-#define EFI_IMAGE_FILE_MACHINE_R4000        0x166   ///< MIPS* little-endian\r
-#define EFI_IMAGE_FILE_MACHINE_POWERPC      0x1F0   ///< IBM* PowerPC Little-Endian\r
-//\r
-// * Other names and brands may be claimed as the property of others.\r
-//\r
-\r
 ///\r
 /// Header Data Directories\r
 ///\r
@@ -256,7 +236,6 @@ typedef struct {
 ///\r
 /// @attention\r
 /// EFI_IMAGE_NT_HEADERS32 is for use ONLY by tools.\r
-/// All proper EFI code MUST use EFI_IMAGE_NT_HEADERS ONLY!!!\r
 ///\r
 typedef struct {\r
   UINT32                      Signature;\r
@@ -269,7 +248,6 @@ typedef struct {
 ///\r
 /// @attention\r
 /// EFI_IMAGE_HEADERS64 is for use ONLY by tools.\r
-/// All proper EFI code MUST use EFI_IMAGE_NT_HEADERS ONLY!!!\r
 ///\r
 typedef struct {\r
   UINT32                      Signature;\r
@@ -279,67 +257,6 @@ typedef struct {
 \r
 #define EFI_IMAGE_SIZEOF_NT_OPTIONAL64_HEADER sizeof (EFI_IMAGE_NT_HEADERS64)\r
 \r
-\r
-///\r
-/// Processor specific definition of EFI_IMAGE_OPTIONAL_HEADER so the\r
-/// type name EFI_IMAGE_OPTIONAL_HEADER is appropriate to the build.  Same for\r
-/// EFI_IMAGE_NT_HEADERS.  These definitions MUST be used by ALL EFI code.\r
-///\r
-#if   defined (MDE_CPU_IA32)\r
-\r
-#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \\r
-  (((Machine) == EFI_IMAGE_MACHINE_IA32) || ((Machine) == EFI_IMAGE_MACHINE_EBC))\r
-\r
-#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_X64) \r
-\r
-typedef EFI_IMAGE_NT_HEADERS32    EFI_IMAGE_NT_HEADERS;\r
-\r
-#elif defined (MDE_CPU_IPF)\r
-\r
-#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \\r
-  (((Machine) == EFI_IMAGE_MACHINE_IPF) || ((Machine) == EFI_IMAGE_MACHINE_EBC))\r
-\r
-#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE) \r
-\r
-typedef EFI_IMAGE_NT_HEADERS64    EFI_IMAGE_NT_HEADERS;\r
-\r
-#elif defined (MDE_CPU_X64)\r
-\r
-#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \\r
-  (((Machine) == EFI_IMAGE_MACHINE_X64) || ((Machine) == EFI_IMAGE_MACHINE_EBC))\r
-\r
-#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_IA32) \r
-\r
-typedef EFI_IMAGE_NT_HEADERS64    EFI_IMAGE_NT_HEADERS;\r
-\r
-#elif defined (MDE_CPU_EBC)\r
-\r
-///\r
-/// This is just to make sure you can cross compile with the EBC compiiler.\r
-/// It does not make sense to have a PE loader coded in EBC. You need to \r
-/// understand the basic \r
-///\r
-#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_EBC)\r
-\r
-#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE) \r
-\r
-typedef EFI_IMAGE_NT_HEADERS64    EFI_IMAGE_NT_HEADERS;\r
-\r
-#else\r
-#error Unknown Processor Type\r
-#endif\r
-\r
-\r
-#define EFI_IMAGE_FIRST_SECTION(ntheader) \\r
-    ( \\r
-      (EFI_IMAGE_SECTION_HEADER *) \\r
-        ( \\r
-          (UINT32) ntheader + \\r
-          OFFSET_OF (EFI_IMAGE_NT_HEADERS, OptionalHeader) + \\r
-          ((EFI_IMAGE_NT_HEADERS *) (ntheader))->FileHeader.SizeOfOptionalHeader \\r
-        ) \\r
-    )\r
-\r
 //\r
 // Other Windows Subsystem Values\r
 //\r
index 43814b9d0691424b9443f2c3bc61564d35593193..fb0ac22dbbf2ddddde38de6f8189faee77c471ff 100644 (file)
@@ -188,5 +188,61 @@ typedef union {
 ///\r
 #define ISO_639_2_ENTRY_SIZE            3\r
 \r
+///\r
+/// PE32+ Machine type for IA32 UEFI images\r
+///\r
+#define EFI_IMAGE_MACHINE_IA32      0x014C\r
+\r
+///\r
+/// PE32+ Machine type for IA64 UEFI images\r
+///\r
+#define EFI_IMAGE_MACHINE_IA64      0x0200\r
+\r
+///\r
+/// PE32+ Machine type for EBC UEFI images\r
+///\r
+#define EFI_IMAGE_MACHINE_EBC       0x0EBC\r
+\r
+///\r
+/// PE32+ Machine type for X64 UEFI images\r
+///\r
+#define EFI_IMAGE_MACHINE_X64       0x8664\r
+\r
+\r
+#if   defined (MDE_CPU_IA32)\r
+\r
+#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \\r
+  (((Machine) == EFI_IMAGE_MACHINE_IA32) || ((Machine) == EFI_IMAGE_MACHINE_EBC))\r
+\r
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_X64) \r
+\r
+#elif defined (MDE_CPU_IPF)\r
+\r
+#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \\r
+  (((Machine) == EFI_IMAGE_MACHINE_IA64) || ((Machine) == EFI_IMAGE_MACHINE_EBC))\r
+\r
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE) \r
+\r
+#elif defined (MDE_CPU_X64)\r
+\r
+#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) \\r
+  (((Machine) == EFI_IMAGE_MACHINE_X64) || ((Machine) == EFI_IMAGE_MACHINE_EBC))\r
+\r
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_IA32) \r
+\r
+#elif defined (MDE_CPU_EBC)\r
+\r
+///\r
+/// This is just to make sure you can cross compile with the EBC compiiler.\r
+/// It does not make sense to have a PE loader coded in EBC. You need to \r
+/// understand the basic \r
+///\r
+#define EFI_IMAGE_MACHINE_TYPE_SUPPORTED(Machine) ((Machine) == EFI_IMAGE_MACHINE_EBC)\r
+\r
+#define EFI_IMAGE_MACHINE_CROSS_TYPE_SUPPORTED(Machine) (FALSE) \r
+\r
+#else\r
+#error Unknown Processor Type\r
+#endif\r
 \r
 #endif\r
index 99873004aaf78717965744b72c363ee13776b768..89858f05e2aee70000b6ba1a6d76ce5c903f21a7 100644 (file)
@@ -195,16 +195,16 @@ PeCoffLoaderGetPdbPointer (
     //       generate PE32+ image with PE32 Magic.\r
     //\r
     switch (Hdr.Pe32->FileHeader.Machine) {\r
-    case EFI_IMAGE_MACHINE_IA32:\r
+    case IMAGE_FILE_MACHINE_I386:\r
       //\r
       // Assume PE32 image with IA32 Machine field.\r
       //\r
       Magic = EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC;\r
       break;\r
-    case EFI_IMAGE_MACHINE_X64:\r
-    case EFI_IMAGE_MACHINE_IPF:\r
+    case IMAGE_FILE_MACHINE_X64:\r
+    case IMAGE_FILE_MACHINE_IA64:\r
       //\r
-      // Assume PE32+ image with x64 or IPF Machine field\r
+      // Assume PE32+ image with x64 or IA64 Machine field\r
       //\r
       Magic = EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC;\r
       break;\r
index d029cc7f47eb4b560675f368c41a81af03623d21..91df24e09c540d2d999b892aab0dc6e2719b7d29 100644 (file)
@@ -35,7 +35,7 @@ PeCoffLoaderGetPeHeaderMagicValue (
   //       Magic value in the OptionalHeader is  EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC\r
   //       then override the returned value to EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC\r
   //\r
-  if (Hdr.Pe32->FileHeader.Machine == EFI_IMAGE_MACHINE_IA64 && Hdr.Pe32->OptionalHeader.Magic == EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC) {\r
+  if (Hdr.Pe32->FileHeader.Machine == IMAGE_FILE_MACHINE_IA64 && Hdr.Pe32->OptionalHeader.Magic == EFI_IMAGE_NT_OPTIONAL_HDR32_MAGIC) {\r
     return EFI_IMAGE_NT_OPTIONAL_HDR64_MAGIC;\r
   }\r
   //\r
index cac3732722bdf04b42177c032c51e75b638c062d..c5d3563148241be0787f5393daa391feae3b1b4f 100644 (file)
@@ -236,8 +236,8 @@ PeCoffLoaderImageFormatSupported (
   IN  UINT16  Machine\r
   )\r
 {\r
-  if ((Machine == EFI_IMAGE_MACHINE_IPF) || (Machine == EFI_IMAGE_MACHINE_IA32) ||\r
-      (Machine ==  EFI_IMAGE_MACHINE_EBC) || (Machine == EFI_IMAGE_MACHINE_X64)) {\r
+  if ((Machine == IMAGE_FILE_MACHINE_IA64) || (Machine == IMAGE_FILE_MACHINE_I386) ||\r
+      (Machine ==  IMAGE_FILE_MACHINE_EBC) || (Machine == IMAGE_FILE_MACHINE_X64)) {\r
     return TRUE;\r
   }\r
 \r
index 6913a87e8130d01807fb30c49d32ba225eb3cba7..723d24e0f4815d0867946d82c7f0465b75f6e500 100644 (file)
@@ -54,8 +54,8 @@ PeCoffLoaderImageFormatSupported (
   IN  UINT16  Machine\r
   )\r
 {\r
-  if ((Machine == EFI_IMAGE_MACHINE_IA32) || (Machine == EFI_IMAGE_MACHINE_X64) || \r
-      (Machine ==  EFI_IMAGE_MACHINE_EBC)) {\r
+  if ((Machine == IMAGE_FILE_MACHINE_I386) || (Machine == IMAGE_FILE_MACHINE_X64) || \r
+      (Machine ==  IMAGE_FILE_MACHINE_EBC)) {\r
     return TRUE; \r
   }\r
 \r