Lines Matching refs:insn
96 uint32_t insn; member
156 uint32_t insn; in unwind_exec_read_byte() local
158 if (!copy_in(&insn, (void *)state->insn, sizeof(insn))) in unwind_exec_read_byte()
162 *ret_insn = (insn >> (state->byte * 8)) & 0xff; in unwind_exec_read_byte()
167 state->insn += sizeof(uint32_t); in unwind_exec_read_byte()
194 uint32_t insn; in unwind_exec_insn() local
199 if (!unwind_exec_read_byte(state, &insn)) in unwind_exec_insn()
202 if ((insn & INSN_VSP_MASK) == INSN_VSP_INC) { in unwind_exec_insn()
203 state->registers[SP] += ((insn & INSN_VSP_SIZE_MASK) << 2) + 4; in unwind_exec_insn()
205 } else if ((insn & INSN_VSP_MASK) == INSN_VSP_DEC) { in unwind_exec_insn()
206 state->registers[SP] -= ((insn & INSN_VSP_SIZE_MASK) << 2) + 4; in unwind_exec_insn()
208 } else if ((insn & INSN_STD_MASK) == INSN_POP_MASKED) { in unwind_exec_insn()
215 mask |= (insn & INSN_STD_DATA_MASK) << 8; in unwind_exec_insn()
238 } else if ((insn & INSN_STD_MASK) == INSN_VSP_REG && in unwind_exec_insn()
239 ((insn & INSN_STD_DATA_MASK) != 13) && in unwind_exec_insn()
240 ((insn & INSN_STD_DATA_MASK) != 15)) { in unwind_exec_insn()
243 state->registers[insn & INSN_STD_DATA_MASK]; in unwind_exec_insn()
245 } else if ((insn & INSN_STD_MASK) == INSN_POP_COUNT) { in unwind_exec_insn()
249 count = insn & INSN_POP_COUNT_MASK; in unwind_exec_insn()
263 if ((insn & INSN_POP_TYPE_MASK) != 0) { in unwind_exec_insn()
269 } else if (insn == INSN_FINISH) { in unwind_exec_insn()
273 } else if (insn == INSN_POP_REGS) { in unwind_exec_insn()
295 } else if ((insn & INSN_VSP_LARGE_INC_MASK) == INSN_VSP_LARGE_INC) { in unwind_exec_insn()
306 DMSG("Unhandled instruction %.2x", insn); in unwind_exec_insn()
321 uint32_t insn; in unwind_tab() local
326 if (!copy_in(&insn, (void *)state->insn, sizeof(insn))) { in unwind_tab()
327 DMSG("Bad insn addr %p", (void *)state->insn); in unwind_tab()
332 entry = insn & ENTRY_MASK; in unwind_tab()
339 state->entries = ((insn >> 16) & 0xFF) + 1; in unwind_tab()
389 if (index->insn != EXIDX_CANTUNWIND) { in unwind_stack_arm32()
390 if (index->insn & (1U << 31)) { in unwind_stack_arm32()
392 state->insn = (vaddr_t)&index->insn; in unwind_stack_arm32()
395 state->insn = (vaddr_t)&index->insn + in unwind_stack_arm32()
396 expand_prel31(index->insn); in unwind_stack_arm32()
404 if (index->insn == EXIDX_CANTUNWIND) in unwind_stack_arm32()