Lines Matching refs:CTable
79 vmmCntrlTable *CTable;
87 CTable = act->machine.vmmControl; /* Make the address a bit more convienient */
88 CEntry = &CTable->vmmc[index - 1]; /* Point to the entry */
228 vmmCntrlTable *CTable = act->machine.vmmControl; /* Get VMM control table */
232 if (!CTable) { /* Caller guarantees that this will work */
311 vmmCntrlTable *CTable;
334 CTable = act->machine.vmmControl; /* Get the control table address */
335 CTable->vmmGFlags = CTable->vmmGFlags & ~vmmLastAdSp; /* Make sure we don't try to automap into this */
488 vmmCntrlTable *CTable;
557 CTable = act->machine.vmmControl; /* Get the control table address */
558 if ((unsigned int)CTable == 1) { /* If we are marked, try to allocate a new table, otherwise we have one */
559 if(!(CTable = (vmmCntrlTable *)kalloc(sizeof(vmmCntrlTable)))) { /* Get a fresh emulation control table */
566 bzero((void *)CTable, sizeof(vmmCntrlTable)); /* Clean it up */
567 act->machine.vmmControl = CTable; /* Initialize the table anchor */
571 if(!(CTable->vmmc[cvi].vmmFlags & vmmInUse)) break; /* Bail if we find an unused slot */
619 CTable->vmmc[cvi].vmmFlags = vmmInUse; /* Mark the slot in use and make sure the rest are clear */
620 CTable->vmmc[cvi].vmmContextKern = vks; /* Remember the kernel address of comm area */
621 CTable->vmmc[cvi].vmmContextPhys = conphys; /* Remember the state page physical addr */
622 CTable->vmmc[cvi].vmmContextUser = vmm_user_state; /* Remember user address of comm area */
624 CTable->vmmc[cvi].vmmFacCtx.FPUsave = NULL; /* Clear facility context control */
625 CTable->vmmc[cvi].vmmFacCtx.FPUlevel = NULL; /* Clear facility context control */
626 CTable->vmmc[cvi].vmmFacCtx.FPUcpu = 0; /* Clear facility context control */
627 CTable->vmmc[cvi].vmmFacCtx.VMXsave = NULL; /* Clear facility context control */
628 CTable->vmmc[cvi].vmmFacCtx.VMXlevel = NULL; /* Clear facility context control */
629 CTable->vmmc[cvi].vmmFacCtx.VMXcpu = 0; /* Clear facility context control */
630 CTable->vmmc[cvi].vmmFacCtx.facAct = act; /* Point back to the activation */
637 CTable->vmmAdsp[cvi] = gpmap; /* Remember guest pmap for new context */
655 if(!gact) kfree(CTable, sizeof(vmmCntrlTable)); /* Toss the table if we just allocated it */
689 vmmCntrlTable *CTable;
733 CTable = act->machine.vmmControl; /* Get the control table address */
734 CTable->vmmGFlags = CTable->vmmGFlags & ~vmmLastAdSp; /* Make sure we don't try to automap into this */
749 if(CTable->vmmc[cvi].vmmFlags & vmmInUse) { /* Return if there are still some in use */
776 kfree(CTable, sizeof(vmmCntrlTable)); /* Toss the table because to tossed the last context */
894 vmmCntrlTable *CTable;
914 CTable = act->machine.vmmControl;
916 if(CTable->vmmc[cvi - 1].vmmFlags & vmmInUse) { /* Is this one in use */
1803 vmmCntrlTable *CTable;
1816 CTable = act->machine.vmmControl; /* Make this easier */
1821 if(!(CTable->vmmc[cvi].vmmFlags & vmmInUse)) continue; /* Do not check if the entry is empty */
1823 if(CTable->vmmc[cvi].vmmTimer == 0) { /* Is the timer reset? */
1824 CTable->vmmc[cvi].vmmFlags &= ~vmmTimerPop; /* Clear timer popped */
1825 CTable->vmmc[cvi].vmmContextKern->vmmStat &= ~vmmTimerPop; /* Clear timer popped */
1829 if (CTable->vmmc[cvi].vmmTimer <= now) {
1830 CTable->vmmc[cvi].vmmFlags |= vmmTimerPop; /* Set timer popped here */
1831 CTable->vmmc[cvi].vmmContextKern->vmmStat |= vmmTimerPop; /* Set timer popped here */
1832 if((unsigned int)&CTable->vmmc[cvi] == (unsigned int)act->machine.vmmCEntry) { /* Is this the running VM? */
1843 CTable->vmmc[cvi].vmmFlags &= ~vmmTimerPop; /* Set timer not popped here */
1844 CTable->vmmc[cvi].vmmContextKern->vmmStat &= ~vmmTimerPop; /* Set timer not popped here */
1849 if (CTable->vmmc[cvi].vmmTimer < soonest)
1850 soonest = CTable->vmmc[cvi].vmmTimer;
1887 vmmCntrlTable *CTable;
1923 CTable = act->machine.vmmControl; /* Get the pointer to the table */
1925 if(!((unsigned int)CTable & -2)) { /* Are there any all the way up yet? */
1941 if((0x80000000 & vmmask) && (CTable->vmmc[cvi].vmmFlags & vmmInUse)) { /* See if we need to stop and if it is in use */
1942 (void)hw_atomic_or(&CTable->vmmc[cvi].vmmFlags, vmmXStop); /* Set this one to stop */
2000 vmmCntrlTable *CTable;
2011 CTable = act->machine.vmmControl; /* Get the pointer to the table */
2013 if(!((unsigned int)CTable & -2)) return; /* Leave if we aren't doing VMs any more... */