/* 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; }Contributors
Person | Tokens | Prop | Commits | CommitProp |
Andrew Morton | 17 | 100.00% | 1 | 100.00% |
Total | 17 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Ralf Bächle | 187 | 35.55% | 7 | 26.92% |
Andrew Morton | 107 | 20.34% | 2 | 7.69% |
Thiemo Seufer | 78 | 14.83% | 1 | 3.85% |
David Howells | 44 | 8.37% | 1 | 3.85% |
Leonid Yegoshin | 16 | 3.04% | 1 | 3.85% |
Jayachandran C | 16 | 3.04% | 2 | 7.69% |
Linus Torvalds | 14 | 2.66% | 1 | 3.85% |
Kevin Cernekee | 9 | 1.71% | 1 | 3.85% |
Shinya Kuribayashi | 8 | 1.52% | 1 | 3.85% |
Fuxin Zhang | 8 | 1.52% | 1 | 3.85% |
Kelvin Cheung | 8 | 1.52% | 1 | 3.85% |
Huacai Chen | 8 | 1.52% | 1 | 3.85% |
David Daney | 8 | 1.52% | 1 | 3.85% |
Linus Torvalds (pre-git) | 6 | 1.14% | 1 | 3.85% |
Paul Burton | 4 | 0.76% | 1 | 3.85% |
Paul Gortmaker | 3 | 0.57% | 1 | 3.85% |
Al Viro | 1 | 0.19% | 1 | 3.85% |
Greg Kroah-Hartman | 1 | 0.19% | 1 | 3.85% |
Total | 526 | 100.00% | 26 | 100.00% |