| /Linux-v5.4/arch/x86/kernel/ |
| D | paravirt_patch.c | 13 #define PATCH(d, m, insn_buff, len) \ argument 14 paravirt_patch_insns(insn_buff, len, PSTART(d, m), PEND(d, m)) 16 #define PATCH_CASE(ops, m, data, insn_buff, len) \ argument 18 return PATCH(data, ops##_##m, insn_buff, len) 60 unsigned int paravirt_patch_ident_64(void *insn_buff, unsigned int len) in paravirt_patch_ident_64() argument 63 return PATCH(xxl, mov64, insn_buff, len); in paravirt_patch_ident_64() 86 unsigned int native_patch(u8 type, void *insn_buff, unsigned long addr, in native_patch() argument 92 PATCH_CASE(irq, restore_fl, xxl, insn_buff, len); in native_patch() 93 PATCH_CASE(irq, save_fl, xxl, insn_buff, len); in native_patch() 94 PATCH_CASE(irq, irq_enable, xxl, insn_buff, len); in native_patch() [all …]
|
| D | alternative.c | 281 recompute_jump(struct alt_instr *a, u8 *orig_insn, u8 *repl_insn, u8 *insn_buff) in recompute_jump() argument 290 o_dspl = *(s32 *)(insn_buff + 1); in recompute_jump() 316 insn_buff[0] = 0xeb; in recompute_jump() 317 insn_buff[1] = (s8)n_dspl; in recompute_jump() 318 add_nops(insn_buff + 2, 3); in recompute_jump() 326 insn_buff[0] = 0xe9; in recompute_jump() 327 *(s32 *)&insn_buff[1] = n_dspl; in recompute_jump() 374 u8 insn_buff[MAX_PATCH_LEN]; in apply_alternatives() local 391 BUG_ON(a->instrlen > sizeof(insn_buff)); in apply_alternatives() 409 memcpy(insn_buff, replacement, a->replacementlen); in apply_alternatives() [all …]
|
| D | paravirt.c | 61 static unsigned paravirt_patch_call(void *insn_buff, const void *target, in paravirt_patch_call() argument 65 struct branch *b = insn_buff; in paravirt_patch_call() 88 static unsigned paravirt_patch_jmp(void *insn_buff, const void *target, in paravirt_patch_jmp() argument 91 struct branch *b = insn_buff; in paravirt_patch_jmp() 116 unsigned paravirt_patch_default(u8 type, void *insn_buff, in paravirt_patch_default() argument 128 ret = paravirt_patch_insns(insn_buff, len, ud2a, ud2a+sizeof(ud2a)); in paravirt_patch_default() 135 ret = paravirt_patch_ident_64(insn_buff, len); in paravirt_patch_default() 140 ret = paravirt_patch_jmp(insn_buff, opfunc, addr, len); in paravirt_patch_default() 144 ret = paravirt_patch_call(insn_buff, opfunc, addr, len); in paravirt_patch_default() 149 unsigned paravirt_patch_insns(void *insn_buff, unsigned len, in paravirt_patch_insns() argument [all …]
|
| /Linux-v5.4/arch/x86/tools/ |
| D | insn_sanity.c | 86 unsigned char *insn_buff, struct insn *insn) in dump_stream() argument 99 fprintf(fp, " %02x", insn_buff[i]); in dump_stream() 127 static int read_next_insn(unsigned char *insn_buff) in read_next_insn() argument 137 insn_buff[i] = (unsigned char)strtoul(tmp, &tmp, 16); in read_next_insn() 145 static int generate_insn(unsigned char *insn_buff) in generate_insn() argument 150 return read_next_insn(insn_buff); in generate_insn() 154 *(unsigned short *)(&insn_buff[i]) = random() & 0xffff; in generate_insn() 157 insn_buff[i++] = random() & 0xff; in generate_insn() 229 unsigned char insn_buff[MAX_INSN_SIZE * 2]; in main() local 234 memset(insn_buff + MAX_INSN_SIZE, INSN_NOP, MAX_INSN_SIZE); in main() [all …]
|
| D | insn_decoder_test.c | 114 unsigned char insn_buff[16]; in main() local 133 memset(insn_buff, 0, 16); in main() 146 insn_buff[nb++] = (unsigned char) b; in main() 152 insn_init(&insn, insn_buff, sizeof(insn_buff), x86_64); in main()
|
| /Linux-v5.4/arch/x86/kernel/kprobes/ |
| D | opt.c | 425 u8 insn_buff[RELATIVEJUMP_SIZE]; in arch_optimize_kprobes() local 437 insn_buff[0] = RELATIVEJUMP_OPCODE; in arch_optimize_kprobes() 438 *(s32 *)(&insn_buff[1]) = rel; in arch_optimize_kprobes() 440 text_poke_bp(op->kp.addr, insn_buff, RELATIVEJUMP_SIZE, in arch_optimize_kprobes() 450 u8 insn_buff[RELATIVEJUMP_SIZE]; in arch_unoptimize_kprobe() local 453 insn_buff[0] = BREAKPOINT_INSTRUCTION; in arch_unoptimize_kprobe() 454 memcpy(insn_buff + 1, op->optinsn.copied_insn, RELATIVE_ADDR_SIZE); in arch_unoptimize_kprobe() 455 text_poke_bp(op->kp.addr, insn_buff, RELATIVEJUMP_SIZE, in arch_unoptimize_kprobe()
|
| /Linux-v5.4/arch/x86/include/asm/ |
| D | paravirt_types.h | 91 unsigned (*patch)(u8 type, void *insn_buff, 368 unsigned paravirt_patch_ident_64(void *insn_buff, unsigned len); 369 unsigned paravirt_patch_default(u8 type, void *insn_buff, unsigned long addr, unsigned len); 370 unsigned paravirt_patch_insns(void *insn_buff, unsigned len, const char *start, const char *end); 372 unsigned native_patch(u8 type, void *insn_buff, unsigned long addr, unsigned len);
|
| /Linux-v5.4/arch/x86/events/intel/ |
| D | ds.c | 340 void *buffer, *insn_buff, *cea; in alloc_pebs_buffer() local 354 insn_buff = kzalloc_node(PEBS_FIXUP_SIZE, GFP_KERNEL, node); in alloc_pebs_buffer() 355 if (!insn_buff) { in alloc_pebs_buffer() 359 per_cpu(insn_buffer, cpu) = insn_buff; in alloc_pebs_buffer()
|
| /Linux-v5.4/kernel/bpf/ |
| D | core.c | 1069 struct bpf_insn insn_buff[16], aux[2]; in bpf_jit_blind_constants() local 1094 rewritten = bpf_jit_blind_insn(insn, aux, insn_buff, in bpf_jit_blind_constants() 1099 tmp = bpf_patch_insn_single(clone, i, insn_buff, rewritten); in bpf_jit_blind_constants()
|