Lines Matching refs:sdp
86 sdt_probe_t *sdp, *old;
129 sdp = kmem_zalloc(sizeof (sdt_probe_t), KM_SLEEP);
130 sdp->sdp_loadcnt = ctl->mod_loadcnt;
131 sdp->sdp_ctl = ctl;
132 sdp->sdp_name = nname;
133 sdp->sdp_namelen = len;
134 sdp->sdp_provider = prov;
149 sdp->sdp_next = old->sdp_next;
150 sdp->sdp_id = id;
151 old->sdp_next = sdp;
153 sdp->sdp_id = dtrace_probe_create(prov->sdtp_id,
154 modname, func, nname, SDT_AFRAMES, sdp);
159 sdp->sdp_hashnext =
161 sdt_probetab[SDT_ADDR2NDX(sdpd->sdpd_offset)] = sdp;
163 sdp->sdp_patchval = SDT_PATCHVAL;
164 sdp->sdp_patchpoint = (sdt_instr_t *)sdpd->sdpd_offset;
165 sdp->sdp_savedval = *sdp->sdp_patchpoint;
174 sdt_probe_t *sdp = parg, *old, *last, *hash;
177 struct modctl *ctl = sdp->sdp_ctl;
179 if (ctl != NULL && ctl->mod_loadcnt == sdp->sdp_loadcnt) {
180 if ((ctl->mod_loadcnt == sdp->sdp_loadcnt &&
187 while (sdp != NULL) {
188 old = sdp;
193 ndx = SDT_ADDR2NDX(sdp->sdp_patchpoint);
197 while (hash != sdp) {
204 last->sdp_hashnext = sdp->sdp_hashnext;
206 sdt_probetab[ndx] = sdp->sdp_hashnext;
209 kmem_free(sdp->sdp_name, sdp->sdp_namelen);
210 sdp = sdp->sdp_next;
220 sdt_probe_t *sdp = parg;
221 struct modctl *ctl = sdp->sdp_ctl;
234 sdp->sdp_name, ctl->mod_modname);
244 if (ctl->mod_loadcnt != sdp->sdp_loadcnt) {
248 sdp->sdp_name, ctl->mod_modname);
260 sdp->sdp_name, ctl->mod_modname);
271 sdp->sdp_name, ctl->mod_modname);
276 while (sdp != NULL) {
277 (void)ml_nofault_copy( (vm_offset_t)&sdp->sdp_patchval, (vm_offset_t)sdp->sdp_patchpoint,
278 sizeof(sdp->sdp_patchval));
279 sdp = sdp->sdp_next;
290 sdt_probe_t *sdp = parg;
292 struct modctl *ctl = sdp->sdp_ctl;
296 if (!ctl->mod_loaded || ctl->mod_loadcnt != sdp->sdp_loadcnt)
300 while (sdp != NULL) {
301 (void)ml_nofault_copy( (vm_offset_t)&sdp->sdp_savedval, (vm_offset_t)sdp->sdp_patchpoint,
302 sizeof(sdp->sdp_savedval));
303 sdp = sdp->sdp_next;