xc_mbox
ASSERT(CPU_IN_SET(xc_mbox[lcx].xc_cpuset, lcx));
ASSERT(CPU_IN_SET(xc_mbox[cix].xc_cpuset, cix));
ASSERT(xc_mbox[cix].xc_state == XC_WAIT);
while (xc_mbox[cix].xc_state != XC_WAIT) {
ASSERT(xc_mbox[cix].xc_state == XC_IDLE);
while (xc_mbox[cix].xc_state != XC_IDLE) {
cpuset_t mset = xc_mbox[lcx].xc_cpuset;
} xc_mbox[NCPU];
cpuset_t mset = xc_mbox[lcx].xc_cpuset;
xc_mbox[lcx].xc_cpuset = cpuset;
if (xc_mbox[pix].xc_state == XC_WAIT) {
ASSERT(CPUSET_ISEQUAL(xc_mbox[lcx].xc_cpuset, cpuset));
CPUSET_ZERO(xc_mbox[lcx].xc_cpuset);
xc_mbox[pix].xc_state = XC_EXIT;
if (xc_mbox[pix].xc_state == XC_IDLE) {
struct xc_mbox *xmp;
xmp = &xc_mbox[lcx];
struct xc_mbox *xmp;
xmp = &xc_mbox[lcx];
xc_mbox[cpuid].xc_func = func; \
xc_mbox[cpuid].xc_arg1 = arg1; \
xc_mbox[cpuid].xc_arg2 = arg2; \
xc_mbox[cpuid].xc_state = XC_DOIT; \
ASSERT(CPU_IN_SET(xc_mbox[lcx].xc_cpuset, pix));\
ASSERT(xc_mbox[pix].xc_state == state); \
ASSERT(xc_mbox[pix].xc_state == state); \
ASSERT(xc_mbox[pix].xc_state == \
xc_mbox[pix].xc_state = XC_ENTER; \
if (xc_mbox[pix].xc_state == state) { \