Home
last modified time | relevance | path

Searched refs:instr (Results 1 – 25 of 155) sorted by relevance

1234567

/freebsd/contrib/llvm-project/lld/ELF/
H A DAArch64ErrataFix.cpp55 static bool isADRP(uint32_t instr) { in isADRP() argument
56 return (instr & 0x9f000000) == 0x90000000; in isADRP()
65 static bool isLoadStoreClass(uint32_t instr) { in isLoadStoreClass() argument
66 return (instr & 0x0a000000) == 0x08000000; in isLoadStoreClass()
81 static bool isST1MultipleOpcode(uint32_t instr) { in isST1MultipleOpcode() argument
82 return (instr & 0x0000f000) == 0x00002000 || in isST1MultipleOpcode()
83 (instr & 0x0000f000) == 0x00006000 || in isST1MultipleOpcode()
84 (instr & 0x0000f000) == 0x00007000 || in isST1MultipleOpcode()
85 (instr & 0x0000f000) == 0x0000a000; in isST1MultipleOpcode()
88 static bool isST1Multiple(uint32_t instr) { in isST1Multiple() argument
[all …]
H A DARMErrataFix.cpp73 Patch657417Section(InputSection *p, uint64_t off, uint32_t instr, bool isARM);
93 uint32_t instr; member in elf::Patch657417Section
121 static bool isBcc(uint32_t instr) { in isBcc() argument
122 return (instr & 0xf800d000) == 0xf0008000 && in isBcc()
123 (instr & 0x03800000) != 0x03800000; in isBcc()
126 static bool isB(uint32_t instr) { return (instr & 0xf800d000) == 0xf0009000; } in isB() argument
128 static bool isBLX(uint32_t instr) { return (instr & 0xf800d000) == 0xf000c000; } in isBLX() argument
130 static bool isBL(uint32_t instr) { return (instr & 0xf800d000) == 0xf000d000; } in isBL() argument
132 static bool is32bitBranch(uint32_t instr) { in is32bitBranch() argument
133 return isBcc(instr) || isB(instr) || isBL(instr) || isBLX(instr); in is32bitBranch()
[all …]
/freebsd/sys/cddl/dev/kinst/aarch64/
H A Dkinst_isa.c24 kinst_patchval_t instr = kp->kp_savedval; in kinst_emulate() local
29 if (((instr >> 24) & 0x1f) == 0b10000) { in kinst_emulate()
31 reg = instr & 0x1f; in kinst_emulate()
32 imm = (instr >> 29) & 0x3; in kinst_emulate()
33 imm |= ((instr >> 5) & 0x0007ffff) << 2; in kinst_emulate()
34 if (((instr >> 31) & 0x1) == 0) { in kinst_emulate()
47 } else if (((instr >> 26) & 0x3f) == 0b000101) { in kinst_emulate()
49 imm = instr & 0x03ffffff; in kinst_emulate()
53 } else if (((instr >> 24) & 0xff) == 0b01010100) { in kinst_emulate()
55 imm = (instr >> 5) & 0x0007ffff; in kinst_emulate()
[all …]
/freebsd/sys/cddl/dev/fbt/powerpc/
H A Dfbt_isa.c44 #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()
[all …]
/freebsd/sys/cddl/dev/fbt/aarch64/
H A Dfbt_isa.c89 uint32_t *instr, *limit; in fbt_provide_module_function() local
109 instr = (uint32_t *)(symval->value); in fbt_provide_module_function()
117 if ((*instr & BTI_MASK) == BTI_INSTR) in fbt_provide_module_function()
118 instr++; in fbt_provide_module_function()
125 if (*instr == NOP_INSTR) in fbt_provide_module_function()
129 for (; instr < limit; instr++) { in fbt_provide_module_function()
137 if ((*instr & LDP_STP_MASK) == STP_64) { in fbt_provide_module_function()
142 if (((*instr >> ADDR_SHIFT) & ADDR_MASK) == 31) in fbt_provide_module_function()
144 } else if ((*instr in fbt_provide_module_function()
[all...]
/freebsd/sys/cddl/dev/kinst/riscv/
H A Dkinst_isa.c70 kinst_patchval_t instr = kp->kp_savedval; in kinst_emulate() local
77 #define rs1_index ((instr & RS1_MASK) >> RS1_SHIFT) in kinst_emulate()
78 #define rs2_index ((instr & RS2_MASK) >> RS2_SHIFT) in kinst_emulate()
79 #define rd_index ((instr & RD_MASK) >> RD_SHIFT) in kinst_emulate()
85 switch (instr & 0x7f) { in kinst_emulate()
88 imm |= ((instr >> 21) & 0x03ff) << 1; in kinst_emulate()
89 imm |= ((instr >> 20) & 0x0001) << 11; in kinst_emulate()
90 imm |= ((instr >> 12) & 0x00ff) << 12; in kinst_emulate()
91 imm |= ((instr >> 31) & 0x0001) << 20; in kinst_emulate()
100 imm = (instr & IMM_MASK) >> IMM_SHIFT; in kinst_emulate()
[all …]
/freebsd/sys/cddl/dev/fbt/x86/
H A Dfbt_isa.c186 uint8_t *instr, *limit; in fbt_provide_module_function() local
200 instr = (uint8_t *) symval->value; in fbt_provide_module_function()
204 while (instr < limit) { in fbt_provide_module_function()
205 if (*instr == FBT_PUSHL_EBP) in fbt_provide_module_function()
208 if ((size = dtrace_instr_size(instr)) <= 0) in fbt_provide_module_function()
211 instr += size; in fbt_provide_module_function()
214 if (instr >= limit || *instr != FBT_PUSHL_EBP) { in fbt_provide_module_function()
223 if (instr[0] != FBT_PUSHL_EBP) in fbt_provide_module_function()
226 if (!(instr[ in fbt_provide_module_function()
[all...]
/freebsd/cddl/contrib/opensolaris/lib/libdtrace/common/
H A Ddt_cg.c50 dt_cg_node_alloc(uint_t label, dif_instr_t instr) in dt_cg_node_alloc() argument
58 dip->di_instr = instr; in dt_cg_node_alloc()
97 dif_instr_t instr = DIF_INSTR_SETX((uint_t)intoff, reg); in dt_cg_xsetx() local
105 dt_irlist_append(dlp, dt_cg_node_alloc(lbl, instr)); in dt_cg_xsetx()
193 dif_instr_t instr; in dt_cg_ptrsize() local
217 instr = DIF_INSTR_FMT(op, dreg, sreg, dreg); in dt_cg_ptrsize()
218 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr)); in dt_cg_ptrsize()
244 dif_instr_t instr; in dt_cg_field_get() local
276 instr = DIF_INSTR_FMT(DIF_OP_SLL, r1, r2, r1); in dt_cg_field_get()
277 dt_irlist_append(dlp, dt_cg_node_alloc(DT_LBL_NONE, instr)); in dt_cg_field_get()
[all …]
/freebsd/sys/cddl/dev/fbt/arm/
H A Dfbt_isa.c94 uint32_t *instr, *limit; in fbt_provide_module_function() local
100 instr = (uint32_t *)symval->value; in fbt_provide_module_function()
107 if ((*instr & 0xfffff000) == FBT_SUBSP) in fbt_provide_module_function()
108 instr++; in fbt_provide_module_function()
113 if ((*instr & 0xffff0000) != FBT_PUSHM || in fbt_provide_module_function()
114 (*instr & (1 << LR)) == 0) in fbt_provide_module_function()
121 fbt->fbtp_patchpoint = instr; in fbt_provide_module_function()
124 fbt->fbtp_savedval = *instr; in fbt_provide_module_function()
129 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)]; in fbt_provide_module_function()
130 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt; in fbt_provide_module_function()
[all …]
/freebsd/sys/cddl/dev/fbt/riscv/
H A Dfbt_isa.c96 uint32_t *instr, *limit; in fbt_provide_module_function() local
122 instr = (uint32_t *)(symval->value); in fbt_provide_module_function()
126 for (; instr < limit; instr++) { in fbt_provide_module_function()
128 if (dtrace_instr_sdsp(&instr)) { in fbt_provide_module_function()
135 if (dtrace_instr_c_sdsp(&instr)) { in fbt_provide_module_function()
142 if (instr >= limit) in fbt_provide_module_function()
149 fbt->fbtp_patchpoint = instr; in fbt_provide_module_function()
152 fbt->fbtp_savedval = *instr; in fbt_provide_module_function()
157 fbt->fbtp_hashnext = fbt_probetab[FBT_ADDR2NDX(instr)]; in fbt_provide_module_function()
158 fbt_probetab[FBT_ADDR2NDX(instr)] = fbt; in fbt_provide_module_function()
[all …]
/freebsd/sys/powerpc/powerpc/
H A Ddb_disasm.c80 void disasm_fields(const struct opcode *popcode, instr_t instr, vm_offset_t loc,
82 void dis_ppc(const struct opcode *opcodeset, instr_t instr, vm_offset_t loc);
586 op_ill(instr_t instr, vm_offset_t loc) in op_ill() argument
588 db_printf("illegal instruction %x\n", instr); in op_ill()
601 disasm_fields(const struct opcode *popcode, instr_t instr, vm_offset_t loc, in disasm_fields() argument
621 BO = extract_field(instr, 31 - 10, 5); in disasm_fields()
622 BI = extract_field(instr, 31 - 15, 5); in disasm_fields()
660 OE = extract_field(instr, 31 - 21, 1); in disasm_fields()
668 if (instr & 0x1) in disasm_fields()
672 if (instr & 0x1) in disasm_fields()
[all …]
H A Dsdt_machdep.c37 uint32_t instr; in sdt_tracepoint_patch() local
43 instr = ((target - patchpoint) & 0x7fffffful) | 0x48000000; in sdt_tracepoint_patch()
44 memcpy((void *)patchpoint, &instr, sizeof(instr)); in sdt_tracepoint_patch()
45 __syncicache((void *)patchpoint, sizeof(instr)); in sdt_tracepoint_patch()
54 uint32_t instr; in sdt_tracepoint_restore() local
56 instr = 0x60000000; in sdt_tracepoint_restore()
57 memcpy((void *)patchpoint, &instr, sizeof(instr)); in sdt_tracepoint_restore()
58 __syncicache((void *)patchpoint, sizeof(instr)); in sdt_tracepoint_restore()
/freebsd/sys/cddl/contrib/opensolaris/uts/powerpc/dtrace/
H A Dfasttrap_isa.c50 fasttrap_instr_t instr = FASTTRAP_INSTR; in fasttrap_tracepoint_install() local
52 if (uwrite(p, &instr, 4, tp->ftt_pc) != 0) in fasttrap_tracepoint_install()
61 uint32_t instr; in fasttrap_tracepoint_remove() local
67 if (uread(p, &instr, 4, tp->ftt_pc) != 0) in fasttrap_tracepoint_remove()
69 if (instr != FASTTRAP_INSTR) in fasttrap_tracepoint_remove()
81 uint32_t instr; in fasttrap_tracepoint_init() local
90 if (uread(p, &instr, 4, pc) != 0) in fasttrap_tracepoint_init()
106 tp->ftt_instr = instr; in fasttrap_tracepoint_init()
108 switch (OP(instr)) { in fasttrap_tracepoint_init()
123 if (OPX(instr) == 4) in fasttrap_tracepoint_init()
[all …]
/freebsd/usr.sbin/jail/
H A Djaillex.l47 static int instr; variable
61 <_>[ \t\r\n]+ instr = 0;
62 <_>#.* instr = 0;
63 <_>\/\/.* instr = 0;
64 <_>\/\*([^*]|(\*+([^*\/])))*\*+\/ instr = 0;
68 instr = 0;
72 instr = 0;
81 return instr ? STR1 : (instr = 1, STR);
87 return instr ? STR1 : (instr = 1, STR);
108 return instr ? STR1 : (instr = 1, STR);
[all …]
/freebsd/sys/dev/safexcel/
H A Dsafexcel.c1518 struct safexcel_instr *instr; in safexcel_instr_nop() local
1520 instr = *instrp; in safexcel_instr_nop()
1521 instr->opcode = SAFEXCEL_INSTR_OPCODE_INSERT; in safexcel_instr_nop()
1522 instr->length = (1 << 2); in safexcel_instr_nop()
1523 instr->status = 0; in safexcel_instr_nop()
1524 instr->instructions = 0; in safexcel_instr_nop()
1526 *instrp = instr + 1; in safexcel_instr_nop()
1536 struct safexcel_instr *instr; in safexcel_instr_insert_digest() local
1538 instr = *instrp; in safexcel_instr_insert_digest()
1539 instr->opcode = SAFEXCEL_INSTR_OPCODE_INSERT; in safexcel_instr_insert_digest()
[all …]
/freebsd/sys/arm/arm/
H A Dsdt_machdep.c39 uint32_t instr; in sdt_tracepoint_patch() local
45 instr = in sdt_tracepoint_patch()
48 memcpy((void *)patchpoint, &instr, sizeof(instr)); in sdt_tracepoint_patch()
49 icache_sync(patchpoint, sizeof(instr)); in sdt_tracepoint_patch()
58 uint32_t instr; in sdt_tracepoint_restore() local
60 instr = 0xe320f000u; in sdt_tracepoint_restore()
61 memcpy((void *)patchpoint, &instr, sizeof(instr)); in sdt_tracepoint_restore()
62 icache_sync(patchpoint, sizeof(instr)); in sdt_tracepoint_restore()
/freebsd/sys/powerpc/fpu/
H A Dfpu_emu.c185 union instr insn; in fpu_emulate()
259 fpu_execute(struct trapframe *tf, struct fpemu *fe, union instr *insn) in fpu_execute()
262 union instr instr = *insn; in fpu_execute() local
279 cond = instr.i_any.i_rc; in fpu_execute()
288 opc_disasm(loc, instr.i_int); in fpu_execute()
296 if ((instr.i_any.i_opcd >= OPC_LFS && instr.i_any.i_opcd <= OPC_STFDU) || in fpu_execute()
297 instr.i_any.i_opcd == OPC_integer_31) { in fpu_execute()
310 if (instr.i_any.i_opcd == OPC_integer_31) { in fpu_execute()
311 if (instr.i_x.i_xo == OPC31_STFIWX) { in fpu_execute()
315 ra = instr.i_x.i_ra; in fpu_execute()
[all …]
/freebsd/sys/cddl/dev/dtrace/x86/
H A Dinstr_size.c80 uint8_t **instr = p; in dtrace_dis_get_byte() local
82 ret = **instr; in dtrace_dis_get_byte()
83 *instr += 1; in dtrace_dis_get_byte()
98 dtrace_dis_isize(uint8_t *instr, dis_isize_t which, model_t model, int *rmindex) in dtrace_dis_isize() argument
106 x.d86_data = (void **)&instr; in dtrace_dis_isize()
124 dtrace_instr_size_isa(uint8_t *instr, model_t model, int *rmindex) in dtrace_instr_size_isa() argument
126 return (dtrace_dis_isize(instr, DIS_ISIZE_INSTR, model, rmindex)); in dtrace_instr_size_isa()
130 dtrace_instr_size(uint8_t *instr) in dtrace_instr_size() argument
132 return (dtrace_dis_isize(instr, DIS_ISIZE_INSTR, DATAMODEL_NATIVE, in dtrace_instr_size()
/freebsd/sys/x86/x86/
H A Dsdt_machdep.c47 uint8_t instr[SDT_PATCH_SIZE]; in sdt_tracepoint_patch() local
55 instr[0] = 0xe9; in sdt_tracepoint_patch()
57 memcpy(&instr[1], &disp, sizeof(disp)); in sdt_tracepoint_patch()
60 memcpy((void *)patchpoint, instr, sizeof(instr)); in sdt_tracepoint_patch()
70 uint8_t instr[SDT_PATCH_SIZE]; in sdt_tracepoint_restore() local
79 instr[i] = 0x90; in sdt_tracepoint_restore()
82 memcpy((void *)patchpoint, instr, sizeof(instr)); in sdt_tracepoint_restore()
/freebsd/sys/contrib/xz-embedded/linux/lib/xz/
H A Dxz_dec_bcj.c163 uint32_t instr; in bcj_powerpc() local
166 instr = get_unaligned_be32(buf + i); in bcj_powerpc()
167 if ((instr & 0xFC000003) == 0x48000001) { in bcj_powerpc()
168 instr &= 0x03FFFFFC; in bcj_powerpc()
169 instr -= s->pos + (uint32_t)i; in bcj_powerpc()
170 instr &= 0x03FFFFFC; in bcj_powerpc()
171 instr |= 0x48000001; in bcj_powerpc()
172 put_unaligned_be32(instr, buf + i); in bcj_powerpc()
217 uint64_t instr; in bcj_ia64() local
230 instr = 0; in bcj_ia64()
[all …]
/freebsd/sys/riscv/riscv/
H A Dsdt_machdep.c39 uint32_t instr; in sdt_tracepoint_patch() local
50 instr = (imm << 12) | MATCH_JAL; in sdt_tracepoint_patch()
52 memcpy((void *)patchpoint, &instr, sizeof(instr)); in sdt_tracepoint_patch()
62 uint32_t instr; in sdt_tracepoint_restore() local
64 instr = 0x13; /* uncompressed nop */ in sdt_tracepoint_restore()
66 memcpy((void *)patchpoint, &instr, sizeof(instr)); in sdt_tracepoint_restore()
/freebsd/sys/arm64/arm64/
H A Dsdt_machdep.c48 uint32_t instr; in sdt_tracepoint_patch() local
57 instr = (((target - patchpoint) >> 2) & 0x3fffffful) | 0x14000000; in sdt_tracepoint_patch()
58 memcpy(addr, &instr, sizeof(instr)); in sdt_tracepoint_patch()
69 uint32_t instr; in sdt_tracepoint_restore() local
74 instr = 0xd503201f; in sdt_tracepoint_restore()
75 memcpy(addr, &instr, sizeof(instr)); in sdt_tracepoint_restore()
/freebsd/sys/dev/hwpmc/
H A Dhwpmc_x86.c77 uint32_t instr; in pmc_save_user_callchain() local
94 if (copyin((void *) pc, &instr, sizeof(instr)) != 0) in pmc_save_user_callchain()
97 if (PMC_AT_FUNCTION_PROLOGUE_PUSH_BP(instr) || in pmc_save_user_callchain()
98 PMC_AT_FUNCTION_EPILOGUE_RET(instr)) { /* ret */ in pmc_save_user_callchain()
101 } else if (PMC_AT_FUNCTION_PROLOGUE_MOV_SP_BP(instr)) { in pmc_save_user_callchain()
157 uint32_t instr; in pmc_save_kernel_callchain() local
178 instr = *(uint32_t *)pc; in pmc_save_kernel_callchain()
189 if (PMC_AT_FUNCTION_PROLOGUE_PUSH_BP(instr) || in pmc_save_kernel_callchain()
190 PMC_AT_FUNCTION_EPILOGUE_RET(instr)) in pmc_save_kernel_callchain()
192 else if (PMC_AT_FUNCTION_PROLOGUE_MOV_SP_BP(instr)) { in pmc_save_kernel_callchain()
/freebsd/sys/cddl/dev/kinst/amd64/
H A Dkinst_isa.c108 uint8_t *instr; in kinst_trampoline_populate() local
132 instr = kp->kp_patchpoint + kp->kp_md.instlen; in kinst_trampoline_populate()
133 kinst_memcpy(&tramp[ilen + 6], &instr, sizeof(uintptr_t)); in kinst_trampoline_populate()
279 kinst_instr_dissect(struct kinst_probe *kp, uint8_t **instr) in kinst_instr_dissect() argument
288 d86.d86_data = instr; in kinst_instr_dissect()
292 KINST_LOG("failed to disassemble instruction at: %p", *instr); in kinst_instr_dissect()
382 ("no ModR/M byte for instr at %p", *instr - kpmd->instlen)); in kinst_instr_dissect()
503 uint8_t *instr, *limit, *tmp; in kinst_make_probe() local
513 instr = (uint8_t *)symval->value; in kinst_make_probe()
515 if (instr >= limit) in kinst_make_probe()
[all …]
/freebsd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/i386/ustack/
H A Dtst.helper.c46 uint8_t instr[] = { in foo() local
54 uint8_t *fp = malloc(sizeof (instr)); in foo()
59 *((int *)&instr[4]) = (uintptr_t)baz - (uintptr_t)&fp[8]; in foo()
65 bcopy(instr, fp, sizeof (instr)); in foo()

1234567