Print this page
XXX AVX procfs


4703 pt_lwp_getregs(mdb_tgt_t *t, void *tap, mdb_tgt_tid_t tid, prgregset_t gregs)
4704 {
4705         if (t->t_pshandle != NULL) {
4706                 return (ptl_err(Plwp_getregs(t->t_pshandle,
4707                     (lwpid_t)tid, gregs)));
4708         }
4709         return (set_errno(EMDB_NOPROC));
4710 }
4711 
4712 /*ARGSUSED*/
4713 static int
4714 pt_lwp_setregs(mdb_tgt_t *t, void *tap, mdb_tgt_tid_t tid, prgregset_t gregs)
4715 {
4716         if (t->t_pshandle != NULL) {
4717                 return (ptl_err(Plwp_setregs(t->t_pshandle,
4718                     (lwpid_t)tid, gregs)));
4719         }
4720         return (set_errno(EMDB_NOPROC));
4721 }
4722 
4723 #ifdef  __sparc
4724 
4725 /*ARGSUSED*/
4726 static int
4727 pt_lwp_getxregs(mdb_tgt_t *t, void *tap, mdb_tgt_tid_t tid, prxregset_t *xregs)
4728 {
4729         if (t->t_pshandle != NULL) {
4730                 return (ptl_err(Plwp_getxregs(t->t_pshandle,
4731                     (lwpid_t)tid, xregs)));
4732         }
4733         return (set_errno(EMDB_NOPROC));
4734 }
4735 
4736 /*ARGSUSED*/
4737 static int
4738 pt_lwp_setxregs(mdb_tgt_t *t, void *tap, mdb_tgt_tid_t tid,
4739     const prxregset_t *xregs)
4740 {
4741         if (t->t_pshandle != NULL) {
4742                 return (ptl_err(Plwp_setxregs(t->t_pshandle,
4743                     (lwpid_t)tid, xregs)));
4744         }
4745         return (set_errno(EMDB_NOPROC));
4746 }
4747 
4748 #endif  /* __sparc */
4749 
4750 /*ARGSUSED*/
4751 static int
4752 pt_lwp_getfpregs(mdb_tgt_t *t, void *tap, mdb_tgt_tid_t tid,
4753     prfpregset_t *fpregs)
4754 {
4755         if (t->t_pshandle != NULL) {
4756                 return (ptl_err(Plwp_getfpregs(t->t_pshandle,
4757                     (lwpid_t)tid, fpregs)));
4758         }
4759         return (set_errno(EMDB_NOPROC));
4760 }
4761 
4762 /*ARGSUSED*/
4763 static int
4764 pt_lwp_setfpregs(mdb_tgt_t *t, void *tap, mdb_tgt_tid_t tid,
4765     const prfpregset_t *fpregs)
4766 {
4767         if (t->t_pshandle != NULL) {
4768                 return (ptl_err(Plwp_setfpregs(t->t_pshandle,
4769                     (lwpid_t)tid, fpregs)));
4770         }
4771         return (set_errno(EMDB_NOPROC));
4772 }
4773 
4774 static const pt_ptl_ops_t proc_lwp_ops = {
4775         (int (*)()) mdb_tgt_nop,
4776         (void (*)()) mdb_tgt_nop,
4777         pt_lwp_tid,
4778         pt_lwp_iter,
4779         pt_lwp_getregs,
4780         pt_lwp_setregs,
4781 #ifdef __sparc
4782         pt_lwp_getxregs,
4783         pt_lwp_setxregs,
4784 #endif
4785         pt_lwp_getfpregs,
4786         pt_lwp_setfpregs
4787 };
4788 
4789 static int
4790 pt_tdb_ctor(mdb_tgt_t *t)
4791 {
4792         pt_data_t *pt = t->t_data;
4793         td_thragent_t *tap;
4794         td_err_e err;
4795 
4796         if ((err = pt->p_tdb_ops->td_ta_new(t->t_pshandle, &tap)) != TD_OK)
4797                 return (set_errno(tdb_to_errno(err)));
4798 
4799         pt->p_ptl_hdl = tap;
4800         return (0);
4801 }
4802 
4803 static void
4804 pt_tdb_dtor(mdb_tgt_t *t, void *tap)




