Example #1
0
static void
addItem(int color, List_Links *list)
{
  Item *i;
  i = (Item *)malloc(sizeof(Item));
  assert(i);
  List_Init((List_Links *)i);
  i->color = color;
  List_Insert((List_Links *)i, LIST_ATREAR(list));
  assert(((Item *)List_Last(list))->color == color);
  return;
}
Example #2
0
/*
 * ----------------------------------------------------------------------------
 *
 * VmStackInit --
 *
 *      Allocate and initialize the stack stuff.
 *
 * Results:
 *      None.
 *
 * Side effects:
 *      Stack information is allocated and initialization.
 *
 * ----------------------------------------------------------------------------
 */
void
VmStackInit()
{
    Address	addr;
    int		i;

    Sync_LockInitDynamic(&stackLock, "Vm:stackLock");
    stackListElements =
	    (StackList *)Vm_BootAlloc(vmMaxProcesses * sizeof(StackList));
    List_Init(activeList);
    List_Init(freeList);
    for (i = 0, addr = vmStackBaseAddr;
	 addr < vmStackEndAddr;
	 i++, addr += mach_KernStackSize) {
	 stackListElements[i].startAddr = (Address) addr;
	 List_Insert((List_Links *) &stackListElements[i], 
		     LIST_ATREAR(freeList));
    }
    numStackPages = mach_KernStackSize >> vmPageShift;
}