Lines Matching refs:fbt

1008 	fbt_probe_t *fbt, *retfbt;  in fbt_provide_module()  local
1360 fbt = kmem_zalloc(sizeof (fbt_probe_t), KM_SLEEP); in fbt_provide_module()
1361 fbt->fbtp_name = name; in fbt_provide_module()
1362 fbt->fbtp_ctl = ctl; in fbt_provide_module()
1363 fbt->fbtp_id = dtrace_probe_create(fbt_id, modname, in fbt_provide_module()
1364 name, FBT_PROBENAME_ENTRY, 1, fbt); in fbt_provide_module()
1365 fbt->fbtp_patchval = FBT_BAA(instr, tramp.fbtt_va); in fbt_provide_module()
1367 if (!fbt_patch_entry(instr, fbt->fbtp_id, in fbt_provide_module()
1375 fbt->fbtp_patchpoint = in fbt_provide_module()
1378 fbt->fbtp_savedval = *instr; in fbt_provide_module()
1380 fbt->fbtp_loadcnt = ctl->mod_loadcnt; in fbt_provide_module()
1381 fbt->fbtp_primary = primary; in fbt_provide_module()
1382 fbt->fbtp_symndx = i; in fbt_provide_module()
1406 fbt = kmem_zalloc(sizeof (fbt_probe_t), KM_SLEEP); in fbt_provide_module()
1407 fbt->fbtp_name = name; in fbt_provide_module()
1408 fbt->fbtp_ctl = ctl; in fbt_provide_module()
1411 fbt->fbtp_id = dtrace_probe_create(fbt_id, modname, in fbt_provide_module()
1412 name, FBT_PROBENAME_RETURN, 1, fbt); in fbt_provide_module()
1414 retfbt->fbtp_next = fbt; in fbt_provide_module()
1415 fbt->fbtp_id = retfbt->fbtp_id; in fbt_provide_module()
1418 fbt->fbtp_return = 1; in fbt_provide_module()
1419 retfbt = fbt; in fbt_provide_module()
1421 if ((fbt->fbtp_patchval = (*patch)(instr, base, limit, offset, in fbt_provide_module()
1422 fbt->fbtp_id, &tramp, name)) == FBT_ILLTRAP) { in fbt_provide_module()
1428 fbt->fbtp_patchpoint = (uint32_t *)((uintptr_t)mp->textwin + in fbt_provide_module()
1430 fbt->fbtp_savedval = *instr; in fbt_provide_module()
1431 fbt->fbtp_loadcnt = ctl->mod_loadcnt; in fbt_provide_module()
1432 fbt->fbtp_primary = primary; in fbt_provide_module()
1433 fbt->fbtp_symndx = i; in fbt_provide_module()
1467 fbt_probe_t *fbt = parg, *next; in fbt_destroy() local
1468 struct modctl *ctl = fbt->fbtp_ctl; in fbt_destroy()
1471 if (ctl != NULL && ctl->mod_loadcnt == fbt->fbtp_loadcnt) { in fbt_destroy()
1472 if ((ctl->mod_loadcnt == fbt->fbtp_loadcnt && in fbt_destroy()
1473 ctl->mod_loaded) || fbt->fbtp_primary) { in fbt_destroy()
1479 next = fbt->fbtp_next; in fbt_destroy()
1480 kmem_free(fbt, sizeof (fbt_probe_t)); in fbt_destroy()
1481 fbt = next; in fbt_destroy()
1482 } while (fbt != NULL); in fbt_destroy()
1489 fbt_probe_t *fbt = parg, *f; in fbt_enable() local
1490 struct modctl *ctl = fbt->fbtp_ctl; in fbt_enable()
1494 for (f = fbt; f != NULL; f = f->fbtp_next) { in fbt_enable()
1503 fbt->fbtp_name, ctl->mod_modname); in fbt_enable()
1514 if (!fbt->fbtp_primary && !ctl->mod_loaded) { in fbt_enable()
1518 fbt->fbtp_name, ctl->mod_modname); in fbt_enable()
1529 if (ctl->mod_loadcnt != fbt->fbtp_loadcnt) { in fbt_enable()
1533 fbt->fbtp_name, ctl->mod_modname); in fbt_enable()
1539 for (; fbt != NULL; fbt = fbt->fbtp_next) in fbt_enable()
1540 *fbt->fbtp_patchpoint = fbt->fbtp_patchval; in fbt_enable()
1549 fbt_probe_t *fbt = parg, *f; in fbt_disable() local
1550 struct modctl *ctl = fbt->fbtp_ctl; in fbt_disable()
1555 for (f = fbt; f != NULL; f = f->fbtp_next) { in fbt_disable()
1560 if ((!fbt->fbtp_primary && !ctl->mod_loaded) || in fbt_disable()
1561 (ctl->mod_loadcnt != fbt->fbtp_loadcnt)) in fbt_disable()
1564 for (; fbt != NULL; fbt = fbt->fbtp_next) in fbt_disable()
1565 *fbt->fbtp_patchpoint = fbt->fbtp_savedval; in fbt_disable()
1572 fbt_probe_t *fbt = parg; in fbt_suspend() local
1573 struct modctl *ctl = fbt->fbtp_ctl; in fbt_suspend()
1575 if (!fbt->fbtp_primary && !ctl->mod_loaded) in fbt_suspend()
1578 if (ctl->mod_loadcnt != fbt->fbtp_loadcnt) in fbt_suspend()
1583 for (; fbt != NULL; fbt = fbt->fbtp_next) in fbt_suspend()
1584 *fbt->fbtp_patchpoint = fbt->fbtp_savedval; in fbt_suspend()
1591 fbt_probe_t *fbt = parg; in fbt_resume() local
1592 struct modctl *ctl = fbt->fbtp_ctl; in fbt_resume()
1594 if (!fbt->fbtp_primary && !ctl->mod_loaded) in fbt_resume()
1597 if (ctl->mod_loadcnt != fbt->fbtp_loadcnt) in fbt_resume()
1602 for (; fbt != NULL; fbt = fbt->fbtp_next) in fbt_resume()
1603 *fbt->fbtp_patchpoint = fbt->fbtp_patchval; in fbt_resume()
1610 fbt_probe_t *fbt = parg; in fbt_getargdesc() local
1611 struct modctl *ctl = fbt->fbtp_ctl; in fbt_getargdesc()
1620 if (!ctl->mod_loaded || (ctl->mod_loadcnt != fbt->fbtp_loadcnt)) in fbt_getargdesc()
1623 if (fbt->fbtp_return && desc->dtargd_ndx == 0) { in fbt_getargdesc()
1668 if (ctf_func_info(fp, fbt->fbtp_symndx, &f) == CTF_ERR) in fbt_getargdesc()
1671 if (fbt->fbtp_return) { in fbt_getargdesc()
1681 if (ctf_func_args(fp, fbt->fbtp_symndx, argc, argv) == CTF_ERR) in fbt_getargdesc()