/freebsd-src/sys/arm/arm/ |
H A D | sdt_machdep.c | 17 sdt_tracepoint_valid(uintptr_t patchpoint, uintptr_t target) in sdt_tracepoint_valid() argument 21 if (patchpoint == target || in sdt_tracepoint_valid() 22 (patchpoint & (INSN_SIZE - 1)) != 0 || in sdt_tracepoint_valid() 24 patchpoint + 2 * INSN_SIZE < patchpoint) in sdt_tracepoint_valid() 26 offset = target - (patchpoint + 2 * INSN_SIZE); in sdt_tracepoint_valid() 37 sdt_tracepoint_patch(uintptr_t patchpoint, uintptr_t target) in sdt_tracepoint_patch() argument 41 KASSERT(sdt_tracepoint_valid(patchpoint, target), in sdt_tracepoint_patch() 43 __func__, patchpoint, target)); in sdt_tracepoint_patch() 46 (((target - (patchpoint + 2 * INSN_SIZE)) >> 2) & ((1 << 24) - 1)) | in sdt_tracepoint_patch() 48 memcpy((void *)patchpoint, &instr, sizeof(instr)); in sdt_tracepoint_patch() [all …]
|
/freebsd-src/sys/x86/x86/ |
H A D | sdt_machdep.c | 23 sdt_tracepoint_valid(uintptr_t patchpoint, uintptr_t target) in sdt_tracepoint_valid() argument 26 if (patchpoint < KERNSTART || target < KERNSTART) in sdt_tracepoint_valid() 29 if (patchpoint == target || in sdt_tracepoint_valid() 30 patchpoint + SDT_PATCH_SIZE < patchpoint) in sdt_tracepoint_valid() 33 int64_t offset = target - (patchpoint + SDT_PATCH_SIZE); in sdt_tracepoint_valid() 45 sdt_tracepoint_patch(uintptr_t patchpoint, uintptr_t target) in sdt_tracepoint_patch() argument 51 KASSERT(sdt_tracepoint_valid(patchpoint, target), in sdt_tracepoint_patch() 53 __func__, (uintmax_t)patchpoint, (uintmax_t)target)); in sdt_tracepoint_patch() 56 disp = target - (patchpoint + SDT_PATCH_SIZE); in sdt_tracepoint_patch() 60 memcpy((void *)patchpoint, instr, sizeof(instr)); in sdt_tracepoint_patch() [all …]
|
/freebsd-src/sys/arm64/arm64/ |
H A D | sdt_machdep.c | 22 sdt_tracepoint_valid(uintptr_t patchpoint, uintptr_t target) in sdt_tracepoint_valid() argument 27 if (!arm64_get_writable_addr((void *)patchpoint, &addr)) in sdt_tracepoint_valid() 30 if (patchpoint == target || in sdt_tracepoint_valid() 31 (patchpoint & (INSN_SIZE - 1)) != 0 || in sdt_tracepoint_valid() 34 offset = target - patchpoint; in sdt_tracepoint_valid() 45 sdt_tracepoint_patch(uintptr_t patchpoint, uintptr_t target) in sdt_tracepoint_patch() argument 50 KASSERT(sdt_tracepoint_valid(patchpoint, target), in sdt_tracepoint_patch() 52 __func__, patchpoint, target)); in sdt_tracepoint_patch() 54 if (!arm64_get_writable_addr((void *)patchpoint, &addr)) in sdt_tracepoint_patch() 57 instr = (((target - patchpoint) >> 2) & 0x3fffffful) | 0x14000000; in sdt_tracepoint_patch() [all …]
|
/freebsd-src/sys/powerpc/powerpc/ |
H A D | sdt_machdep.c | 17 sdt_tracepoint_valid(uintptr_t patchpoint, uintptr_t target) in sdt_tracepoint_valid() argument 21 if (patchpoint == target || in sdt_tracepoint_valid() 22 (patchpoint & 3) != 0 || (target & 3) != 0) in sdt_tracepoint_valid() 24 offset = target - patchpoint; in sdt_tracepoint_valid() 35 sdt_tracepoint_patch(uintptr_t patchpoint, uintptr_t target) in sdt_tracepoint_patch() argument 39 KASSERT(sdt_tracepoint_valid(patchpoint, target), in sdt_tracepoint_patch() 41 __func__, patchpoint, target)); in sdt_tracepoint_patch() 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() [all …]
|
/freebsd-src/sys/riscv/riscv/ |
H A D | sdt_machdep.c | 17 sdt_tracepoint_valid(uintptr_t patchpoint, uintptr_t target) in sdt_tracepoint_valid() argument 21 if (patchpoint == target || in sdt_tracepoint_valid() 22 (patchpoint & (INSN_C_SIZE - 1)) != 0 || in sdt_tracepoint_valid() 25 offset = target - patchpoint; in sdt_tracepoint_valid() 36 sdt_tracepoint_patch(uintptr_t patchpoint, uintptr_t target) in sdt_tracepoint_patch() argument 41 KASSERT(sdt_tracepoint_valid(patchpoint, target), in sdt_tracepoint_patch() 43 __func__, patchpoint, target)); in sdt_tracepoint_patch() 45 imm = target - patchpoint; in sdt_tracepoint_patch() 52 memcpy((void *)patchpoint, &instr, sizeof(instr)); in sdt_tracepoint_patch() 60 sdt_tracepoint_restore(uintptr_t patchpoint) in sdt_tracepoint_restore() argument [all …]
|
/freebsd-src/sys/cddl/dev/sdt/ |
H A D | sdt.c | 244 sdt_tracepoint_patch(tp->patchpoint, tp->target); in sdt_probe_update_cb() 246 sdt_tracepoint_restore(tp->patchpoint); in sdt_probe_update_cb() 403 if (!sdt_tracepoint_valid(tp->patchpoint, tp->target)) { in sdt_kld_load_probes() 406 (uintmax_t)tp->patchpoint, in sdt_kld_load_probes() 479 if (!sdt_tracepoint_valid(tp->patchpoint, tp->target)) in sdt_load_probes_cb()
|
/freebsd-src/sys/sys/ |
H A D | sdt.h | 148 bool sdt_tracepoint_valid(uintptr_t patchpoint, uintptr_t target); 149 void sdt_tracepoint_patch(uintptr_t patchpoint, uintptr_t target); 150 void sdt_tracepoint_restore(uintptr_t patchpoint); 206 uintptr_t patchpoint; 208 uintptr_t patchpoint; global() member
|
/freebsd-src/contrib/llvm-project/llvm/lib/Target/PowerPC/ |
H A D | PPCCallingConv.td | 41 // patchpoint intrinsics. All other uses will result in an assert on Debug 109 // patchpoint intrinsics. All other uses will result in an assert on Debug
|
/freebsd-src/contrib/llvm-project/llvm/lib/Target/X86/ |
H A D | X86CallingConv.td | 449 // patchpoint intrinsics. All other uses will result in an assert on Debug 750 // patchpoint intrinsics. All other uses will result in an assert on Debug
|