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