/kernel/linux/linux-5.10/tools/perf/util/ |
H A D | record.h | 51 bool text_poke; member
|
H A D | session.c | 493 if (tool->text_poke == NULL) in perf_tool__fill_defaults() 494 tool->text_poke = perf_event__process_text_poke; in perf_tool__fill_defaults() 667 event->text_poke.addr = bswap_64(event->text_poke.addr); in perf_event__text_poke_swap() 668 event->text_poke.old_len = bswap_16(event->text_poke.old_len); in perf_event__text_poke_swap() 669 event->text_poke.new_len = bswap_16(event->text_poke.new_len); in perf_event__text_poke_swap() 672 size_t len = sizeof(event->text_poke.old_len) + in perf_event__text_poke_swap() 673 sizeof(event->text_poke in perf_event__text_poke_swap() [all...] |
H A D | tool.h | 61 text_poke; member
|
H A D | perf_api_probe.c | 98 evsel->core.attr.text_poke = 1; in perf_probe_text_poke()
|
H A D | machine.c | 823 struct map *map = maps__find(&machine->kmaps, event->text_poke.addr); in machine__process_text_poke() 829 if (!event->text_poke.new_len) in machine__process_text_poke() 838 u8 *new_bytes = event->text_poke.bytes + event->text_poke.old_len; in machine__process_text_poke() 847 event->text_poke.addr, in machine__process_text_poke() 849 event->text_poke.new_len); in machine__process_text_poke() 850 if (ret != event->text_poke.new_len) in machine__process_text_poke() 852 event->text_poke.addr); in machine__process_text_poke() 855 event->text_poke.addr); in machine__process_text_poke()
|
H A D | perf_event_attr_fprintf.c | 150 PRINT_ATTRf(text_poke, p_unsigned); in perf_event_attr__fprintf()
|
H A D | intel-pt.c | 2663 u64 addr = event->text_poke.addr + event->text_poke.new_len - 1; in intel_pt_text_poke() 2665 int cnt = 4096 + event->text_poke.new_len; in intel_pt_text_poke() 2672 if (!event->text_poke.new_len) in intel_pt_text_poke() 2677 if (addr < event->text_poke.addr) in intel_pt_text_poke() 2691 if (addr + e->byte_cnt + e->length <= event->text_poke.addr) { in intel_pt_text_poke()
|
/kernel/linux/linux-6.6/tools/perf/util/ |
H A D | record.h | 53 bool text_poke; member
|
H A D | tool.h | 63 text_poke; member
|
H A D | perf_api_probe.c | 99 evsel->core.attr.text_poke = 1; in perf_probe_text_poke()
|
H A D | session.c | 510 if (tool->text_poke == NULL) in perf_tool__fill_defaults() 511 tool->text_poke = perf_event__process_text_poke; in perf_tool__fill_defaults() 691 event->text_poke.addr = bswap_64(event->text_poke.addr); in perf_event__text_poke_swap() 692 event->text_poke.old_len = bswap_16(event->text_poke.old_len); in perf_event__text_poke_swap() 693 event->text_poke.new_len = bswap_16(event->text_poke.new_len); in perf_event__text_poke_swap() 696 size_t len = sizeof(event->text_poke.old_len) + in perf_event__text_poke_swap() 697 sizeof(event->text_poke in perf_event__text_poke_swap() [all...] |
H A D | machine.c | 1001 struct map *map = maps__find(machine__kernel_maps(machine), event->text_poke.addr); in machine__process_text_poke() 1008 if (!event->text_poke.new_len) in machine__process_text_poke() 1017 u8 *new_bytes = event->text_poke.bytes + event->text_poke.old_len; in machine__process_text_poke() 1026 event->text_poke.addr, in machine__process_text_poke() 1028 event->text_poke.new_len); in machine__process_text_poke() 1029 if (ret != event->text_poke.new_len) in machine__process_text_poke() 1031 event->text_poke.addr); in machine__process_text_poke() 1034 event->text_poke.addr); in machine__process_text_poke()
|
/kernel/linux/linux-5.10/arch/x86/kernel/kprobes/ |
H A D | opt.c | 452 /* We have to use text_poke() for instruction buffer because it is RO */ in arch_prepare_optimized_kprobe() 454 text_poke(slot, buf, len); in arch_prepare_optimized_kprobe() 516 text_poke(addr, new, INT3_INSN_SIZE); in arch_unoptimize_kprobe() 518 text_poke(addr + INT3_INSN_SIZE, in arch_unoptimize_kprobe()
|
H A D | core.c | 728 text_poke(p->ainsn.insn, buf, len); in arch_copy_kprobe() 763 text_poke(p->addr, &int3, 1); in arch_arm_kprobe() 773 text_poke(p->addr, &p->opcode, 1); in arch_disarm_kprobe()
|
/kernel/linux/linux-6.6/arch/x86/kernel/kprobes/ |
H A D | opt.c | 451 /* We have to use text_poke() for instruction buffer because it is RO */ in arch_prepare_optimized_kprobe() 453 text_poke(slot, buf, len); in arch_prepare_optimized_kprobe() 515 text_poke(addr, new, INT3_INSN_SIZE); in arch_unoptimize_kprobe() 517 text_poke(addr + INT3_INSN_SIZE, in arch_unoptimize_kprobe()
|
H A D | core.c | 737 text_poke(p->ainsn.insn, buf, len); in arch_copy_kprobe() 772 text_poke(p->addr, &int3, 1); in arch_arm_kprobe() 782 text_poke(p->addr, &p->opcode, 1); in arch_disarm_kprobe()
|
/kernel/linux/linux-5.10/arch/x86/kernel/ |
H A D | alternative.c | 259 /* Use this to add nops to a buffer, then text_poke the whole buffer. */ 766 text_poke(ptr, ((unsigned char []){0xf0}), 1); in alternatives_smp_lock() 782 text_poke(ptr, ((unsigned char []){0x3E}), 1); in alternatives_smp_unlock() 1278 * text_poke - Update instructions on a live kernel 1293 void *text_poke(void *addr, const void *opcode, size_t len) in text_poke() function 1514 text_poke(text_poke_addr(&tp[i]), &int3, INT3_INSN_SIZE); in text_poke_bp_batch() 1530 text_poke(text_poke_addr(&tp[i]) + INT3_INSN_SIZE, in text_poke_bp_batch() 1581 text_poke(text_poke_addr(&tp[i]), tp[i].text, INT3_INSN_SIZE); in text_poke_bp_batch()
|
H A D | module.c | 232 write = text_poke; in apply_relocate_add()
|
/kernel/linux/linux-5.10/arch/x86/include/asm/ |
H A D | text-patching.h | 44 extern void *text_poke(void *addr, const void *opcode, size_t len);
|
/kernel/linux/linux-6.6/arch/x86/include/asm/ |
H A D | text-patching.h | 44 extern void *text_poke(void *addr, const void *opcode, size_t len);
|
/kernel/linux/linux-5.10/arch/um/kernel/ |
H A D | um_arch.c | 375 void *text_poke(void *addr, const void *opcode, size_t len) in text_poke() function
|
/kernel/linux/linux-6.6/arch/x86/kernel/ |
H A D | alternative.c | 1284 text_poke(ptr, ((unsigned char []){0xf0}), 1); in alternatives_smp_lock() 1300 text_poke(ptr, ((unsigned char []){0x3E}), 1); in alternatives_smp_unlock() 1426 /* Use this to add nops to a buffer, then text_poke the whole buffer. */ 1896 * text_poke - Update instructions on a live kernel 1911 void *text_poke(void *addr, const void *opcode, size_t len) in text_poke() function 2223 text_poke(text_poke_addr(&tp[i]), &int3, INT3_INSN_SIZE); in text_poke_bp_batch() 2248 text_poke(text_poke_addr(&tp[i]) + INT3_INSN_SIZE, in text_poke_bp_batch() 2304 text_poke(text_poke_addr(&tp[i]), &byte, INT3_INSN_SIZE); in text_poke_bp_batch()
|
/kernel/linux/linux-6.6/arch/um/kernel/ |
H A D | um_arch.c | 461 void *text_poke(void *addr, const void *opcode, size_t len) in text_poke() function
|
/kernel/linux/linux-5.10/tools/lib/perf/include/perf/ |
H A D | event.h | 395 struct perf_record_text_poke_event text_poke; member
|
/kernel/linux/linux-6.6/tools/lib/perf/include/perf/ |
H A D | event.h | 493 struct perf_record_text_poke_event text_poke; member
|