Lines Matching refs:place
76 static u64 do_reloc(enum aarch64_reloc_op reloc_op, __le32 *place, u64 val) in do_reloc() argument
82 return val - (u64)place; in do_reloc()
84 return (val & ~0xfff) - ((u64)place & ~0xfff); in do_reloc()
93 static int reloc_data(enum aarch64_reloc_op op, void *place, u64 val, int len) in reloc_data() argument
95 s64 sval = do_reloc(op, place, val); in reloc_data()
111 *(s16 *)place = sval; in reloc_data()
127 *(s32 *)place = sval; in reloc_data()
143 *(s64 *)place = sval; in reloc_data()
157 static int reloc_insn_movw(enum aarch64_reloc_op op, __le32 *place, u64 val, in reloc_insn_movw() argument
162 u32 insn = le32_to_cpu(*place); in reloc_insn_movw()
164 sval = do_reloc(op, place, val); in reloc_insn_movw()
190 *place = cpu_to_le32(insn); in reloc_insn_movw()
198 static int reloc_insn_imm(enum aarch64_reloc_op op, __le32 *place, u64 val, in reloc_insn_imm() argument
203 u32 insn = le32_to_cpu(*place); in reloc_insn_imm()
206 sval = do_reloc(op, place, val); in reloc_insn_imm()
215 *place = cpu_to_le32(insn); in reloc_insn_imm()
234 __le32 *place, u64 val) in reloc_insn_adrp() argument
238 if (!is_forbidden_offset_for_adrp(place)) in reloc_insn_adrp()
239 return reloc_insn_imm(RELOC_OP_PAGE, place, val, 12, 21, in reloc_insn_adrp()
243 if (!reloc_insn_imm(RELOC_OP_PREL, place, val & ~0xfff, 0, 21, in reloc_insn_adrp()
245 insn = le32_to_cpu(*place); in reloc_insn_adrp()
249 val = module_emit_veneer_for_adrp(mod, sechdrs, place, val & ~0xfff); in reloc_insn_adrp()
252 insn = aarch64_insn_gen_branch_imm((u64)place, val, in reloc_insn_adrp()
256 *place = cpu_to_le32(insn); in reloc_insn_adrp()