/kernel/linux/linux-5.10/arch/powerpc/lib/ |
H A D | code-patching.c | 21 static int __patch_instruction(struct ppc_inst *exec_addr, struct ppc_inst instr, in __patch_instruction() argument 24 if (!ppc_inst_prefixed(instr)) in __patch_instruction() 25 __put_user_asm_goto(ppc_inst_val(instr), patch_addr, failed, "stw"); in __patch_instruction() 27 __put_user_asm_goto(ppc_inst_as_u64(instr), patch_addr, failed, "std"); in __patch_instruction() 38 int raw_patch_instruction(struct ppc_inst *addr, struct ppc_inst instr) in raw_patch_instruction() argument 40 return __patch_instruction(addr, instr, addr); in raw_patch_instruction() 146 static int do_patch_instruction(struct ppc_inst *addr, struct ppc_inst instr) in do_patch_instruction() argument 160 return raw_patch_instruction(addr, instr); in do_patch_instruction() 172 __patch_instruction(addr, instr, patch_addr); in do_patch_instruction() 185 static int do_patch_instruction(struct ppc_inst *addr, struct ppc_inst instr) in do_patch_instruction() argument 192 patch_instruction(struct ppc_inst *addr, struct ppc_inst instr) patch_instruction() argument 205 struct ppc_inst instr; patch_branch() local 242 is_conditional_branch(struct ppc_inst instr) is_conditional_branch() argument 260 create_branch(struct ppc_inst *instr, const struct ppc_inst *addr, unsigned long target, int flags) create_branch() argument 281 create_cond_branch(struct ppc_inst *instr, const struct ppc_inst *addr, unsigned long target, int flags) create_cond_branch() argument 300 branch_opcode(struct ppc_inst instr) branch_opcode() argument 305 instr_is_branch_iform(struct ppc_inst instr) instr_is_branch_iform() argument 310 instr_is_branch_bform(struct ppc_inst instr) instr_is_branch_bform() argument 315 instr_is_relative_branch(struct ppc_inst instr) instr_is_relative_branch() argument 323 instr_is_relative_link_branch(struct ppc_inst instr) instr_is_relative_link_branch() argument 328 branch_iform_target(const struct ppc_inst *instr) branch_iform_target() argument 344 branch_bform_target(const struct ppc_inst *instr) branch_bform_target() argument 360 branch_target(const struct ppc_inst *instr) branch_target() argument 370 instr_is_branch_to_addr(const struct ppc_inst *instr, unsigned long addr) instr_is_branch_to_addr() argument 379 translate_branch(struct ppc_inst *instr, const struct ppc_inst *dest, const struct ppc_inst *src) translate_branch() argument 424 struct ppc_inst instr; test_branch_iform() local 501 struct ppc_inst instr; test_create_function_call() local 515 struct ppc_inst *iptr, instr; test_branch_bform() local 587 struct ppc_inst instr; test_translate_branch() local [all...] |
H A D | test_emulate_step.c | 639 struct ppc_inst instr; member 655 .instr = ppc_inst(PPC_INST_NOP), 667 .instr = ppc_inst(PPC_RAW_ADD(20, 21, 22)), 675 .instr = ppc_inst(PPC_RAW_ADD(20, 21, 22)), 683 .instr = ppc_inst(PPC_RAW_ADD(20, 21, 22)), 691 .instr = ppc_inst(PPC_RAW_ADD(20, 21, 22)), 699 .instr = ppc_inst(PPC_RAW_ADD(20, 21, 22)), 707 .instr = ppc_inst(PPC_RAW_ADD(20, 21, 22)), 715 .instr = ppc_inst(PPC_RAW_ADD(20, 21, 22)), 723 .instr 1305 emulate_compute_instr(struct pt_regs *regs, struct ppc_inst instr, bool negative) emulate_compute_instr() argument 1331 execute_compute_instr(struct pt_regs *regs, struct ppc_inst instr) execute_compute_instr() argument 1363 struct ppc_inst instr; run_tests_compute() local [all...] |
/kernel/linux/linux-6.6/arch/powerpc/lib/ |
H A D | test-code-patching.c | 11 static int __init instr_is_branch_to_addr(const u32 *instr, unsigned long addr) in instr_is_branch_to_addr() argument 13 if (instr_is_branch_iform(ppc_inst_read(instr)) || in instr_is_branch_to_addr() 14 instr_is_branch_bform(ppc_inst_read(instr))) in instr_is_branch_to_addr() 15 return branch_target(instr) == addr; in instr_is_branch_to_addr() 33 ppc_inst_t instr; in test_branch_iform() local 73 err = create_branch(&instr, iptr, addr, BRANCH_SET_LINK); in test_branch_iform() 74 ppc_inst_write(iptr, instr); in test_branch_iform() 78 err = create_branch(&instr, iptr, addr - 0x100, BRANCH_SET_LINK); in test_branch_iform() 79 ppc_inst_write(iptr, instr); in test_branch_iform() 83 err = create_branch(&instr, ipt in test_branch_iform() 115 ppc_inst_t instr; test_create_function_call() local 129 ppc_inst_t instr; test_branch_bform() local 207 ppc_inst_t instr; test_translate_branch() local [all...] |
H A D | code-patching.c | 23 static int __patch_instruction(u32 *exec_addr, ppc_inst_t instr, u32 *patch_addr) in __patch_instruction() argument 25 if (!ppc_inst_prefixed(instr)) { in __patch_instruction() 26 u32 val = ppc_inst_val(instr); in __patch_instruction() 30 u64 val = ppc_inst_as_ulong(instr); in __patch_instruction() 44 int raw_patch_instruction(u32 *addr, ppc_inst_t instr) in raw_patch_instruction() argument 46 return __patch_instruction(addr, instr, addr); in raw_patch_instruction() 281 static int __do_patch_instruction_mm(u32 *addr, ppc_inst_t instr) in __do_patch_instruction_mm() argument 310 err = __patch_instruction(addr, instr, patch_addr); in __do_patch_instruction_mm() 331 static int __do_patch_instruction(u32 *addr, ppc_inst_t instr) in __do_patch_instruction() argument 348 err = __patch_instruction(addr, instr, patch_add in __do_patch_instruction() 356 patch_instruction(u32 *addr, ppc_inst_t instr) patch_instruction() argument 383 ppc_inst_t instr; patch_branch() local 395 is_conditional_branch(ppc_inst_t instr) is_conditional_branch() argument 413 create_cond_branch(ppc_inst_t *instr, const u32 *addr, unsigned long target, int flags) create_cond_branch() argument 432 instr_is_relative_branch(ppc_inst_t instr) instr_is_relative_branch() argument 440 instr_is_relative_link_branch(ppc_inst_t instr) instr_is_relative_link_branch() argument 445 branch_iform_target(const u32 *instr) branch_iform_target() argument 461 branch_bform_target(const u32 *instr) branch_bform_target() argument 477 branch_target(const u32 *instr) branch_target() argument 487 translate_branch(ppc_inst_t *instr, const u32 *dest, const u32 *src) translate_branch() argument [all...] |
H A D | test_emulate_step.c | 792 ppc_inst_t instr; in test_plxvp_pstxvp() local 826 instr = ppc_inst_prefix(PPC_RAW_PLXVP_P(34, 0, 3, 0), PPC_RAW_PLXVP_S(34, 0, 3, 0)); in test_plxvp_pstxvp() 828 stepped = emulate_step(®s, instr); in test_plxvp_pstxvp() 854 instr = ppc_inst_prefix(PPC_RAW_PSTXVP_P(34, 0, 3, 0), PPC_RAW_PSTXVP_S(34, 0, 3, 0)); in test_plxvp_pstxvp() 856 stepped = emulate_step(®s, instr); in test_plxvp_pstxvp() 906 ppc_inst_t instr; member 922 .instr = ppc_inst(PPC_RAW_NOP()), 935 .instr = ppc_inst(PPC_RAW_SETB(20, 1)), 942 .instr = ppc_inst(PPC_RAW_SETB(20, 4)), 949 .instr 1599 emulate_compute_instr(struct pt_regs *regs, ppc_inst_t instr, bool negative) emulate_compute_instr() argument 1626 execute_compute_instr(struct pt_regs *regs, ppc_inst_t instr) execute_compute_instr() argument 1658 ppc_inst_t instr; run_tests_compute() local [all...] |
/kernel/linux/linux-6.6/arch/arm64/kernel/ |
H A D | compat_alignment.c | 54 do_alignment_finish_ldst(unsigned long addr, u32 instr, struct pt_regs *regs, in do_alignment_finish_ldst() argument 57 if (!LDST_U_BIT(instr)) in do_alignment_finish_ldst() 60 if (!LDST_P_BIT(instr)) in do_alignment_finish_ldst() 63 if (!LDST_P_BIT(instr) || LDST_W_BIT(instr)) in do_alignment_finish_ldst() 64 regs->regs[RN_BITS(instr)] = addr; in do_alignment_finish_ldst() 68 do_alignment_ldrdstrd(unsigned long addr, u32 instr, struct pt_regs *regs) in do_alignment_ldrdstrd() argument 70 unsigned int rd = RD_BITS(instr); in do_alignment_ldrdstrd() 74 if ((instr & 0xfe000000) == 0xe8000000) { in do_alignment_ldrdstrd() 76 rd2 = (instr >> in do_alignment_ldrdstrd() 115 do_alignment_ldmstm(unsigned long addr, u32 instr, struct pt_regs *regs) do_alignment_ldmstm() argument 236 u32 instr = *pinstr; do_alignment_t32_to_handler() local 286 __le32 instr = 0; alignment_get_arm() local 299 __le16 instr = 0; alignment_get_thumb() local 316 u32 instr = 0; do_compat_alignment_fixup() local [all...] |
/kernel/linux/linux-5.10/arch/arm/mm/ |
H A D | alignment.c | 319 do_alignment_finish_ldst(unsigned long addr, u32 instr, struct pt_regs *regs, union offset_union offset) in do_alignment_finish_ldst() argument 321 if (!LDST_U_BIT(instr)) in do_alignment_finish_ldst() 324 if (!LDST_P_BIT(instr)) in do_alignment_finish_ldst() 327 if (!LDST_P_BIT(instr) || LDST_W_BIT(instr)) in do_alignment_finish_ldst() 328 regs->uregs[RN_BITS(instr)] = addr; in do_alignment_finish_ldst() 332 do_alignment_ldrhstrh(unsigned long addr, u32 instr, struct pt_regs *regs) in do_alignment_ldrhstrh() argument 334 unsigned int rd = RD_BITS(instr); in do_alignment_ldrhstrh() 341 if (LDST_L_BIT(instr)) { in do_alignment_ldrhstrh() 346 if (instr in do_alignment_ldrhstrh() 381 do_alignment_ldrdstrd(unsigned long addr, u32 instr, struct pt_regs *regs) do_alignment_ldrdstrd() argument 443 do_alignment_ldrstr(unsigned long addr, u32 instr, struct pt_regs *regs) do_alignment_ldrstr() argument 492 do_alignment_ldmstm(unsigned long addr, u32 instr, struct pt_regs *regs) do_alignment_ldmstm() argument 713 u32 instr = *pinstr; do_alignment_t32_to_handler() local 763 u32 instr = 0; alignment_get_arm() local 778 u16 instr = 0; alignment_get_thumb() local 798 u32 instr = 0; do_alignment() local [all...] |
/kernel/linux/linux-6.6/arch/arm/mm/ |
H A D | alignment.c | 327 do_alignment_finish_ldst(unsigned long addr, u32 instr, struct pt_regs *regs, union offset_union offset) in do_alignment_finish_ldst() argument 329 if (!LDST_U_BIT(instr)) in do_alignment_finish_ldst() 332 if (!LDST_P_BIT(instr)) in do_alignment_finish_ldst() 335 if (!LDST_P_BIT(instr) || LDST_W_BIT(instr)) in do_alignment_finish_ldst() 336 regs->uregs[RN_BITS(instr)] = addr; in do_alignment_finish_ldst() 340 do_alignment_ldrhstrh(unsigned long addr, u32 instr, struct pt_regs *regs) in do_alignment_ldrhstrh() argument 342 unsigned int rd = RD_BITS(instr); in do_alignment_ldrhstrh() 349 if (LDST_L_BIT(instr)) { in do_alignment_ldrhstrh() 354 if (instr in do_alignment_ldrhstrh() 389 do_alignment_ldrdstrd(unsigned long addr, u32 instr, struct pt_regs *regs) do_alignment_ldrdstrd() argument 451 do_alignment_ldrstr(unsigned long addr, u32 instr, struct pt_regs *regs) do_alignment_ldrstr() argument 500 do_alignment_ldmstm(unsigned long addr, u32 instr, struct pt_regs *regs) do_alignment_ldmstm() argument 721 u32 instr = *pinstr; do_alignment_t32_to_handler() local 771 u32 instr = 0; alignment_get_arm() local 786 u16 instr = 0; alignment_get_thumb() local 806 u32 instr = 0; do_alignment() local [all...] |
/kernel/linux/linux-5.10/arch/powerpc/include/asm/ |
H A D | probes.h | 16 #define IS_TW(instr) (((instr) & 0xfc0007fe) == 0x7c000008) 17 #define IS_TD(instr) (((instr) & 0xfc0007fe) == 0x7c000088) 18 #define IS_TDI(instr) (((instr) & 0xfc000000) == 0x08000000) 19 #define IS_TWI(instr) (((instr) & 0xfc000000) == 0x0c000000) 22 #define is_trap(instr) (IS_TW(instr) || IS_T [all...] |
H A D | disassemble.h | 90 static inline unsigned make_dsisr(unsigned instr) in make_dsisr() argument 96 dsisr = (instr & 0x03ff0000) >> 16; in make_dsisr() 98 if (IS_XFORM(instr)) { in make_dsisr() 100 dsisr |= (instr & 0x00000006) << 14; in make_dsisr() 102 dsisr |= (instr & 0x00000040) << 8; in make_dsisr() 104 dsisr |= (instr & 0x00000780) << 3; in make_dsisr() 107 dsisr |= (instr & 0x04000000) >> 12; in make_dsisr() 109 dsisr |= (instr & 0x78000000) >> 17; in make_dsisr() 111 if (IS_DSFORM(instr)) in make_dsisr() 112 dsisr |= (instr in make_dsisr() [all...] |
/kernel/linux/linux-6.6/arch/powerpc/include/asm/ |
H A D | probes.h | 17 #define IS_TW(instr) (((instr) & 0xfc0007fe) == 0x7c000008) 18 #define IS_TD(instr) (((instr) & 0xfc0007fe) == 0x7c000088) 19 #define IS_TDI(instr) (((instr) & 0xfc000000) == 0x08000000) 20 #define IS_TWI(instr) (((instr) & 0xfc000000) == 0x0c000000) 23 #define is_trap(instr) (IS_TW(instr) || IS_T [all...] |
H A D | code-patching.h | 52 static inline int create_branch(ppc_inst_t *instr, const u32 *addr, in create_branch() argument 57 *instr = ppc_inst(0); in create_branch() 67 *instr = ppc_inst(0x48000000 | (flags & 0x3) | (offset & 0x03FFFFFC)); in create_branch() 72 int create_cond_branch(ppc_inst_t *instr, const u32 *addr, 75 int patch_instruction(u32 *addr, ppc_inst_t instr); 76 int raw_patch_instruction(u32 *addr, ppc_inst_t instr); 83 static inline int patch_instruction_site(s32 *site, ppc_inst_t instr) in patch_instruction_site() argument 85 return patch_instruction((u32 *)patch_site_addr(site), instr); in patch_instruction_site() 104 static inline unsigned int branch_opcode(ppc_inst_t instr) in branch_opcode() argument 106 return ppc_inst_primary_opcode(instr) in branch_opcode() 109 instr_is_branch_iform(ppc_inst_t instr) instr_is_branch_iform() argument 114 instr_is_branch_bform(ppc_inst_t instr) instr_is_branch_bform() argument [all...] |
H A D | disassemble.h | 90 static inline unsigned make_dsisr(unsigned instr) in make_dsisr() argument 96 dsisr = (instr & 0x03ff0000) >> 16; in make_dsisr() 98 if (IS_XFORM(instr)) { in make_dsisr() 100 dsisr |= (instr & 0x00000006) << 14; in make_dsisr() 102 dsisr |= (instr & 0x00000040) << 8; in make_dsisr() 104 dsisr |= (instr & 0x00000780) << 3; in make_dsisr() 107 dsisr |= (instr & 0x04000000) >> 12; in make_dsisr() 109 dsisr |= (instr & 0x78000000) >> 17; in make_dsisr() 111 if (IS_DSFORM(instr)) in make_dsisr() 112 dsisr |= (instr in make_dsisr() [all...] |
/kernel/linux/linux-5.10/samples/seccomp/ |
H A D | bpf-helper.c | 32 struct sock_filter *instr = &filter[offset]; in bpf_resolve_jumps() local 33 if (instr->code != (BPF_JMP+BPF_JA)) in bpf_resolve_jumps() 35 switch ((instr->jt<<8)|instr->jf) { in bpf_resolve_jumps() 37 if (labels->labels[instr->k].location == 0xffffffff) { in bpf_resolve_jumps() 39 labels->labels[instr->k].label); in bpf_resolve_jumps() 42 instr->k = labels->labels[instr->k].location - in bpf_resolve_jumps() 44 instr->jt = 0; in bpf_resolve_jumps() 45 instr in bpf_resolve_jumps() [all...] |
/kernel/linux/linux-6.6/samples/seccomp/ |
H A D | bpf-helper.c | 32 struct sock_filter *instr = &filter[offset]; in bpf_resolve_jumps() local 33 if (instr->code != (BPF_JMP+BPF_JA)) in bpf_resolve_jumps() 35 switch ((instr->jt<<8)|instr->jf) { in bpf_resolve_jumps() 37 if (labels->labels[instr->k].location == 0xffffffff) { in bpf_resolve_jumps() 39 labels->labels[instr->k].label); in bpf_resolve_jumps() 42 instr->k = labels->labels[instr->k].location - in bpf_resolve_jumps() 44 instr->jt = 0; in bpf_resolve_jumps() 45 instr in bpf_resolve_jumps() [all...] |
/kernel/linux/linux-5.10/arch/alpha/lib/ |
H A D | stacktrace.c | 4 typedef unsigned int instr; typedef 34 (((instr)(INSTR) >= BR_OP) | ((instr)(INSTR) < LDA_OP) | \ 35 ((((instr)(INSTR) ^ 0x60000000) < 0x20000000) & \ 36 (((instr)(INSTR) & 0x0c000000) != 0))) 48 static instr * 49 display_stored_regs(instr * pro_pc, unsigned char * sp) in display_stored_regs() 51 instr * ret_pc = 0; in display_stored_regs() 61 ret_pc = (instr *)value; in display_stored_regs() 67 static instr * [all...] |
/kernel/linux/linux-6.6/arch/alpha/lib/ |
H A D | stacktrace.c | 4 typedef unsigned int instr; typedef 34 (((instr)(INSTR) >= BR_OP) | ((instr)(INSTR) < LDA_OP) | \ 35 ((((instr)(INSTR) ^ 0x60000000) < 0x20000000) & \ 36 (((instr)(INSTR) & 0x0c000000) != 0))) 48 static instr * 49 display_stored_regs(instr * pro_pc, unsigned char * sp) in display_stored_regs() 51 instr * ret_pc = 0; in display_stored_regs() 61 ret_pc = (instr *)value; in display_stored_regs() 67 static instr * [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/netronome/nfp/ |
H A D | nfp_asm.c | 30 u16 br_get_offset(u64 instr) in br_get_offset() argument 34 addr_lo = FIELD_GET(OP_BR_ADDR_LO, instr); in br_get_offset() 35 addr_hi = FIELD_GET(OP_BR_ADDR_HI, instr); in br_get_offset() 41 void br_set_offset(u64 *instr, u16 offset) in br_set_offset() argument 47 *instr &= ~(OP_BR_ADDR_HI | OP_BR_ADDR_LO); in br_set_offset() 48 *instr |= FIELD_PREP(OP_BR_ADDR_HI, addr_hi); in br_set_offset() 49 *instr |= FIELD_PREP(OP_BR_ADDR_LO, addr_lo); in br_set_offset() 52 void br_add_offset(u64 *instr, u16 offset) in br_add_offset() argument 56 addr = br_get_offset(*instr); in br_add_offset() 57 br_set_offset(instr, add in br_add_offset() 60 immed_can_modify(u64 instr) immed_can_modify() argument 71 immed_get_value(u64 instr) immed_get_value() argument 85 immed_set_value(u64 *instr, u16 immed) immed_set_value() argument 102 immed_add_value(u64 *instr, u16 offset) immed_add_value() argument [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/netronome/nfp/ |
H A D | nfp_asm.c | 30 u16 br_get_offset(u64 instr) in br_get_offset() argument 34 addr_lo = FIELD_GET(OP_BR_ADDR_LO, instr); in br_get_offset() 35 addr_hi = FIELD_GET(OP_BR_ADDR_HI, instr); in br_get_offset() 41 void br_set_offset(u64 *instr, u16 offset) in br_set_offset() argument 47 *instr &= ~(OP_BR_ADDR_HI | OP_BR_ADDR_LO); in br_set_offset() 48 *instr |= FIELD_PREP(OP_BR_ADDR_HI, addr_hi); in br_set_offset() 49 *instr |= FIELD_PREP(OP_BR_ADDR_LO, addr_lo); in br_set_offset() 52 void br_add_offset(u64 *instr, u16 offset) in br_add_offset() argument 56 addr = br_get_offset(*instr); in br_add_offset() 57 br_set_offset(instr, add in br_add_offset() 60 immed_can_modify(u64 instr) immed_can_modify() argument 71 immed_get_value(u64 instr) immed_get_value() argument 85 immed_set_value(u64 *instr, u16 immed) immed_set_value() argument 102 immed_add_value(u64 *instr, u16 offset) immed_add_value() argument [all...] |
/kernel/linux/linux-5.10/arch/arm/include/asm/ |
H A D | domain.h | 133 #define TUSER(instr) TUSERCOND(instr, ) 134 #define TUSERCOND(instr, cond) #instr "t" #cond 136 #define TUSER(instr) TUSERCOND(instr, ) 137 #define TUSERCOND(instr, cond) #instr #cond 147 #define TUSER(instr) instr ## [all...] |
H A D | unified.h | 37 #define W(instr) instr.w 39 #define WASM(instr) #instr ".w" 50 #define W(instr) instr 52 #define WASM(instr) #instr
|
/kernel/linux/linux-6.6/arch/arm/include/asm/ |
H A D | domain.h | 120 #define TUSER(instr) TUSERCOND(instr, ) 121 #define TUSERCOND(instr, cond) #instr "t" #cond 123 #define TUSER(instr) TUSERCOND(instr, ) 124 #define TUSERCOND(instr, cond) #instr #cond 134 #define TUSER(instr) instr ## [all...] |
H A D | unified.h | 33 #define W(instr) instr.w 35 #define WASM(instr) #instr ".w" 46 #define W(instr) instr 48 #define WASM(instr) #instr
|
/kernel/linux/linux-5.10/scripts/kconfig/lxdialog/ |
H A D | inputbox.c | 37 char *instr = dialog_input_result; in dialog_inputbox() local 41 instr[0] = '\0'; in dialog_inputbox() 43 strcpy(instr, init); in dialog_inputbox() 88 len = strlen(instr); in dialog_inputbox() 95 waddch(dialog, instr[show_x + i]); in dialog_inputbox() 99 waddstr(dialog, instr); in dialog_inputbox() 127 instr[i] = instr[i+1]; in dialog_inputbox() 133 instr[len] = '\0'; in dialog_inputbox() 136 if (!instr[show_ in dialog_inputbox() [all...] |
/kernel/linux/linux-6.6/scripts/kconfig/lxdialog/ |
H A D | inputbox.c | 37 char *instr = dialog_input_result; in dialog_inputbox() local 41 instr[0] = '\0'; in dialog_inputbox() 43 strcpy(instr, init); in dialog_inputbox() 88 len = strlen(instr); in dialog_inputbox() 95 waddch(dialog, instr[show_x + i]); in dialog_inputbox() 99 waddstr(dialog, instr); in dialog_inputbox() 127 instr[i] = instr[i+1]; in dialog_inputbox() 133 instr[len] = '\0'; in dialog_inputbox() 136 if (!instr[show_ in dialog_inputbox() [all...] |