Lines Matching refs:sdp

85 	sdt_probe_t *sdp, *old;  in __sdt_provide_module()  local
127 sdp = kmem_zalloc(sizeof(sdt_probe_t), KM_SLEEP); in __sdt_provide_module()
128 sdp->sdp_loadcnt = ctl->mod_loadcnt; in __sdt_provide_module()
129 sdp->sdp_ctl = ctl; in __sdt_provide_module()
130 sdp->sdp_name = kmem_alloc(strlen(sdpd->sdpd_name) + 1, KM_SLEEP); in __sdt_provide_module()
131 (void) strlcpy(sdp->sdp_name, sdpd->sdpd_name, strlen(sdpd->sdpd_name) + 1); in __sdt_provide_module()
132 sdp->sdp_namelen = strlen(sdpd->sdpd_name) + 1; in __sdt_provide_module()
133 sdp->sdp_provider = prov; in __sdt_provide_module()
139 sdpd->sdpd_func, sdp->sdp_name)) != DTRACE_IDNONE) { in __sdt_provide_module()
143 sdp->sdp_next = old->sdp_next; in __sdt_provide_module()
144 sdp->sdp_id = id; in __sdt_provide_module()
145 old->sdp_next = sdp; in __sdt_provide_module()
147 sdp->sdp_id = dtrace_probe_create(prov->sdtp_id, in __sdt_provide_module()
148 modname, sdpd->sdpd_func, sdp->sdp_name, SDT_AFRAMES, sdp); in __sdt_provide_module()
154 printf("__sdt_provide_module: sdpd=0x%p sdp=0x%p name=%s, id=%d\n", sdpd, sdp, in __sdt_provide_module()
155 sdp->sdp_name, sdp->sdp_id); in __sdt_provide_module()
158 sdp->sdp_hashnext = in __sdt_provide_module()
160 sdt_probetab[SDT_ADDR2NDX(sdpd->sdpd_offset)] = sdp; in __sdt_provide_module()
162 sdp->sdp_patchval = SDT_PATCHVAL; in __sdt_provide_module()
163 sdp->sdp_patchpoint = (sdt_instr_t *)sdpd->sdpd_offset; in __sdt_provide_module()
164 sdp->sdp_savedval = *sdp->sdp_patchpoint; in __sdt_provide_module()
173 sdt_probe_t *sdp = parg, *old, *last, *hash; in sdt_destroy() local
176 struct modctl *ctl = sdp->sdp_ctl; in sdt_destroy()
182 if (ctl != NULL && ctl->mod_loadcnt == sdp->sdp_loadcnt && ctl->mod_loaded) { in sdt_destroy()
186 while (sdp != NULL) { in sdt_destroy()
187 old = sdp; in sdt_destroy()
192 ndx = SDT_ADDR2NDX(sdp->sdp_patchpoint); in sdt_destroy()
196 while (hash != sdp) { in sdt_destroy()
203 last->sdp_hashnext = sdp->sdp_hashnext; in sdt_destroy()
205 sdt_probetab[ndx] = sdp->sdp_hashnext; in sdt_destroy()
208 kmem_free(sdp->sdp_name, sdp->sdp_namelen); in sdt_destroy()
209 sdp = sdp->sdp_next; in sdt_destroy()
219 sdt_probe_t *sdp = parg; in sdt_enable() local
220 struct modctl *ctl = sdp->sdp_ctl; in sdt_enable()
232 sdp->sdp_name, ctl->mod_modname); in sdt_enable()
242 if (ctl->mod_loadcnt != sdp->sdp_loadcnt) { in sdt_enable()
246 sdp->sdp_name, ctl->mod_modname); in sdt_enable()
256 sdp->sdp_name, ctl->mod_modname); in sdt_enable()
261 while (sdp != NULL) { in sdt_enable()
262 (void)ml_nofault_copy((vm_offset_t)&sdp->sdp_patchval, (vm_offset_t)sdp->sdp_patchpoint, in sdt_enable()
263 (vm_size_t)sizeof(sdp->sdp_patchval)); in sdt_enable()
269 flush_dcache((vm_offset_t)sdp->sdp_patchpoint, (vm_size_t)sizeof(sdp->sdp_patchval), 0); in sdt_enable()
270 invalidate_icache((vm_offset_t)sdp->sdp_patchpoint, (vm_size_t)sizeof(sdp->sdp_patchval), 0); in sdt_enable()
272 sdp = sdp->sdp_next; in sdt_enable()
284 sdt_probe_t *sdp = parg; in sdt_disable() local
285 struct modctl *ctl = sdp->sdp_ctl; in sdt_disable()
289 if (!ctl->mod_loaded || ctl->mod_loadcnt != sdp->sdp_loadcnt) { in sdt_disable()
293 while (sdp != NULL) { in sdt_disable()
294 (void)ml_nofault_copy((vm_offset_t)&sdp->sdp_savedval, (vm_offset_t)sdp->sdp_patchpoint, in sdt_disable()
295 (vm_size_t)sizeof(sdp->sdp_savedval)); in sdt_disable()
300 flush_dcache((vm_offset_t)sdp->sdp_patchpoint, (vm_size_t)sizeof(sdp->sdp_savedval), 0); in sdt_disable()
301 invalidate_icache((vm_offset_t)sdp->sdp_patchpoint, (vm_size_t)sizeof(sdp->sdp_savedval), 0); in sdt_disable()
302 sdp = sdp->sdp_next; in sdt_disable()