Something went wrong. Try again.
(I'm so sorry!) Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687/* SPDX-License-Identifier: GPL-2.0 */#ifndef _ASM_MODULE_H#define _ASM_MODULE_H
#include <linux/list.h>#include <linux/elf.h>#include <asm/extable.h>
struct mod_arch_specific { /* Data Bus Error exception tables */ struct list_head dbe_list; const struct exception_table_entry *dbe_start; const struct exception_table_entry *dbe_end; struct mips_hi16 *r_mips_hi16_list;};
typedef uint8_t Elf64_Byte; /* Type for a 8-bit quantity. */
typedef struct { Elf64_Addr r_offset; /* Address of relocation. */ Elf64_Word r_sym; /* Symbol index. */ Elf64_Byte r_ssym; /* Special symbol. */ Elf64_Byte r_type3; /* Third relocation. */ Elf64_Byte r_type2; /* Second relocation. */ Elf64_Byte r_type; /* First relocation. */} Elf64_Mips_Rel;
typedef struct { Elf64_Addr r_offset; /* Address of relocation. */ Elf64_Word r_sym; /* Symbol index. */ Elf64_Byte r_ssym; /* Special symbol. */ Elf64_Byte r_type3; /* Third relocation. */ Elf64_Byte r_type2; /* Second relocation. */ Elf64_Byte r_type; /* First relocation. */ Elf64_Sxword r_addend; /* Addend. */} Elf64_Mips_Rela;
#ifdef CONFIG_32BIT#define Elf_Shdr Elf32_Shdr#define Elf_Sym Elf32_Sym#define Elf_Ehdr Elf32_Ehdr#define Elf_Addr Elf32_Addr#define Elf_Rel Elf32_Rel#define Elf_Rela Elf32_Rela#define ELF_R_TYPE(X) ELF32_R_TYPE(X)#define ELF_R_SYM(X) ELF32_R_SYM(X)
#define Elf_Mips_Rel Elf32_Rel#define Elf_Mips_Rela Elf32_Rela
#define ELF_MIPS_R_SYM(rel) ELF32_R_SYM((rel).r_info)#define ELF_MIPS_R_TYPE(rel) ELF32_R_TYPE((rel).r_info)
#endif
#ifdef CONFIG_64BIT#define Elf_Shdr Elf64_Shdr#define Elf_Sym Elf64_Sym#define Elf_Ehdr Elf64_Ehdr#define Elf_Addr Elf64_Addr#define Elf_Rel Elf64_Rel#define Elf_Rela Elf64_Rela#define ELF_R_TYPE(X) ELF64_R_TYPE(X)#define ELF_R_SYM(X) ELF64_R_SYM(X)
#define Elf_Mips_Rel Elf64_Mips_Rel#define Elf_Mips_Rela Elf64_Mips_Rela
#define ELF_MIPS_R_SYM(rel) ((rel).r_sym)#define ELF_MIPS_R_TYPE(rel) ((rel).r_type)
#endif
#ifdef CONFIG_MODULES/* Given an address, look for it in the exception tables. */const struct exception_table_entry*search_module_dbetables(unsigned long addr);#else/* Given an address, look for it in the exception tables. */static inline const struct exception_table_entry *search_module_dbetables(unsigned long addr){ return NULL;}#endif
#endif /* _ASM_MODULE_H */