Lines Matching refs:val
35 static u64 do_reloc(enum aarch64_reloc_op reloc_op, __le32 *place, u64 val) in do_reloc() argument
39 return val; in do_reloc()
41 return val - (u64)place; in do_reloc()
43 return (val & ~0xfff) - ((u64)place & ~0xfff); in do_reloc()
52 #define WRITE_PLACE(place, val, mod) do { \ argument
53 __typeof__(val) __val = (val); \
61 static int reloc_data(enum aarch64_reloc_op op, void *place, u64 val, int len, in reloc_data() argument
64 s64 sval = do_reloc(op, place, val); in reloc_data()
126 static int reloc_insn_movw(enum aarch64_reloc_op op, __le32 *place, u64 val, in reloc_insn_movw() argument
134 sval = do_reloc(op, place, val); in reloc_insn_movw()
168 static int reloc_insn_imm(enum aarch64_reloc_op op, __le32 *place, u64 val, in reloc_insn_imm() argument
177 sval = do_reloc(op, place, val); in reloc_insn_imm()
205 __le32 *place, u64 val, struct module *me) in reloc_insn_adrp() argument
210 return reloc_insn_imm(RELOC_OP_PAGE, place, val, 12, 21, in reloc_insn_adrp()
214 if (!reloc_insn_imm(RELOC_OP_PREL, place, val & ~0xfff, 0, 21, in reloc_insn_adrp()
220 val = module_emit_veneer_for_adrp(mod, sechdrs, place, val & ~0xfff); in reloc_insn_adrp()
221 if (!val) in reloc_insn_adrp()
223 insn = aarch64_insn_gen_branch_imm((u64)place, val, in reloc_insn_adrp()
242 u64 val; in apply_relocate_add() local
255 val = sym->st_value + rel[i].r_addend; in apply_relocate_add()
271 ovf = reloc_data(RELOC_OP_ABS, loc, val, 64, me); in apply_relocate_add()
274 ovf = reloc_data(RELOC_OP_ABS, loc, val, 32, me); in apply_relocate_add()
277 ovf = reloc_data(RELOC_OP_ABS, loc, val, 16, me); in apply_relocate_add()
281 ovf = reloc_data(RELOC_OP_PREL, loc, val, 64, me); in apply_relocate_add()
284 ovf = reloc_data(RELOC_OP_PREL, loc, val, 32, me); in apply_relocate_add()
287 ovf = reloc_data(RELOC_OP_PREL, loc, val, 16, me); in apply_relocate_add()
295 ovf = reloc_insn_movw(RELOC_OP_ABS, loc, val, 0, in apply_relocate_add()
302 ovf = reloc_insn_movw(RELOC_OP_ABS, loc, val, 16, in apply_relocate_add()
309 ovf = reloc_insn_movw(RELOC_OP_ABS, loc, val, 32, in apply_relocate_add()
315 ovf = reloc_insn_movw(RELOC_OP_ABS, loc, val, 48, in apply_relocate_add()
319 ovf = reloc_insn_movw(RELOC_OP_ABS, loc, val, 0, in apply_relocate_add()
323 ovf = reloc_insn_movw(RELOC_OP_ABS, loc, val, 16, in apply_relocate_add()
327 ovf = reloc_insn_movw(RELOC_OP_ABS, loc, val, 32, in apply_relocate_add()
332 ovf = reloc_insn_movw(RELOC_OP_PREL, loc, val, 0, in apply_relocate_add()
336 ovf = reloc_insn_movw(RELOC_OP_PREL, loc, val, 0, in apply_relocate_add()
341 ovf = reloc_insn_movw(RELOC_OP_PREL, loc, val, 16, in apply_relocate_add()
345 ovf = reloc_insn_movw(RELOC_OP_PREL, loc, val, 16, in apply_relocate_add()
350 ovf = reloc_insn_movw(RELOC_OP_PREL, loc, val, 32, in apply_relocate_add()
354 ovf = reloc_insn_movw(RELOC_OP_PREL, loc, val, 32, in apply_relocate_add()
360 ovf = reloc_insn_movw(RELOC_OP_PREL, loc, val, 48, in apply_relocate_add()
366 ovf = reloc_insn_imm(RELOC_OP_PREL, loc, val, 2, 19, in apply_relocate_add()
370 ovf = reloc_insn_imm(RELOC_OP_PREL, loc, val, 0, 21, in apply_relocate_add()
377 ovf = reloc_insn_adrp(me, sechdrs, loc, val, me); in apply_relocate_add()
384 ovf = reloc_insn_imm(RELOC_OP_ABS, loc, val, 0, 12, in apply_relocate_add()
389 ovf = reloc_insn_imm(RELOC_OP_ABS, loc, val, 1, 11, in apply_relocate_add()
394 ovf = reloc_insn_imm(RELOC_OP_ABS, loc, val, 2, 10, in apply_relocate_add()
399 ovf = reloc_insn_imm(RELOC_OP_ABS, loc, val, 3, 9, in apply_relocate_add()
404 ovf = reloc_insn_imm(RELOC_OP_ABS, loc, val, 4, 8, in apply_relocate_add()
408 ovf = reloc_insn_imm(RELOC_OP_PREL, loc, val, 2, 14, in apply_relocate_add()
412 ovf = reloc_insn_imm(RELOC_OP_PREL, loc, val, 2, 19, in apply_relocate_add()
417 ovf = reloc_insn_imm(RELOC_OP_PREL, loc, val, 2, 26, in apply_relocate_add()
420 val = module_emit_plt_entry(me, sechdrs, loc, &rel[i], sym); in apply_relocate_add()
421 if (!val) in apply_relocate_add()
423 ovf = reloc_insn_imm(RELOC_OP_PREL, loc, val, 2, in apply_relocate_add()
443 me->name, (int)ELF64_R_TYPE(rel[i].r_info), val); in apply_relocate_add()