]> 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
-  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
-  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
-  File Name:  PeImage.h\r
-\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_ARM64    0xAA64  // 64bit ARM Architecture, Little Endian\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_AARCH64   IMAGE_FILE_MACHINE_ARM64\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_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
@@ -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_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
+\r
 ///\r
 /// Line number format.\r
 ///\r
@@ -638,6 +643,18 @@ typedef struct {
   //\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