]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/C/Include/IndustryStandard/PeImage.h
License header updated to match correct format.
[mirror_edk2.git] / BaseTools / Source / C / Include / IndustryStandard / PeImage.h
index 57cbc2366b63ace03a765f8cf2695bcb96049744..8c197f43bb148a48398ddf072bd7f861b0b7c0f1 100644 (file)
@@ -4,18 +4,17 @@
 \r
   @bug Fix text - doc as defined in MSFT EFI specification.\r
 \r
 \r
   @bug Fix text - doc as defined in MSFT EFI specification.\r
 \r
-  Copyright (c) 2006 - 2008, Intel Corporation  All rights reserved.\r
+  Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>\r
+  Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>\r
 \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
 \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
+  distribution.  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
 \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
-  File Name:  PeImage.h\r
-\r
 **/\r
 \r
 #ifndef __PE_IMAGE_H__\r
 **/\r
 \r
 #ifndef __PE_IMAGE_H__\r
@@ -48,6 +47,7 @@
 #define IMAGE_FILE_MACHINE_X64      0x8664\r
 #define IMAGE_FILE_MACHINE_ARM      0x01c0  // Thumb only\r
 #define IMAGE_FILE_MACHINE_ARMT     0x01c2  // 32bit Mixed ARM and Thumb/Thumb 2  Little Endian\r
 #define IMAGE_FILE_MACHINE_X64      0x8664\r
 #define IMAGE_FILE_MACHINE_ARM      0x01c0  // Thumb only\r
 #define IMAGE_FILE_MACHINE_ARMT     0x01c2  // 32bit Mixed ARM and Thumb/Thumb 2  Little Endian\r
+#define IMAGE_FILE_MACHINE_ARM64    0xAA64  // 64bit ARM Architecture, Little Endian\r
 \r
 //\r
 // Support old names for backward compatible\r
 \r
 //\r
 // Support old names for backward compatible\r
@@ -58,6 +58,7 @@
 #define EFI_IMAGE_MACHINE_EBC       IMAGE_FILE_MACHINE_EBC  \r
 #define EFI_IMAGE_MACHINE_X64       IMAGE_FILE_MACHINE_X64\r
 #define EFI_IMAGE_MACHINE_ARMT      IMAGE_FILE_MACHINE_ARMT\r
 #define EFI_IMAGE_MACHINE_EBC       IMAGE_FILE_MACHINE_EBC  \r
 #define EFI_IMAGE_MACHINE_X64       IMAGE_FILE_MACHINE_X64\r
 #define EFI_IMAGE_MACHINE_ARMT      IMAGE_FILE_MACHINE_ARMT\r
+#define EFI_IMAGE_MACHINE_AARCH64   IMAGE_FILE_MACHINE_ARM64\r
 \r
 #define EFI_IMAGE_DOS_SIGNATURE     0x5A4D      // MZ\r
 #define EFI_IMAGE_OS2_SIGNATURE     0x454E      // NE\r
 \r
 #define EFI_IMAGE_DOS_SIGNATURE     0x5A4D      // MZ\r
 #define EFI_IMAGE_OS2_SIGNATURE     0x454E      // NE\r
@@ -110,6 +111,7 @@ typedef struct {
 #define EFI_IMAGE_FILE_EXECUTABLE_IMAGE     0x0002  // File is executable  (i.e. no unresolved externel references).\r
 #define EFI_IMAGE_FILE_LINE_NUMS_STRIPPED   0x0004  // Line nunbers stripped from file.\r
 #define EFI_IMAGE_FILE_LOCAL_SYMS_STRIPPED  0x0008  // Local symbols stripped from file.\r
 #define EFI_IMAGE_FILE_EXECUTABLE_IMAGE     0x0002  // File is executable  (i.e. no unresolved externel references).\r
 #define EFI_IMAGE_FILE_LINE_NUMS_STRIPPED   0x0004  // Line nunbers stripped from file.\r
 #define EFI_IMAGE_FILE_LOCAL_SYMS_STRIPPED  0x0008  // Local symbols stripped from file.\r
+#define EFI_IMAGE_FILE_LARGE_ADDRESS_AWARE  0x0020  // Supports addresses > 2-GB\r
 #define EFI_IMAGE_FILE_BYTES_REVERSED_LO    0x0080  // Bytes of machine word are reversed.\r
 #define EFI_IMAGE_FILE_32BIT_MACHINE        0x0100  // 32 bit word machine.\r
 #define EFI_IMAGE_FILE_DEBUG_STRIPPED       0x0200  // Debugging info stripped from file in .DBG file\r
 #define EFI_IMAGE_FILE_BYTES_REVERSED_LO    0x0080  // Bytes of machine word are reversed.\r
 #define EFI_IMAGE_FILE_32BIT_MACHINE        0x0100  // 32 bit word machine.\r
 #define EFI_IMAGE_FILE_DEBUG_STRIPPED       0x0200  // Debugging info stripped from file in .DBG file\r
@@ -510,9 +512,12 @@ typedef struct {
 #define EFI_IMAGE_REL_BASED_HIGHLOW       3\r
 #define EFI_IMAGE_REL_BASED_HIGHADJ       4\r
 #define EFI_IMAGE_REL_BASED_MIPS_JMPADDR  5\r
 #define EFI_IMAGE_REL_BASED_HIGHLOW       3\r
 #define EFI_IMAGE_REL_BASED_HIGHADJ       4\r
 #define EFI_IMAGE_REL_BASED_MIPS_JMPADDR  5\r
+#define EFI_IMAGE_REL_BASED_ARM_MOV32A    5\r
+#define EFI_IMAGE_REL_BASED_ARM_MOV32T    7\r
 #define EFI_IMAGE_REL_BASED_IA64_IMM64    9\r
 #define EFI_IMAGE_REL_BASED_DIR64         10\r
 \r
 #define EFI_IMAGE_REL_BASED_IA64_IMM64    9\r
 #define EFI_IMAGE_REL_BASED_DIR64         10\r
 \r
+\r
 ///\r
 /// Line number format.\r
 ///\r
 ///\r
 /// Line number format.\r
 ///\r
@@ -638,6 +643,18 @@ typedef struct {
   //\r
 } EFI_IMAGE_DEBUG_CODEVIEW_RSDS_ENTRY;\r
 \r
   //\r
 } EFI_IMAGE_DEBUG_CODEVIEW_RSDS_ENTRY;\r
 \r
+///\r
+/// Debug Data Structure defined by Apple Mach-O to Coff utility\r
+///\r
+#define CODEVIEW_SIGNATURE_MTOC  SIGNATURE_32('M', 'T', 'O', 'C')\r
+typedef struct {\r
+  UINT32    Signature;                       ///< "MTOC"\r
+  EFI_GUID  MachOUuid;\r
+  //\r
+  //  Filename of .DLL (Mach-O with debug info) goes here\r
+  //\r
+} EFI_IMAGE_DEBUG_CODEVIEW_MTOC_ENTRY;\r
+\r
 //\r
 // .pdata entries for X64\r
 //\r
 //\r
 // .pdata entries for X64\r
 //\r