On 2/23/22 21:46, Xiaotian Wu wrote:

Signed-off-by: Xiaotian Wu <wuxiaot...@loongson.cn>
Signed-off-by: Zhou Yang <zhouy...@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 c478933ee..1c8d4f5d5 100644
--- a/include/grub/elf.h
+++ b/include/grub/elf.h
@@ -248,6 +248,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
@@ -2531,6 +2532,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
+
  #ifdef GRUB_TARGET_WORDSIZE
  #if GRUB_TARGET_WORDSIZE == 32

This is consistent with the binutils definitions [1], trimmed down to remove reloc types unused by GRUB, so:

Reviewed-by: WANG Xuerui <g...@xen0n.name>

[1]: https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=include/elf/loongarch.h;h=1893ef5faae6a42eec31ecedd6701e18625840c8;hb=HEAD

Attachment: OpenPGP_0xC01F7214BC931414.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature
Description: OpenPGP digital signature

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to