Lines Matching refs:place
160 static u64 do_reloc(enum aarch64_reloc_op reloc_op, __le32 *place, u64 val) in do_reloc() argument
166 return val - (u64)place; in do_reloc()
168 return (val & ~0xfff) - ((u64)place & ~0xfff); in do_reloc()
177 static int reloc_data(enum aarch64_reloc_op op, void *place, u64 val, int len) in reloc_data() argument
179 s64 sval = do_reloc(op, place, val); in reloc_data()
195 *(s16 *)place = sval; in reloc_data()
211 *(s32 *)place = sval; in reloc_data()
227 *(s64 *)place = sval; in reloc_data()
241 static int reloc_insn_movw(enum aarch64_reloc_op op, __le32 *place, u64 val, in reloc_insn_movw() argument
246 u32 insn = le32_to_cpu(*place); in reloc_insn_movw()
248 sval = do_reloc(op, place, val); in reloc_insn_movw()
274 *place = cpu_to_le32(insn); in reloc_insn_movw()
282 static int reloc_insn_imm(enum aarch64_reloc_op op, __le32 *place, u64 val, in reloc_insn_imm() argument
287 u32 insn = le32_to_cpu(*place); in reloc_insn_imm()
290 sval = do_reloc(op, place, val); in reloc_insn_imm()
299 *place = cpu_to_le32(insn); in reloc_insn_imm()
318 __le32 *place, u64 val) in reloc_insn_adrp() argument
322 if (!is_forbidden_offset_for_adrp(place)) in reloc_insn_adrp()
323 return reloc_insn_imm(RELOC_OP_PAGE, place, val, 12, 21, in reloc_insn_adrp()
327 if (!reloc_insn_imm(RELOC_OP_PREL, place, val & ~0xfff, 0, 21, in reloc_insn_adrp()
329 insn = le32_to_cpu(*place); in reloc_insn_adrp()
333 val = module_emit_veneer_for_adrp(mod, sechdrs, place, val & ~0xfff); in reloc_insn_adrp()
336 insn = aarch64_insn_gen_branch_imm((u64)place, val, in reloc_insn_adrp()
340 *place = cpu_to_le32(insn); in reloc_insn_adrp()