Lines Matching defs:location
157 static uint32_t do_plt_call(void *location,
164 pr_debug("Doing plt for call to 0x%x at 0x%x\n", val, (unsigned int)location);
166 if (within_module_core((unsigned long)location, mod))
205 uint32_t *location;
212 location = (void *)sechdrs[sechdrs[relsec].sh_info].sh_addr
224 *(uint32_t *)location = value;
229 if (patch_location_16(location, PPC_LO(value)))
235 if (patch_location_16(location, PPC_HI(value)))
240 if (patch_location_16(location, PPC_HA(value)))
245 if ((int)(value - (uint32_t)location) < -0x02000000
246 || (int)(value - (uint32_t)location) >= 0x02000000) {
247 value = do_plt_call(location, value,
254 pr_debug("REL24 value = %08X. location = %08X\n",
255 value, (uint32_t)location);
257 *(uint32_t *)location);
258 value = (*(uint32_t *)location & ~PPC_LI_MASK) |
259 PPC_LI(value - (uint32_t)location);
261 if (patch_instruction(location, ppc_inst(value)))
265 *(uint32_t *)location);
267 *(uint32_t *)PPC_LI((uint32_t)location), (uint32_t)location,
268 (*(uint32_t *)PPC_LI((uint32_t)location)) + (uint32_t)location);
273 *(uint32_t *)location = value - (uint32_t)location;