Lines Matching refs:frame
44 CrossCallFrame *frame;
97 cpus[CPU()].frame = NULL;
101 cpus[i].frame = NULL;
149 CrossCallFrame *frame = cpus[c].frame;
150 if (frame == NULL)
153 if (frame->done[CPU()] == 1)
156 frame->status[CPU()] = (frame->cb)(frame->arg);
157 frame->done[CPU()] = 1;
160 __sync_add_and_fetch(&frame->count, 1);
170 volatile CrossCallFrame frame;
172 // Setup frame
173 memset((void *)&frame, 0, sizeof(frame));
174 frame.cb = cb;
175 frame.arg = arg;
176 frame.count = 1;
180 cpus[CPU()].frame = (CrossCallFrame *)&frame;
187 frame.status[CPU()] = cb(arg);
188 frame.done[CPU()] = 1;
191 while (frame.count < lastCPU) {
194 // XXX: Should dump the crosscall frame
196 cpus[CPU()].frame = NULL;