Lines Matching refs:instr

44 #define FBT_IS_JUMP(instr)	((instr & ~FBT_BR_MASK) == FBT_BRANCH)  argument
111 uint32_t *instr, *limit; in fbt_provide_module_function() local
130 instr = (uint32_t *) symval->value; in fbt_provide_module_function()
133 for (; instr < limit; instr++) in fbt_provide_module_function()
134 if (*instr == FBT_MFLR_R0) in fbt_provide_module_function()
137 if (*instr != FBT_MFLR_R0) in fbt_provide_module_function()
144 fbt->fbtp_patchpoint = instr; in fbt_provide_module_function()
147 fbt->fbtp_savedval = *instr; in fbt_provide_module_function()
152 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)]; in fbt_provide_module_function()
153 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt; in fbt_provide_module_function()
159 if (instr >= limit) in fbt_provide_module_function()
174 ptr = *(uint32_t **)instr; in fbt_provide_module_function()
177 instr++; in fbt_provide_module_function()
182 if (*instr != FBT_MTLR_R0) { in fbt_provide_module_function()
183 instr++; in fbt_provide_module_function()
187 instr++; in fbt_provide_module_function()
189 for (j = 0; j < 12 && instr < limit; j++, instr++) { in fbt_provide_module_function()
190 if ((*instr == FBT_BCTR) || (*instr == FBT_BLR) || in fbt_provide_module_function()
191 FBT_IS_JUMP(*instr)) in fbt_provide_module_function()
195 if (!(*instr == FBT_BCTR || *instr == FBT_BLR || FBT_IS_JUMP(*instr))) in fbt_provide_module_function()
213 fbt->fbtp_patchpoint = instr; in fbt_provide_module_function()
218 if (*instr == FBT_BCTR) in fbt_provide_module_function()
220 else if (*instr == FBT_BLR) in fbt_provide_module_function()
226 (uintptr_t)((uint8_t *)instr - (uint8_t *)symval->value); in fbt_provide_module_function()
228 fbt->fbtp_savedval = *instr; in fbt_provide_module_function()
230 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)]; in fbt_provide_module_function()
231 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt; in fbt_provide_module_function()
235 instr += 4; in fbt_provide_module_function()