• Home
  • Raw
  • Download

Lines Matching +full:0 +full:x20200000

57 	(( ( !((val) & (1<<((bits)-1))) && ((val)>>(bits)) != 0 )  ||	\
58 ( ((val) & (1<<((bits)-1))) && ((val)>>(bits)) != (((__typeof__(val))(~0))>>((bits)+2)))) ? \
59 0 : 1)
63 printk(KERN_ERR "module %s relocation of symbol %s is out of range (0x%lx in %d bits)\n", \
70 * 0x3fff; however, since we're only going forward, this becomes
71 * 0x1fff, and thus, since each GOT entry is 8 bytes long we can have
75 * which gives us a maximum positive displacement of 0x7fff, and as such
117 #define rnd(x) (((x)+0x1000)&~0x1fff)
123 #define rsel(v,a) (((v)+(a))&0x7ff)
127 #define rrsel(v,a) ((((v)+rnd(a))&0x7ff)+((a)-rnd(a)))
154 return (((as14 & 0x1fff) << 1) | in reassemble_14()
155 ((as14 & 0x2000) >> 13)); in reassemble_14()
163 t = (as16 << 1) & 0xffff; in reassemble_16a()
164 s = (as16 & 0x8000); in reassemble_16a()
171 return (((as17 & 0x10000) >> 16) | in reassemble_17()
172 ((as17 & 0x0f800) << 5) | in reassemble_17()
173 ((as17 & 0x00400) >> 8) | in reassemble_17()
174 ((as17 & 0x003ff) << 3)); in reassemble_17()
179 return (((as21 & 0x100000) >> 20) | in reassemble_21()
180 ((as21 & 0x0ffe00) >> 8) | in reassemble_21()
181 ((as21 & 0x000180) << 7) | in reassemble_21()
182 ((as21 & 0x00007c) << 14) | in reassemble_21()
183 ((as21 & 0x000003) << 12)); in reassemble_21()
188 return (((as22 & 0x200000) >> 21) | in reassemble_22()
189 ((as22 & 0x1f0000) << 5) | in reassemble_22()
190 ((as22 & 0x00f800) << 5) | in reassemble_22()
191 ((as22 & 0x000400) >> 8) | in reassemble_22()
192 ((as22 & 0x0003ff) << 3)); in reassemble_22()
202 PAGE_KERNEL_RWX, 0, NUMA_NO_NODE, in module_alloc()
203 __builtin_return_address(0)); in module_alloc()
209 return 0; in count_gots()
214 return 0; in count_fdescs()
219 unsigned long cnt = 0; in count_stubs()
221 for (; n > 0; n--, rela++) in count_stubs()
235 unsigned long cnt = 0; in count_gots()
237 for (; n > 0; n--, rela++) in count_gots()
252 unsigned long cnt = 0; in count_fdescs()
254 for (; n > 0; n--, rela++) in count_fdescs()
267 unsigned long cnt = 0; in count_stubs()
269 for (; n > 0; n--, rela++) in count_stubs()
303 unsigned long gots = 0, fdescs = 0, len; in module_frob_arch_sections()
306 len = hdr->e_shnum * sizeof(me->arch.section[0]); in module_frob_arch_sections()
317 ".PARISC.unwind", 14) == 0) in module_frob_arch_sections()
361 return 0; in module_frob_arch_sections()
372 BUG_ON(value == 0); in get_got()
375 for (i = 0; got[i].addr; i++) in get_got()
396 return 0; in get_fdesc()
441 BUG_ON(0 == me->arch.section[targetsec].stub_entries--); in get_stub()
451 stub->insns[0] = 0x20200000; /* ldil L'XXX,%r1 */ in get_stub()
452 stub->insns[1] = 0xe0202002; /* be,n R'XXX(%sr4,%r1) */ in get_stub()
454 stub->insns[0] |= reassemble_21(lrsel(value, addend)); in get_stub()
460 * ldd 0(%dp),%dp in get_stub()
466 * ldil 0, %r1 in get_stub()
467 * ldo 0(%r1), %r1 in get_stub()
473 * ldil 0, %r1 in get_stub()
474 * ldo 0(%r1), %r1 in get_stub()
482 stub->insns[0] = 0x0f6010db; /* ldd 0(%dp),%dp */ in get_stub()
483 stub->insns[0] |= low_sign_unext(d, 5) << 16; in get_stub()
486 stub->insns[0] = 0x537b0000; /* ldd 0(%dp),%dp */ in get_stub()
487 stub->insns[0] |= reassemble_16a(d); in get_stub()
489 stub->insns[1] = 0x53610020; /* ldd 10(%dp),%r1 */ in get_stub()
490 stub->insns[2] = 0xe820d000; /* bve (%r1) */ in get_stub()
491 stub->insns[3] = 0x537b0030; /* ldd 18(%dp),%dp */ in get_stub()
494 stub->insns[0] = 0x20200000; /* ldil 0,%r1 */ in get_stub()
495 stub->insns[1] = 0x34210000; /* ldo 0(%r1), %r1 */ in get_stub()
496 stub->insns[2] = 0x50210020; /* ldd 10(%r1),%r1 */ in get_stub()
497 stub->insns[3] = 0xe820d002; /* bve,n (%r1) */ in get_stub()
499 stub->insns[0] |= reassemble_21(lrsel(value, addend)); in get_stub()
503 stub->insns[0] = 0x20200000; /* ldil 0,%r1 */ in get_stub()
504 stub->insns[1] = 0x34210000; /* ldo 0(%r1), %r1 */ in get_stub()
505 stub->insns[2] = 0xe820d002; /* bve,n (%r1) */ in get_stub()
507 stub->insns[0] |= reassemble_21(lrsel(value, addend)); in get_stub()
538 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add()
552 //dot = (sechdrs[relsec].sh_addr + rel->r_offset) & ~0x03; in apply_relocate_add()
553 dot = (Elf32_Addr)loc & ~0x03; in apply_relocate_add()
558 #if 0 in apply_relocate_add()
560 pr_debug("Symbol %s loc 0x%x val 0x%x addend 0x%x: %s\n", in apply_relocate_add()
630 *loc = (*loc & ~0x1f1ffd) | reassemble_17(val); in apply_relocate_add()
645 *loc = (*loc & ~0x3ff1ffd) | reassemble_22(val); in apply_relocate_add()
659 return 0; in apply_relocate_add()
682 for (i = 0; i < sechdrs[relsec].sh_size / sizeof(*rel); i++) { in apply_relocate_add()
696 //dot = (sechdrs[relsec].sh_addr + rel->r_offset) & ~0x03; in apply_relocate_add()
697 dot = (Elf64_Addr)loc & ~0x03; in apply_relocate_add()
703 #if 0 in apply_relocate_add()
705 printk("Symbol %s loc %p val 0x%Lx addend 0x%Lx: %s\n", in apply_relocate_add()
725 val = lrsel(val, 0); in apply_relocate_add()
732 val = rrsel(val, 0); in apply_relocate_add()
765 == 0) in apply_relocate_add()
777 *loc = (*loc & ~0x3ff1ffd) | reassemble_22(val); in apply_relocate_add()
826 return 0; in apply_relocate_add()
844 pr_debug("register_unwind_table(), sect = %d at 0x%p - 0x%p (gp=0x%lx)\n", in register_unwind_table()
846 me->arch.unwind = unwind_table_add(me->name, 0, gp, table, end); in register_unwind_table()
877 addr[0], addr[1], addr[2], addr[3]); in module_finalize()
916 return 0; in module_finalize()
926 ".L", 2) == 0) in module_finalize()
969 return 0; in module_finalize()