Lines Matching defs:instr
100 uint32_t *instr, *limit;
106 instr = (uint32_t *)symval->value;
113 if ((*instr & 0xfffff000) == FBT_SUBSP)
114 instr++;
119 if ((*instr & 0xffff0000) != FBT_PUSHM ||
120 (*instr & (1 << LR)) == 0)
127 fbt->fbtp_patchpoint = instr;
130 fbt->fbtp_savedval = *instr;
135 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)];
136 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt;
140 popm = FBT_POPM | ((*instr) & 0x3FFF) | 0x8000;
144 for (; instr < limit; instr++) {
145 if (*instr == popm)
147 else if ((*instr & 0xff000000) == FBT_JUMP) {
151 offset = (*instr & 0xffffff);
154 target = instr + (2 + offset);
161 if (instr >= limit)
178 fbt->fbtp_patchpoint = instr;
182 if ((*instr & 0xff000000) == FBT_JUMP)
186 fbt->fbtp_roffset = (uintptr_t)instr - (uintptr_t)symval->value;
187 fbt->fbtp_savedval = *instr;
189 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)];
190 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt;
194 instr++;