Lines Matching defs:hp
82 static void sbd_exec_op(sbd_handle_t *hp);
83 static void sbd_dev_configure(sbd_handle_t *hp);
84 static int sbd_dev_release(sbd_handle_t *hp);
85 static int sbd_dev_unconfigure(sbd_handle_t *hp);
86 static void sbd_attach_cpu(sbd_handle_t *hp, sbderror_t *ep,
88 static void sbd_detach_cpu(sbd_handle_t *hp, sbderror_t *ep,
90 static int sbd_detach_mem(sbd_handle_t *hp, sbderror_t *ep, int unit);
91 static void sbd_cancel(sbd_handle_t *hp);
320 static void sbd_release_handle(sbd_handle_t *hp);
321 static int sbd_pre_op(sbd_handle_t *hp);
322 static void sbd_post_op(sbd_handle_t *hp);
323 static int sbd_probe_board(sbd_handle_t *hp);
324 static int sbd_deprobe_board(sbd_handle_t *hp);
325 static void sbd_connect(sbd_handle_t *hp);
326 static void sbd_assign_board(sbd_handle_t *hp);
327 static void sbd_unassign_board(sbd_handle_t *hp);
328 static void sbd_poweron_board(sbd_handle_t *hp);
329 static void sbd_poweroff_board(sbd_handle_t *hp);
330 static void sbd_test_board(sbd_handle_t *hp);
332 static int sbd_disconnect(sbd_handle_t *hp);
333 static sbd_devlist_t *sbd_get_attach_devlist(sbd_handle_t *hp,
335 static int sbd_pre_attach_devlist(sbd_handle_t *hp,
337 static int sbd_post_attach_devlist(sbd_handle_t *hp,
339 static sbd_devlist_t *sbd_get_release_devlist(sbd_handle_t *hp,
341 static int sbd_pre_release_devlist(sbd_handle_t *hp,
343 static int sbd_post_release_devlist(sbd_handle_t *hp,
345 static void sbd_release_done(sbd_handle_t *hp,
348 static sbd_devlist_t *sbd_get_detach_devlist(sbd_handle_t *hp,
350 static int sbd_pre_detach_devlist(sbd_handle_t *hp,
352 static int sbd_post_detach_devlist(sbd_handle_t *hp,
354 static void sbd_status(sbd_handle_t *hp);
355 static void sbd_get_ncm(sbd_handle_t *hp);
362 static int sbd_copyin_ioarg(sbd_handle_t *hp, int mode, int cmd,
371 static sbd_devlist_t *sbd_get_devlist(sbd_handle_t *hp,
376 static int sbd_mem_status(sbd_handle_t *hp, sbd_devset_t devset,
491 sbd_handle_t *hp;
531 hp = sbd_get_handle(dev, softsp, arg, &init_arg);
535 switch (hp->h_cmd) {
541 sbd_release_handle(hp);
546 switch (hp->h_cmd) {
555 mutex_enter(&SBDH2BD(hp->h_sbd)->sb_mutex);
569 rv = DEVSET_IN_SET(HD2MACHHD(hp)->sh_devset,
581 if (sbd_pre_op(hp) == 0) {
582 sbd_exec_op(hp);
583 sbd_post_op(hp);
586 rv = SBD_GET_ERRNO(SBD_HD2ERR(hp));
590 switch (hp->h_cmd) {
596 mutex_exit(&SBDH2BD(hp->h_sbd)->sb_mutex);
600 sbd_release_handle(hp);
690 sbd_exec_op(sbd_handle_t *hp)
692 sbd_board_t *sbp = SBDH2BD(hp->h_sbd);
695 switch (hp->h_cmd) {
699 if (sbd_probe_board(hp))
702 sbd_connect(hp);
706 sbd_dev_configure(hp);
710 if (((dev_canceled = sbd_dev_release(hp)) == 0) &&
711 (SBD_GET_ERRNO(SBD_HD2ERR(hp)) == 0 &&
712 SBD_GET_ERR(SBD_HD2ERR(hp)) == 0))
713 dev_canceled = sbd_dev_unconfigure(hp);
716 sbd_cancel(hp);
721 if (sbd_disconnect(hp) == 0)
722 (void) sbd_deprobe_board(hp);
727 sbd_status(hp);
731 sbd_get_ncm(hp);
735 sbd_assign_board(hp);
739 sbd_unassign_board(hp);
743 sbd_poweroff_board(hp);
747 sbd_poweron_board(hp);
751 sbd_test_board(hp);
758 sbderror_t *ep = SBD_HD2ERR(hp);
763 iap->h_dev = hp->h_dev;
764 iap->h_cmd = hp->h_cmd;
765 iap->h_iap = (intptr_t)hp->h_iap;
766 iap->h_mode = hp->h_mode;
768 hdp = sbd_get_sbdp_handle(sbp, hp);
771 SBD_GET_PERR(hdp->h_err, SBD_HD2ERR(hp));
779 SBD_SET_ERRNO(SBD_HD2ERR(hp), ENOTTY);
782 f, hp->h_cmd);
787 if (SBD_GET_ERR(SBD_HD2ERR(hp)))
788 PR_BYP("XXX e_code=%d", SBD_GET_ERR(SBD_HD2ERR(hp)));
789 if (SBD_GET_ERRNO(SBD_HD2ERR(hp)))
790 PR_BYP("XXX errno=%d", SBD_GET_ERRNO(SBD_HD2ERR(hp)));
794 sbd_get_devtype(sbd_handle_t *hp, dev_info_t *dip)
796 sbd_board_t *sbp = hp ? SBDH2BD(hp->h_sbd) : NULL;
849 sbd_dev_configure(sbd_handle_t *hp)
857 sbd_board_t *sbp = SBDH2BD(hp->h_sbd);
861 hdp = sbd_get_sbdp_handle(sbp, hp);
862 while ((devlist = sbd_get_attach_devlist(hp, &devnum, pass)) != NULL) {
865 err = sbd_pre_attach_devlist(hp, devlist, devnum);
880 nodetype = sbd_get_devtype(hp, dip);
884 SBD_GET_PERR(hdp->h_err, SBD_HD2ERR(hp));
890 sbd_attach_mem(hp, ep);
900 sbd_attach_cpu(hp, ep, dip, unit);
904 sbd_attach_io(hp, ep, dip, unit);
912 if (sbd_set_err_in_hdl(hp, ep) == 0)
916 err = sbd_post_attach_devlist(hp, devlist, devnum);
926 sbd_dev_release(sbd_handle_t *hp)
931 sbd_board_t *sbp = SBDH2BD(hp->h_sbd);
939 hdp = sbd_get_sbdp_handle(sbp, hp);
943 sbd_get_release_devlist(hp, &devnum, pass)) != NULL) {
945 err = sbd_pre_release_devlist(hp, devlist, devnum);
957 nodetype = sbd_get_devtype(hp, dip);
961 SBD_GET_PERR(hdp->h_err, SBD_HD2ERR(hp));
966 sbd_release_mem(hp, dip, unit)) {
971 sbd_release_done(hp, nodetype, dip);
974 err = sbd_post_release_devlist(hp, devlist, devnum);
995 sbd_dev_unconfigure(sbd_handle_t *hp)
1003 sbd_board_t *sbp = SBDH2BD(hp->h_sbd);
1010 hdp = sbd_get_sbdp_handle(sbp, hp);
1012 while ((devlist = sbd_get_detach_devlist(hp, &devnum, pass)) != NULL) {
1015 err = sbd_pre_detach_devlist(hp, devlist, devnum);
1021 nodetype = sbd_get_devtype(hp, devlist->dv_dip);
1024 (void) sbd_post_detach_devlist(hp, devlist, devnum);
1035 nodetype = sbd_get_devtype(hp, dip);
1039 SBD_GET_PERR(hdp->h_err, SBD_HD2ERR(hp));
1045 dev_canceled = sbd_detach_mem(hp, ep, unit);
1049 sbd_detach_cpu(hp, ep, dip, unit);
1053 sbd_detach_io(hp, ep, dip, unit);
1061 if (sbd_set_err_in_hdl(hp, ep) == 0) {
1067 err = sbd_post_detach_devlist(hp, devlist, devnum);
1107 sbd_attach_cpu(sbd_handle_t *hp, sbderror_t *ep, dev_info_t *dip, int unit)
1112 sbd_board_t *sbp = SBDH2BD(hp->h_sbd);
1127 hdp = sbd_get_sbdp_handle(sbp, hp);
1186 sbd_detach_cpu(sbd_handle_t *hp, sbderror_t *ep, dev_info_t *dip, int unit)
1191 sbd_board_t *sbp = SBDH2BD(hp->h_sbd);
1198 hdp = sbd_get_sbdp_handle(sbp, hp);
1228 sbd_detach_mem(sbd_handle_t *hp, sbderror_t *ep, int unit)
1231 sbd_board_t *sbp = SBDH2BD(hp->h_sbd);
1237 if (sbd_detach_memory(hp, ep, mp, unit)) {
1441 sbd_handle_t *hp;
1457 hp = MACHHD2HD(shp);
1461 hp->h_err = ep;
1462 hp->h_sbd = (void *) sbp;
1463 hp->h_dev = iap->dev;
1464 hp->h_cmd = iap->cmd;
1465 hp->h_mode = iap->mode;
1473 return (hp);
1485 sbd_set_err_in_hdl(sbd_handle_t *hp, sbderror_t *ep)
1487 sbderror_t *hep = SBD_HD2ERR(hp);
1507 sbd_release_handle(sbd_handle_t *hp)
1513 if (hp == NULL)
1516 sbp = SBDH2BD(hp->h_sbd);
1518 shp = HD2MACHHD(hp);
1538 if (hp->h_opts.copts != NULL) {
1539 FREESTRUCT(hp->h_opts.copts, char, hp->h_opts.size);
1546 sbd_get_sbdp_handle(sbd_board_t *sbp, sbd_handle_t *hp)
1560 if (hp == NULL) {
1564 hdp->h_flags = SBD_2_SBDP_FLAGS(hp->h_flags);
1565 hdp->h_opts = &hp->h_opts;
1590 sbd_copyin_ioarg(sbd_handle_t *hp, int mode, int cmd, sbd_cmd_t *cmdp,
1651 if ((cmd != SBD_CMD_STATUS) && ((hp->h_opts.size = cmdp->cmd_cm.c_len)
1653 hp->h_opts.size += 1; /* For null termination of string. */
1654 hp->h_opts.copts = GETSTRUCT(char, hp->h_opts.size);
1656 (void *)hp->h_opts.copts,
1657 cmdp->cmd_cm.c_len, hp->h_mode) != 0) {
1838 sbd_pre_op(sbd_handle_t *hp)
1843 sbd_board_t *sbp = SBDH2BD(hp->h_sbd);
1844 sbd_priv_handle_t *shp = HD2MACHHD(hp);
1845 sbderror_t *ep = SBD_HD2ERR(hp);
1849 cmd = hp->h_cmd;
1863 if (!(hp->h_mode & FWRITE)) {
1872 hp->h_iap = GETSTRUCT(sbd_ioctl_arg_t, 1);
1873 rv = sbd_copyin_ioarg(hp, hp->h_mode, cmd,
1874 (sbd_cmd_t *)hp->h_iap, shp->sh_arg);
1877 FREESTRUCT(hp->h_iap, sbd_ioctl_arg_t, 1);
1878 hp->h_iap = NULL;
1882 cmdp = (sbd_cmd_t *)hp->h_iap;
1896 FREESTRUCT(hp->h_iap, sbd_ioctl_arg_t, 1);
1897 hp->h_iap = NULL;
1905 hp->h_flags |= SBD_FLAG_DEVI_FORCE;
1908 hp->h_flags |= SBD_IOCTL_FLAG_FORCE;
1955 if (serr && !rv && hp->h_iap) {
1966 SBD_SET_IOCTL_ERR(&hp->h_iap->i_err,
1969 (void) sbd_copyout_errs(hp->h_mode, hp->h_iap, shp->sh_arg);
1970 FREESTRUCT(hp->h_iap, sbd_ioctl_arg_t, 1);
1971 hp->h_iap = NULL;
1979 sbd_post_op(sbd_handle_t *hp)
1982 sbderror_t *ep = SBD_HD2ERR(hp);
1983 sbd_priv_handle_t *shp = HD2MACHHD(hp);
1984 sbd_board_t *sbp = SBDH2BD(hp->h_sbd);
1986 cmd = hp->h_cmd;
2008 SBD_SET_IOCTL_ERR(&hp->h_iap->i_err,
2012 (void) sbd_copyout_errs(hp->h_mode, hp->h_iap,
2016 if (hp->h_iap != NULL) {
2017 FREESTRUCT(hp->h_iap, sbd_ioctl_arg_t, 1);
2018 hp->h_iap = NULL;
2024 sbd_probe_board(sbd_handle_t *hp)
2031 sbp = SBDH2BD(hp->h_sbd);
2037 hdp = sbd_get_sbdp_handle(sbp, hp);
2040 sbderror_t *ep = SBD_HD2ERR(hp);
2053 SBD_INJECT_ERR(SBD_PROBE_BOARD_PSEUDO_ERR, hp->h_err, EIO,
2062 sbd_deprobe_board(sbd_handle_t *hp)
2071 sbp = SBDH2BD(hp->h_sbd);
2073 hdp = sbd_get_sbdp_handle(sbp, hp);
2076 sbderror_t *ep = SBD_HD2ERR(hp);
2085 SBD_INJECT_ERR(SBD_DEPROBE_BOARD_PSEUDO_ERR, hp->h_err, EIO,
2123 sbd_handle_t *hp;
2133 hp = MACHBD2HD(sbp);
2135 hdp = sbd_get_sbdp_handle(sbp, hp);
2300 sbd_handle_t *hp = MACHBD2HD(sbp);
2310 hdp = sbd_get_sbdp_handle(sbp, hp);
2512 sbd_handle_t *hp = MACHBD2HD(sbp);
2527 hdp = sbd_get_sbdp_handle(sbp, hp);
2563 sbd_connect(sbd_handle_t *hp)
2569 sbp = SBDH2BD(hp->h_sbd);
2573 ep = HD2MACHERR(hp);
2598 sbd_init_mem_unit(sbp, i, SBD_HD2ERR(hp));
2611 SBD_INJECT_ERR(SBD_CONNECT_BOARD_PSEUDO_ERR, hp->h_err, EIO,
2617 sbd_disconnect(sbd_handle_t *hp)
2626 sbp = SBDH2BD(hp->h_sbd);
2632 devset = HD2MACHHD(hp)->sh_devset & SBD_DEVS_PRESENT(sbp) &
2643 if (sbd_disconnect_mem(hp, i) == 0) {
2652 if (sbd_disconnect_cpu(hp, i) == 0) {
2661 if (sbd_disconnect_io(hp, i) == 0) {
2678 SBD_INJECT_ERR(SBD_DISCONNECT_BOARD_PSEUDO_ERR, hp->h_err, EIO,
2689 sbd_test_board(sbd_handle_t *hp)
2694 sbp = SBDH2BD(hp->h_sbd);
2699 hdp = sbd_get_sbdp_handle(sbp, hp);
2701 if (sbdp_test_board(hdp, &hp->h_opts) != 0) {
2702 sbderror_t *ep = SBD_HD2ERR(hp);
2707 SBD_INJECT_ERR(SBD_TEST_BOARD_PSEUDO_ERR, hp->h_err, EIO,
2714 sbd_assign_board(sbd_handle_t *hp)
2719 sbp = SBDH2BD(hp->h_sbd);
2723 hdp = sbd_get_sbdp_handle(sbp, hp);
2726 sbderror_t *ep = SBD_HD2ERR(hp);
2731 SBD_INJECT_ERR(SBD_ASSIGN_BOARD_PSEUDO_ERR, hp->h_err, EIO,
2738 sbd_unassign_board(sbd_handle_t *hp)
2743 sbp = SBDH2BD(hp->h_sbd);
2747 hdp = sbd_get_sbdp_handle(sbp, hp);
2750 sbderror_t *ep = SBD_HD2ERR(hp);
2755 SBD_INJECT_ERR(SBD_ASSIGN_BOARD_PSEUDO_ERR, hp->h_err, EIO,
2762 sbd_poweron_board(sbd_handle_t *hp)
2767 sbp = SBDH2BD(hp->h_sbd);
2771 hdp = sbd_get_sbdp_handle(sbp, hp);
2774 sbderror_t *ep = SBD_HD2ERR(hp);
2779 SBD_INJECT_ERR(SBD_POWERON_BOARD_PSEUDO_ERR, hp->h_err, EIO,
2786 sbd_poweroff_board(sbd_handle_t *hp)
2791 sbp = SBDH2BD(hp->h_sbd);
2795 hdp = sbd_get_sbdp_handle(sbp, hp);
2798 sbderror_t *ep = SBD_HD2ERR(hp);
2803 SBD_INJECT_ERR(SBD_POWEROFF_BOARD_PSEUDO_ERR, hp->h_err, EIO,
2816 sbd_get_devlist(sbd_handle_t *hp, sbd_board_t *sbp, sbd_comp_type_t nodetype,
2839 hdp = sbd_get_sbdp_handle(sbp, hp);
2844 sbderror_t *ep = SBD_HD2ERR(hp);
2907 sbd_get_attach_devlist(sbd_handle_t *hp, int32_t *devnump, int32_t pass)
2918 sbp = SBDH2BD(hp->h_sbd);
2919 devset = HD2MACHHD(hp)->sh_devset;
2944 attach_devlist = sbd_get_devlist(hp, sbp, SBD_COMP_CPU,
2965 attach_devlist = sbd_get_devlist(hp, sbp, SBD_COMP_MEM,
2988 attach_devlist = sbd_get_devlist(hp, sbp, SBD_COMP_IO,
3008 sbd_pre_attach_devlist(sbd_handle_t *hp, sbd_devlist_t *devlist,
3019 nodetype = sbd_get_devtype(hp, devlist->dv_dip);
3028 rv = sbd_pre_attach_mem(hp, devlist, devnum);
3033 rv = sbd_pre_attach_cpu(hp, devlist, devnum);
3070 sbd_post_attach_devlist(sbd_handle_t *hp, sbd_devlist_t *devlist,
3076 sbd_board_t *sbp = SBDH2BD(hp->h_sbd);
3080 sbp = SBDH2BD(hp->h_sbd);
3081 nodetype = sbd_get_devtype(hp, devlist->dv_dip);
3086 hdp = sbd_get_sbdp_handle(sbp, hp);
3095 rv = sbd_post_attach_cpu(hp, devlist, devnum);
3102 rv = sbd_post_attach_mem(hp, devlist, devnum);
3122 if (sbd_set_err_in_hdl(hp, ep) == 0)
3126 nodetype = sbd_get_devtype(hp, dip);
3150 f, SBD_GET_ERRNO(SBD_HD2ERR(hp)),
3151 SBD_GET_ERR(HD2MACHERR(hp)));
3222 sbd_get_release_devlist(sbd_handle_t *hp, int32_t *devnump, int32_t pass)
3233 sbp = SBDH2BD(hp->h_sbd);
3234 devset = HD2MACHHD(hp)->sh_devset;
3259 release_devlist = sbd_get_devlist(hp, sbp,
3282 release_devlist = sbd_get_devlist(hp, sbp,
3306 release_devlist = sbd_get_devlist(hp, sbp,
3327 sbd_pre_release_devlist(sbd_handle_t *hp, sbd_devlist_t *devlist,
3334 nodetype = sbd_get_devtype(hp, devlist->dv_dip);
3342 sbd_board_t *sbp = SBDH2BD(hp->h_sbd);
3344 sbd_priv_handle_t *shp = HD2MACHHD(hp);
3367 sbderror_t *ep = SBD_HD2ERR(hp);
3372 rv = sbd_pre_release_cpu(hp, devlist, devnum);
3380 rv = sbd_pre_release_mem(hp, devlist, devnum);
3386 rv = sbd_pre_release_io(hp, devlist, devnum);
3419 sbd_post_release_devlist(sbd_handle_t *hp, sbd_devlist_t *devlist,
3424 sbd_board_t *sbp = SBDH2BD(hp->h_sbd);
3429 nodetype = sbd_get_devtype(hp, devlist->dv_dip);
3454 if (sbd_check_io_refs(hp, devlist, devnum) > 0) {
3465 SBD_SET_ERR(HD2MACHERR(hp), ESBD_INVAL);
3469 hdp = sbd_get_sbdp_handle(sbp, hp);
3478 if (sbd_set_err_in_hdl(hp, ep) == 0) {
3484 SBD_GET_PERR(hdp->h_err, SBD_HD2ERR(hp));
3492 if (SBD_GET_ERRNO(SBD_HD2ERR(hp))) {
3494 f, SBD_GET_ERRNO(SBD_HD2ERR(hp)),
3495 SBD_GET_ERR(SBD_HD2ERR(hp)));
3511 return (SBD_GET_ERRNO(SBD_HD2ERR(hp)) ? -1 : 0);
3522 sbd_release_done(sbd_handle_t *hp, sbd_comp_type_t nodetype, dev_info_t *dip)
3525 sbd_board_t *sbp = SBDH2BD(hp->h_sbd);
3532 hdp = sbd_get_sbdp_handle(sbp, hp);
3533 ep = SBD_HD2ERR(hp);
3552 sbd_release_mem_done((void *)hp, unit);
3571 sbd_get_detach_devlist(sbd_handle_t *hp, int32_t *devnump, int32_t pass)
3582 sbp = SBDH2BD(hp->h_sbd);
3583 devset = HD2MACHHD(hp)->sh_devset;
3608 detach_devlist = sbd_get_devlist(hp, sbp,
3630 detach_devlist = sbd_get_devlist(hp, sbp,
3653 detach_devlist = sbd_get_devlist(hp, sbp,
3674 sbd_pre_detach_devlist(sbd_handle_t *hp, sbd_devlist_t *devlist,
3681 nodetype = sbd_get_devtype(hp, devlist->dv_dip);
3688 rv = sbd_pre_detach_cpu(hp, devlist, devnum);
3692 rv = sbd_pre_detach_mem(hp, devlist, devnum);
3696 rv = sbd_pre_detach_io(hp, devlist, devnum);
3712 sbd_post_detach_devlist(sbd_handle_t *hp, sbd_devlist_t *devlist,
3722 sbp = SBDH2BD(hp->h_sbd);
3723 nodetype = sbd_get_devtype(hp, devlist->dv_dip);
3725 hdp = sbd_get_sbdp_handle(sbp, hp);
3737 rv = sbd_post_detach_cpu(hp, devlist, devnum);
3742 rv = sbd_post_detach_mem(hp, devlist, devnum);
3747 rv = sbd_post_detach_io(hp, devlist, devnum);
3763 if (sbd_set_err_in_hdl(hp, ep) == 0)
3769 if (hp->h_flags & SBD_IOCTL_FLAG_FORCE)
3776 nodetype = sbd_get_devtype(hp, dip);
3816 f, SBD_GET_ERRNO(SBD_HD2ERR(hp)),
3817 SBD_GET_ERR(HD2MACHERR(hp)));
3833 return (SBD_GET_ERRNO(SBD_HD2ERR(hp)) ? -1 : 0);
3850 sbd_handle_t *hp = MACHBD2HD(sbp);
3853 hdp = sbd_get_sbdp_handle(sbp, hp);
3945 sbd_get_memhandle(sbd_handle_t *hp, dev_info_t *dip, memhandle_t *mhp)
3947 sbd_board_t *sbp = SBDH2BD(hp->h_sbd);
3955 hdp = sbd_get_sbdp_handle(sbp, hp);
3959 SBD_GET_PERR(hdp->h_err, SBD_HD2ERR(hp));
3971 SBD_SET_ERR(SBD_HD2ERR(hp), ESBD_INTERNAL);
3972 SBD_SET_ERRSTR(SBD_HD2ERR(hp), sbp->sb_mempath[unit]);
3980 sbd_cpu_cnt(sbd_handle_t *hp, sbd_devset_t devset)
3985 sbp = SBDH2BD(hp->h_sbd);
4020 sbd_mem_cnt(sbd_handle_t *hp, sbd_devset_t devset)
4023 sbd_board_t *sbp = SBDH2BD(hp->h_sbd);
4053 sbd_mem_status(sbd_handle_t *hp, sbd_devset_t devset, sbd_dev_stat_t *dsp)
4065 sbp = SBDH2BD(hp->h_sbd);
4197 sbd_cancel(sbd_handle_t *hp)
4201 sbd_board_t *sbp = SBDH2BD(hp->h_sbd);
4211 devset = HD2MACHHD(hp)->sh_devset & SBD_DEVS_UNREFERENCED(sbp);
4220 if (sbd_cancel_cpu(hp, i) != SBD_CPUERR_FATAL) {
4239 if ((rv = sbd_cancel_mem(hp, i)) == 0) {
4271 sbd_get_ncm(sbd_handle_t *hp)
4274 sbd_priv_handle_t *shp = HD2MACHHD(hp);
4275 sbd_cmd_t *cmdp = (sbd_cmd_t *)hp->h_iap;
4281 cmdp->cmd_getncm.g_ncm = sbd_cpu_cnt(hp, devset)
4282 + sbd_io_cnt(hp, devset) + sbd_mem_cnt(hp, devset);
4284 error = sbd_copyout_ioarg(hp->h_mode, hp->h_cmd, cmdp,
4288 SBD_SET_ERRNO(SBD_HD2ERR(hp), error);
4292 sbd_status(sbd_handle_t *hp)
4295 sbd_priv_handle_t *shp = HD2MACHHD(hp);
4297 sbd_board_t *sbp = SBDH2BD(hp->h_sbd);
4299 sbd_cmd_t *cmdp = (sbd_cmd_t *)hp->h_iap;
4310 mode = hp->h_mode;
4327 ncm = sbd_cpu_cnt(hp, devset) + sbd_io_cnt(hp, devset) +
4328 sbd_mem_cnt(hp, devset);
4341 ncm = sbd_cpu_cnt(hp, devset) + sbd_io_cnt(hp, devset) +
4342 sbd_mem_cnt(hp, devset);
4346 SBD_SET_ERRNO(SBD_HD2ERR(hp), EINVAL);
4383 SBD_SET_ERRNO(SBD_HD2ERR(hp), EINVAL);
4422 hdp = sbd_get_sbdp_handle(sbp, hp);
4425 SBD_GET_PERR(hdp->h_err, SBD_HD2ERR(hp));
4453 if ((nstat = sbd_cpu_flags(hp, devset, devstatp)) > 0) {
4459 if ((nstat = sbd_mem_status(hp, devset, devstatp)) > 0) {
4465 if ((nstat = sbd_io_status(hp, devset, devstatp)) > 0) {
4478 SBD_SET_ERRNO(SBD_HD2ERR(hp), EINVAL);
4498 SBD_SET_ERRNO(SBD_HD2ERR(hp), EINVAL);
4623 SBD_SET_ERRNO(SBD_HD2ERR(hp), EFAULT);
4632 SBD_SET_ERRNO(SBD_HD2ERR(hp), EFAULT);
4656 sbd_handle_t *hp = MACHBD2HD(sbp);
4671 hdp = sbd_get_sbdp_handle(sbp, hp);