[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v11 02/11] Add LoongArch definitions
From: |
Xiaotian Wu |
Subject: |
[PATCH v11 02/11] Add LoongArch definitions |
Date: |
Fri, 2 Sep 2022 17:38:18 +0800 |
Signed-off-by: Xiaotian Wu <wuxiaotian@loongson.cn>
Signed-off-by: Zhou Yang <zhouyang@loongson.cn>
---
include/grub/elf.h | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/include/grub/elf.h b/include/grub/elf.h
index 0e70651d4..beef94512 100644
--- a/include/grub/elf.h
+++ b/include/grub/elf.h
@@ -252,6 +252,7 @@ typedef struct
#define EM_NUM 95
#define EM_AARCH64 183 /* ARM 64-bit architecture */
#define EM_RISCV 243 /* RISC-V */
+#define EM_LOONGARCH 258 /* LoongArch */
/* If it is necessary to assign new unofficial EM_* values, please
pick large random numbers (0x8523, 0xa7f2, etc.) to minimize the
@@ -2536,6 +2537,28 @@ typedef Elf32_Addr Elf32_Conflict;
#define R_RISCV_SET32 56
#define R_RISCV_32_PCREL 57
+/* LoongArch relocations */
+#define R_LARCH_NONE 0
+#define R_LARCH_64 2
+#define R_LARCH_MARK_LA 20
+#define R_LARCH_SOP_PUSH_PCREL 22
+#define R_LARCH_SOP_PUSH_ABSOLUTE 23
+#define R_LARCH_SOP_PUSH_PLT_PCREL 29
+#define R_LARCH_SOP_SUB 32
+#define R_LARCH_SOP_SL 33
+#define R_LARCH_SOP_SR 34
+#define R_LARCH_SOP_ADD 35
+#define R_LARCH_SOP_AND 36
+#define R_LARCH_SOP_IF_ELSE 37
+#define R_LARCH_SOP_POP_32_S_10_5 38
+#define R_LARCH_SOP_POP_32_U_10_12 39
+#define R_LARCH_SOP_POP_32_S_10_12 40
+#define R_LARCH_SOP_POP_32_S_10_16 41
+#define R_LARCH_SOP_POP_32_S_10_16_S2 42
+#define R_LARCH_SOP_POP_32_S_5_20 43
+#define R_LARCH_SOP_POP_32_S_0_5_10_16_S2 44
+#define R_LARCH_SOP_POP_32_S_0_10_10_16_S2 45
+
extern grub_err_t grub_elf32_get_shnum (Elf32_Ehdr *e, Elf32_Shnum *shnum);
extern grub_err_t grub_elf32_get_shstrndx (Elf32_Ehdr *e, Elf32_Word
*shstrndx);
extern grub_err_t grub_elf32_get_phnum (Elf32_Ehdr *e, Elf32_Word *phnum);
--
2.35.1
- [PATCH v11 00/11] Add support for LoongArch, Xiaotian Wu, 2022/09/02
- [PATCH v11 02/11] Add LoongArch definitions,
Xiaotian Wu <=
- [PATCH v11 01/11] PE: Add LoongArch definitions, Xiaotian Wu, 2022/09/02
- [PATCH v11 03/11] LoongArch: Add setjmp implementation, Xiaotian Wu, 2022/09/02
- [PATCH v11 04/11] LoongArch: Add early startup code, Xiaotian Wu, 2022/09/02
- [PATCH v11 05/11] LoongArch: Add stubs for Linux loading commands, Xiaotian Wu, 2022/09/02
- [PATCH v11 06/11] LoongArch: Add awareness for LoongArch relocations, Xiaotian Wu, 2022/09/02
- [PATCH v11 07/11] LoongArch: Add auxiliary files, Xiaotian Wu, 2022/09/02
- [PATCH v11 08/11] LoongArch: Add to build system, Xiaotian Wu, 2022/09/02
- [PATCH v11 09/11] LoongArch: Support new relocation types in v2.00 ABI, Xiaotian Wu, 2022/09/02
- [PATCH v11 11/11] tests: add support for LoongArch, Xiaotian Wu, 2022/09/02
- [PATCH v11 10/11] LoongArch: add efistub kernel support, Xiaotian Wu, 2022/09/02