Lines Matching refs:xc_mbox
49 kmutex_t xc_sys_mutex; /* protect xcall session and xc_mbox */
56 static struct xc_mbox {
62 } xc_mbox[NCPU];
457 ASSERT(CPU_IN_SET(xc_mbox[lcx].xc_cpuset, lcx));
458 ASSERT(CPU_IN_SET(xc_mbox[cix].xc_cpuset, cix));
459 ASSERT(xc_mbox[cix].xc_state == XC_WAIT);
464 * for the work to do; just set up the xc_mbox
469 while (xc_mbox[cix].xc_state != XC_WAIT) {
502 * xc_sys_mutex before we write to the xc_mbox, and
511 * write to the xc_mbox.
513 ASSERT(xc_mbox[cix].xc_state == XC_IDLE);
521 while (xc_mbox[cix].xc_state != XC_IDLE) {
595 cpuset_t mset = xc_mbox[lcx].xc_cpuset;
622 * grab xc_sys_mutex before writing to the xc_mbox
674 cpuset_t mset = xc_mbox[lcx].xc_cpuset;
701 * grab xc_sys_mutex before writing to the xc_mbox
744 xc_mbox[lcx].xc_cpuset = cpuset;
782 if (xc_mbox[pix].xc_state == XC_WAIT) {
827 ASSERT(CPUSET_ISEQUAL(xc_mbox[lcx].xc_cpuset, cpuset));
829 CPUSET_ZERO(xc_mbox[lcx].xc_cpuset);
859 xc_mbox[pix].xc_state = XC_EXIT;
878 if (xc_mbox[pix].xc_state == XC_IDLE) {
908 struct xc_mbox *xmp;
917 xmp = &xc_mbox[lcx];
948 struct xc_mbox *xmp;
966 * xc requests use xc_mbox's handshaking for their services
984 xmp = &xc_mbox[lcx];