4703 pt_lwp_getregs(mdb_tgt_t *t, void *tap, mdb_tgt_tid_t tid, prgregset_t gregs)
4704 {
4705         if (t->t_pshandle != NULL) {
4706                 return (ptl_err(Plwp_getregs(t->t_pshandle,
4707                     (lwpid_t)tid, gregs)));
4708         }
4709         return (set_errno(EMDB_NOPROC));
4710 }
4711 
4712 /*ARGSUSED*/
4713 static int
4714 pt_lwp_setregs(mdb_tgt_t *t, void *tap, mdb_tgt_tid_t tid, prgregset_t gregs)
4715 {
4716         if (t->t_pshandle != NULL) {
4717                 return (ptl_err(Plwp_setregs(t->t_pshandle,
4718                     (lwpid_t)tid, gregs)));
4719         }
4720         return (set_errno(EMDB_NOPROC));
4721 }
4722 


4723 /*ARGSUSED*/
4724 static int
4725 pt_lwp_getxregs(mdb_tgt_t *t, void *tap, mdb_tgt_tid_t tid, prxregset_t *xregs)
4726 {
4727         if (t->t_pshandle != NULL) {
4728                 return (ptl_err(Plwp_getxregs(t->t_pshandle,
4729                     (lwpid_t)tid, xregs)));
4730         }
4731         return (set_errno(EMDB_NOPROC));
4732 }
4733 
4734 /*ARGSUSED*/
4735 static int
4736 pt_lwp_setxregs(mdb_tgt_t *t, void *tap, mdb_tgt_tid_t tid,
4737     const prxregset_t *xregs)
4738 {
4739         if (t->t_pshandle != NULL) {
4740                 return (ptl_err(Plwp_setxregs(t->t_pshandle,
4741                     (lwpid_t)tid, xregs)));
4742         }
4743         return (set_errno(EMDB_NOPROC));
4744 }
4745 


4746 /*ARGSUSED*/
4747 static int
4748 pt_lwp_getfpregs(mdb_tgt_t *t, void *tap, mdb_tgt_tid_t tid,
4749     prfpregset_t *fpregs)
4750 {
4751         if (t->t_pshandle != NULL) {
4752                 return (ptl_err(Plwp_getfpregs(t->t_pshandle,
4753                     (lwpid_t)tid, fpregs)));
4754         }
4755         return (set_errno(EMDB_NOPROC));
4756 }
4757 
4758 /*ARGSUSED*/
4759 static int
4760 pt_lwp_setfpregs(mdb_tgt_t *t, void *tap, mdb_tgt_tid_t tid,
4761     const prfpregset_t *fpregs)
4762 {
4763         if (t->t_pshandle != NULL) {
4764                 return (ptl_err(Plwp_setfpregs(t->t_pshandle,
4765                     (lwpid_t)tid, fpregs)));
4766         }
4767         return (set_errno(EMDB_NOPROC));
4768 }
4769 
4770 static const pt_ptl_ops_t proc_lwp_ops = {
4771         (int (*)()) mdb_tgt_nop,
4772         (void (*)()) mdb_tgt_nop,
4773         pt_lwp_tid,
4774         pt_lwp_iter,
4775         pt_lwp_getregs,
4776         pt_lwp_setregs,

4777         pt_lwp_getxregs,
4778         pt_lwp_setxregs,

4779         pt_lwp_getfpregs,
4780         pt_lwp_setfpregs
4781 };
4782 
4783 static int
4784 pt_tdb_ctor(mdb_tgt_t *t)
4785 {
4786         pt_data_t *pt = t->t_data;
4787         td_thragent_t *tap;
4788         td_err_e err;
4789 
4790         if ((err = pt->p_tdb_ops->td_ta_new(t->t_pshandle, &tap)) != TD_OK)
4791                 return (set_errno(tdb_to_errno(err)));
4792 
4793         pt->p_ptl_hdl = tap;
4794         return (0);
4795 }
4796 
4797 static void
4798 pt_tdb_dtor(mdb_tgt_t *t, void *tap)