]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/C/Include/IndustryStandard/PeImage.h
BaseTools: Update GenFw/GenFv to support LoongArch platform.
[mirror_edk2.git] / BaseTools / Source / C / Include / IndustryStandard / PeImage.h
index 21c968e650e45ae5cebb7d1a394405ce282dcc50..77ded3f6113982780525cc9da00a1f013765931d 100644 (file)
@@ -7,6 +7,7 @@
   Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
   Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>\r
   Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>\r
+  Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR>\r
 \r
   SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 //\r
 // PE32+ Machine type for EFI images\r
 //\r
-#define IMAGE_FILE_MACHINE_I386     0x014c\r
-#define IMAGE_FILE_MACHINE_EBC      0x0EBC\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
-#define IMAGE_FILE_MACHINE_RISCV64  0x5064  // 64bit RISC-V ISA\r
+#define IMAGE_FILE_MACHINE_I386        0x014c\r
+#define IMAGE_FILE_MACHINE_EBC         0x0EBC\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
+#define IMAGE_FILE_MACHINE_RISCV64     0x5064  // 64bit RISC-V ISA\r
+#define IMAGE_FILE_MACHINE_LOONGARCH64 0x6264  // 64bit LoongArch Architecture\r
 \r
 //\r
 // Support old names for backward compatible\r
 //\r
-#define EFI_IMAGE_MACHINE_IA32      IMAGE_FILE_MACHINE_I386\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
-#define EFI_IMAGE_MACHINE_RISCV64   IMAGE_FILE_MACHINE_RISCV64\r
+#define EFI_IMAGE_MACHINE_IA32        IMAGE_FILE_MACHINE_I386\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
+#define EFI_IMAGE_MACHINE_RISCV64     IMAGE_FILE_MACHINE_RISCV64\r
+#define EFI_IMAGE_MACHINE_LOONGARCH64 IMAGE_FILE_MACHINE_LOONGARCH64\r
 \r
 #define EFI_IMAGE_DOS_SIGNATURE     0x5A4D      // MZ\r
 #define EFI_IMAGE_OS2_SIGNATURE     0x454E      // NE\r
@@ -500,19 +503,21 @@ typedef struct {
 //\r
 // Based relocation types.\r
 //\r
-#define EFI_IMAGE_REL_BASED_ABSOLUTE      0\r
-#define EFI_IMAGE_REL_BASED_HIGH          1\r
-#define EFI_IMAGE_REL_BASED_LOW           2\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_RISCV_HI20    5\r
-#define EFI_IMAGE_REL_BASED_ARM_MOV32T    7\r
-#define EFI_IMAGE_REL_BASED_RISCV_LOW12I  7\r
-#define EFI_IMAGE_REL_BASED_RISCV_LOW12S  8\r
-#define EFI_IMAGE_REL_BASED_IA64_IMM64    9\r
-#define EFI_IMAGE_REL_BASED_DIR64         10\r
+#define EFI_IMAGE_REL_BASED_ABSOLUTE             0\r
+#define EFI_IMAGE_REL_BASED_HIGH                 1\r
+#define EFI_IMAGE_REL_BASED_LOW                  2\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_RISCV_HI20           5\r
+#define EFI_IMAGE_REL_BASED_ARM_MOV32T           7\r
+#define EFI_IMAGE_REL_BASED_RISCV_LOW12I         7\r
+#define EFI_IMAGE_REL_BASED_RISCV_LOW12S         8\r
+#define EFI_IMAGE_REL_BASED_LOONGARCH32_MARK_LA  8\r
+#define EFI_IMAGE_REL_BASED_LOONGARCH64_MARK_LA  8\r
+#define EFI_IMAGE_REL_BASED_IA64_IMM64           9\r
+#define EFI_IMAGE_REL_BASED_DIR64                10\r
 \r
 \r
 ///\r