/arch/xtensa/kernel/ |
D | module.c | 28 decode_calln_opcode (unsigned char *location) in decode_calln_opcode() argument 31 return (location[0] & 0xf0) == 0x50; in decode_calln_opcode() 34 return (location[0] & 0xf) == 0x5; in decode_calln_opcode() 39 decode_l32r_opcode (unsigned char *location) in decode_l32r_opcode() argument 42 return (location[0] & 0xf0) == 0x10; in decode_l32r_opcode() 45 return (location[0] & 0xf) == 0x1; in decode_l32r_opcode() 58 unsigned char *location; in apply_relocate_add() local 66 location = (char *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 82 *(uint32_t *)location += value; in apply_relocate_add() 86 if (decode_calln_opcode(location)) { in apply_relocate_add() [all …]
|
/arch/mips/kernel/ |
D | module-rela.c | 26 extern int apply_r_mips_none(struct module *me, u32 *location, Elf_Addr v); 28 static int apply_r_mips_32_rela(struct module *me, u32 *location, Elf_Addr v) in apply_r_mips_32_rela() argument 30 *location = v; in apply_r_mips_32_rela() 35 static int apply_r_mips_26_rela(struct module *me, u32 *location, Elf_Addr v) in apply_r_mips_26_rela() argument 43 if ((v & 0xf0000000) != (((unsigned long)location + 4) & 0xf0000000)) { in apply_r_mips_26_rela() 50 *location = (*location & ~0x03ffffff) | ((v >> 2) & 0x03ffffff); in apply_r_mips_26_rela() 55 static int apply_r_mips_hi16_rela(struct module *me, u32 *location, Elf_Addr v) in apply_r_mips_hi16_rela() argument 57 *location = (*location & 0xffff0000) | in apply_r_mips_hi16_rela() 63 static int apply_r_mips_lo16_rela(struct module *me, u32 *location, Elf_Addr v) in apply_r_mips_lo16_rela() argument 65 *location = (*location & 0xffff0000) | (v & 0xffff); in apply_r_mips_lo16_rela() [all …]
|
D | module.c | 55 int apply_r_mips_none(struct module *me, u32 *location, Elf_Addr v) in apply_r_mips_none() argument 60 static int apply_r_mips_32_rel(struct module *me, u32 *location, Elf_Addr v) in apply_r_mips_32_rel() argument 62 *location += v; in apply_r_mips_32_rel() 67 static int apply_r_mips_26_rel(struct module *me, u32 *location, Elf_Addr v) in apply_r_mips_26_rel() argument 75 if ((v & 0xf0000000) != (((unsigned long)location + 4) & 0xf0000000)) { in apply_r_mips_26_rel() 82 *location = (*location & ~0x03ffffff) | in apply_r_mips_26_rel() 83 ((*location + (v >> 2)) & 0x03ffffff); in apply_r_mips_26_rel() 88 static int apply_r_mips_hi16_rel(struct module *me, u32 *location, Elf_Addr v) in apply_r_mips_hi16_rel() argument 101 n->addr = (Elf_Addr *)location; in apply_r_mips_hi16_rel() 120 static int apply_r_mips_lo16_rel(struct module *me, u32 *location, Elf_Addr v) in apply_r_mips_lo16_rel() argument [all …]
|
D | vpe.c | 228 static int apply_r_mips_none(struct module *me, uint32_t *location, in apply_r_mips_none() argument 234 static int apply_r_mips_gprel16(struct module *me, uint32_t *location, in apply_r_mips_gprel16() argument 239 if (!(*location & 0xffff)) { in apply_r_mips_gprel16() 245 (int)(short)(*location & 0xffff) - gp_addr); in apply_r_mips_gprel16() 254 *location = (*location & 0xffff0000) | (rel & 0xffff); in apply_r_mips_gprel16() 259 static int apply_r_mips_pc16(struct module *me, uint32_t *location, in apply_r_mips_pc16() argument 263 rel = (((unsigned int)v - (unsigned int)location)); in apply_r_mips_pc16() 273 *location = (*location & 0xffff0000) | (rel & 0xffff); in apply_r_mips_pc16() 278 static int apply_r_mips_32(struct module *me, uint32_t *location, in apply_r_mips_32() argument 281 *location += v; in apply_r_mips_32() [all …]
|
/arch/microblaze/kernel/ |
D | module.c | 28 unsigned long int *location; in apply_relocate_add() local 39 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr + in apply_relocate_add() 56 old_value = *location; in apply_relocate_add() 57 *location = value + old_value; in apply_relocate_add() 62 *location = value; in apply_relocate_add() 69 old_value = ((location[0] & 0x0000FFFF) << 16) | in apply_relocate_add() 70 (location[1] & 0x0000FFFF); in apply_relocate_add() 73 location[0] = (location[0] & 0xFFFF0000) | in apply_relocate_add() 75 location[1] = (location[1] & 0xFFFF0000) | in apply_relocate_add() 85 old_value = (location[0] & 0xFFFF) << 16 | in apply_relocate_add() [all …]
|
/arch/sh/kernel/ |
D | module.c | 47 uint32_t *location; in apply_relocate_add() local 54 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 75 value = get_unaligned(location); in apply_relocate_add() 77 put_unaligned(value, location); in apply_relocate_add() 80 relocation = (relocation - (Elf32_Addr) location); in apply_relocate_add() 81 value = get_unaligned(location); in apply_relocate_add() 83 put_unaligned(value, location); in apply_relocate_add() 86 *location = (*location & ~0x3fffc00) | in apply_relocate_add() 90 *location = (*location & ~0x3fffc00) | in apply_relocate_add() 94 relocation -= (Elf32_Addr) location; in apply_relocate_add() [all …]
|
/arch/c6x/kernel/ |
D | module.c | 53 u32 *location, opcode; in apply_relocate_add() local 63 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 76 pr_debug("RELA ABS32: [%p] = 0x%x\n", location, v); in apply_relocate_add() 77 *location = v; in apply_relocate_add() 80 pr_debug("RELA ABS16: [%p] = 0x%x\n", location, v); in apply_relocate_add() 81 *(u16 *)location = v; in apply_relocate_add() 84 pr_debug("RELA ABS8: [%p] = 0x%x\n", location, v); in apply_relocate_add() 85 *(u8 *)location = v; in apply_relocate_add() 88 opcode = *location; in apply_relocate_add() 92 location, v, opcode); in apply_relocate_add() [all …]
|
/arch/m32r/kernel/ |
D | module.c | 81 uint32_t *location; in apply_relocate_add() local 92 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 99 align = (int)location & 3; in apply_relocate_add() 103 COPY_UNALIGNED_WORD (*location, value, align); in apply_relocate_add() 105 COPY_UNALIGNED_WORD (value, *location, align); in apply_relocate_add() 108 COPY_UNALIGNED_WORD (*location, value, align); in apply_relocate_add() 112 COPY_UNALIGNED_WORD (value, *location, align); in apply_relocate_add() 115 COPY_UNALIGNED_WORD (*location, value, align); in apply_relocate_add() 120 COPY_UNALIGNED_WORD (value, *location, align); in apply_relocate_add() 123 hlocation = (unsigned short *)location; in apply_relocate_add() [all …]
|
/arch/hexagon/kernel/ |
D | module.c | 86 uint32_t *location; in apply_relocate_add() local 103 location = loc_base + rela[i].r_offset; in apply_relocate_add() 109 i, value, location, ELF32_R_TYPE(rela[i].r_info), in apply_relocate_add() 115 int dist = (int)(value - (uint32_t)location); in apply_relocate_add() 122 dist, value, (uint32_t)location, in apply_relocate_add() 127 DEBUGP("B22_PCREL contents: %08X.\n", *location); in apply_relocate_add() 128 *location &= ~0x01ff3fff; in apply_relocate_add() 129 *location |= 0x00003fff & dist; in apply_relocate_add() 130 *location |= 0x01ff0000 & (dist<<2); in apply_relocate_add() 131 DEBUGP("Contents after reloc: %08x\n", *location); in apply_relocate_add() [all …]
|
/arch/powerpc/kernel/ |
D | module_32.c | 182 static uint32_t do_plt_call(void *location, in do_plt_call() argument 189 pr_debug("Doing plt for call to 0x%x at 0x%x\n", val, (unsigned int)location); in do_plt_call() 191 if (location >= mod->module_core in do_plt_call() 192 && location < mod->module_core + mod->core_size) in do_plt_call() 221 uint32_t *location; in apply_relocate_add() local 228 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 240 *(uint32_t *)location = value; in apply_relocate_add() 245 *(uint16_t *)location = value; in apply_relocate_add() 250 *(uint16_t *)location = (value >> 16); in apply_relocate_add() 258 *(uint16_t *)location = (value + 0x8000) >> 16; in apply_relocate_add() [all …]
|
D | module_64.c | 502 unsigned long *location; in apply_relocate_add() local 520 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 527 location, (long)ELF64_R_TYPE(rela[i].r_info), in apply_relocate_add() 537 *(u32 *)location = value; in apply_relocate_add() 542 *(unsigned long *)location = value; in apply_relocate_add() 546 *(unsigned long *)location = my_r2(sechdrs, me); in apply_relocate_add() 557 *((uint16_t *) location) in apply_relocate_add() 558 = (*((uint16_t *) location) & ~0xffff) in apply_relocate_add() 565 *((uint16_t *) location) in apply_relocate_add() 566 = (*((uint16_t *) location) & ~0xffff) in apply_relocate_add() [all …]
|
/arch/sparc/kernel/ |
D | module.c | 91 u8 *location; in apply_relocate_add() local 98 location = (u8 *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 100 loc32 = (u32 *) location; in apply_relocate_add() 103 BUG_ON(((u64)location >> (u64)32) != (u64)0); in apply_relocate_add() 114 v -= (Elf_Addr) location; in apply_relocate_add() 119 location[0] = v >> 56; in apply_relocate_add() 120 location[1] = v >> 48; in apply_relocate_add() 121 location[2] = v >> 40; in apply_relocate_add() 122 location[3] = v >> 32; in apply_relocate_add() 123 location[4] = v >> 24; in apply_relocate_add() [all …]
|
/arch/mn10300/kernel/ |
D | module.c | 66 uint8_t *location; in apply_relocate_add() local 74 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 105 reloc_put32(location, relocation); in apply_relocate_add() 108 reloc_put24(location, relocation); in apply_relocate_add() 111 reloc_put16(location, relocation); in apply_relocate_add() 114 *location = relocation; in apply_relocate_add() 121 value = relocation - (uint32_t) location; in apply_relocate_add() 122 reloc_put32(location, value); in apply_relocate_add() 125 value = relocation - (uint32_t) location; in apply_relocate_add() 126 reloc_put16(location, value); in apply_relocate_add() [all …]
|
/arch/openrisc/kernel/ |
D | module.c | 29 uint32_t *location; in apply_relocate_add() local 36 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 47 *location = value; in apply_relocate_add() 50 *((uint16_t *)location + 1) = value; in apply_relocate_add() 53 *((uint16_t *)location + 1) = value >> 16; in apply_relocate_add() 56 value -= (uint32_t)location; in apply_relocate_add() 59 value |= *location & 0xfc000000; in apply_relocate_add() 60 *location = value; in apply_relocate_add()
|
/arch/tile/kernel/ |
D | backtrace.c | 252 static void find_caller_pc_and_caller_sp(CallerLocation *location, in find_caller_pc_and_caller_sp() argument 288 location->sp_location = SP_LOC_OFFSET; in find_caller_pc_and_caller_sp() 289 location->sp_offset = 0; in find_caller_pc_and_caller_sp() 292 location->pc_location = PC_LOC_UNKNOWN; in find_caller_pc_and_caller_sp() 327 location->pc_location = PC_LOC_IN_LR; in find_caller_pc_and_caller_sp() 376 location->pc_location = in find_caller_pc_and_caller_sp() 379 location->pc_location = in find_caller_pc_and_caller_sp() 384 location->pc_location = PC_LOC_UNKNOWN; in find_caller_pc_and_caller_sp() 385 location->sp_location = SP_LOC_UNKNOWN; in find_caller_pc_and_caller_sp() 390 location->sp_location = SP_LOC_IN_R52; in find_caller_pc_and_caller_sp() [all …]
|
D | module.c | 131 u64 *location; in apply_relocate_add() local 138 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 152 (*location = ((*location & ~func(-1)) | func(value))) in apply_relocate_add() 159 (*location = swab64((swab64(*location) & ~func(-1)) | func(value))) in apply_relocate_add() 164 *(uint32_t *)location = value; in apply_relocate_add() 179 value -= (unsigned long) location; /* pc-relative */ in apply_relocate_add() 185 *location = value; in apply_relocate_add() 210 value -= (unsigned long) location; /* pc-relative */ in apply_relocate_add() 216 rel[i].r_offset, location); in apply_relocate_add()
|
/arch/alpha/kernel/ |
D | module.c | 152 void *base, *location; in apply_relocate_add() local 174 location = base + rela[i].r_offset; in apply_relocate_add() 186 ((u32 *)location)[0] = value; in apply_relocate_add() 187 ((u32 *)location)[1] = value >> 32; in apply_relocate_add() 193 *(u32 *)location = value; in apply_relocate_add() 200 *(u16 *)location = lo; in apply_relocate_add() 206 value = gp - (u64)location; in apply_relocate_add() 211 *(u16 *)location = hi >> 16; in apply_relocate_add() 212 *(u16 *)(location + rela[i].r_addend) = lo; in apply_relocate_add() 226 value -= (u64)location + 4; in apply_relocate_add() [all …]
|
/arch/m68k/kernel/ |
D | module.c | 31 uint32_t *location; in apply_relocate() local 37 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate() 47 *location += sym->st_value; in apply_relocate() 51 *location += sym->st_value - (uint32_t)location; in apply_relocate() 71 uint32_t *location; in apply_relocate_add() local 77 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 87 *location = rel[i].r_addend + sym->st_value; in apply_relocate_add() 91 *location = rel[i].r_addend + sym->st_value - (uint32_t)location; in apply_relocate_add()
|
/arch/metag/kernel/ |
D | module.c | 162 static uint32_t do_plt_call(void *location, Elf32_Addr val, in do_plt_call() argument 179 if (location >= mod->module_core in do_plt_call() 180 && location < mod->module_core + mod->core_size) in do_plt_call() 208 uint32_t *location; in apply_relocate_add() local 215 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr in apply_relocate_add() 229 *location = (*location & 0xfff80007) | in apply_relocate_add() 237 put_unaligned(relocation, location); in apply_relocate_add() 240 *location += ((relocation & 0xfff) << 7); in apply_relocate_add() 243 if (*location & (0x7ffff << 5)) { in apply_relocate_add() 253 (uint32_t)location) > 0xfffff) || in apply_relocate_add() [all …]
|
/arch/avr32/kernel/ |
D | module.c | 160 uint32_t *location; in apply_relocate_add() local 163 location = (void *)dstsec->sh_addr + rel->r_offset; in apply_relocate_add() 194 *location = relocation; in apply_relocate_add() 197 relocation -= (Elf32_Addr)location; in apply_relocate_add() 205 value = *location; in apply_relocate_add() 210 *location = value; in apply_relocate_add() 213 relocation -= (Elf32_Addr)location; in apply_relocate_add() 219 value = get_u16(location); in apply_relocate_add() 223 put_u16(location, value); in apply_relocate_add() 226 relocation -= (Elf32_Addr)location; in apply_relocate_add() [all …]
|
/arch/arc/kernel/ |
D | module.c | 71 Elf32_Addr location; in apply_relocate_add() local 89 location = sec_to_patch + rel_entry[i].r_offset; in apply_relocate_add() 99 sym_entry->st_value, location, relocation, in apply_relocate_add() 110 arc_write_me((unsigned short *)location, relocation); in apply_relocate_add() 112 *((Elf32_Addr *) location) = relocation; in apply_relocate_add()
|
/arch/mips/include/asm/octeon/ |
D | cvmx-mdio.h | 300 static inline int cvmx_mdio_read(int bus_id, int phy_id, int location) in cvmx_mdio_read() argument 312 smi_cmd.s.reg_adr = location; in cvmx_mdio_read() 339 static inline int cvmx_mdio_write(int bus_id, int phy_id, int location, int val) in cvmx_mdio_write() argument 355 smi_cmd.s.reg_adr = location; in cvmx_mdio_write() 382 int location) in cvmx_mdio_45_read() argument 395 smi_wr.s.dat = location; in cvmx_mdio_45_read() 411 bus_id, phy_id, device, location); in cvmx_mdio_45_read() 429 bus_id, phy_id, device, location); in cvmx_mdio_45_read() 438 bus_id, phy_id, device, location); in cvmx_mdio_45_read() 458 int location, int val) in cvmx_mdio_45_write() argument [all …]
|
/arch/blackfin/kernel/ |
D | module.c | 158 unsigned long location, value, size; in apply_relocate_add() local 165 location = sechdrs[sechdrs[relsec].sh_info].sh_addr + in apply_relocate_add() 176 if (location >= COREB_L1_DATA_A_START) { in apply_relocate_add() 184 location, value, ELF32_R_TYPE(rel[i].r_info)); in apply_relocate_add() 213 switch (bfin_mem_access_type(location, size)) { in apply_relocate_add() 216 memcpy((void *)location, &value, size); in apply_relocate_add() 219 dma_memcpy((void *)location, &value, size); in apply_relocate_add() 222 isram_memcpy((void *)location, &value, size); in apply_relocate_add() 225 pr_err("invalid relocation for %#lx\n", location); in apply_relocate_add()
|
/arch/arm/boot/dts/ |
D | efm32gg-dk3750.dts | 29 energymicro,location = <3>; 46 energymicro,location = <1>; 60 energymicro,location = <1>; 73 energymicro,location = <2>;
|
/arch/ia64/kernel/ |
D | module.c | 618 Elf64_Shdr *sec, void *location) in do_reloc() argument 634 case RV_PLTREL: val = get_plt(mod, location, val, &ok); break; in do_reloc() 642 if ((in_init(mod, val) && in_core(mod, (uint64_t)location)) || in do_reloc() 643 (in_core(mod, val) && in_init(mod, (uint64_t)location))) { in do_reloc() 648 uint64_t delta = ((int64_t)val - (int64_t)location) / 16; in do_reloc() 651 val = get_plt(mod, location, val, &ok); in do_reloc() 654 val = get_plt(mod, location, val, &ok); in do_reloc() 657 val -= bundle(location); in do_reloc() 664 val -= (uint64_t) location; in do_reloc() 696 val -= bundle(location); in do_reloc() [all …]
|