Lines Matching defs:instr
47 #define FBT_IS_JUMP(instr) ((instr & ~FBT_BR_MASK) == FBT_BRANCH)
116 uint32_t *instr, *limit;
135 instr = (uint32_t *) symval->value;
138 for (; instr < limit; instr++)
139 if (*instr == FBT_MFLR_R0)
142 if (*instr != FBT_MFLR_R0)
149 fbt->fbtp_patchpoint = instr;
152 fbt->fbtp_savedval = *instr;
157 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)];
158 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt;
164 if (instr >= limit)
179 ptr = *(uint32_t **)instr;
182 instr++;
187 if (*instr != FBT_MTLR_R0) {
188 instr++;
192 instr++;
194 for (j = 0; j < 12 && instr < limit; j++, instr++) {
195 if ((*instr == FBT_BCTR) || (*instr == FBT_BLR) ||
196 FBT_IS_JUMP(*instr))
200 if (!(*instr == FBT_BCTR || *instr == FBT_BLR || FBT_IS_JUMP(*instr)))
218 fbt->fbtp_patchpoint = instr;
223 if (*instr == FBT_BCTR)
225 else if (*instr == FBT_BLR)
231 (uintptr_t)((uint8_t *)instr - (uint8_t *)symval->value);
233 fbt->fbtp_savedval = *instr;
235 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)];
236 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt;
240 instr += 4;