plan 9 kernel history: overview | file list | diff list

1992/0131/port/page.c (diff list | history)

1992/0120/sys/src/9/port/page.c:461,4671992/0131/sys/src/9/port/page.c:461,467 (short | long | prev | next)
1991/0705    
	while(ptealloclk.free == 0) { 
		unlock(&ptealloclk); 
 
1991/1122    
		k = kmap(newpage(0, 0, 0)); 
1992/0131    
		k = kmap(newpage(1, 0, 0)); 
1991/0705    
		new = (Pte*)VA(k); 
		n = (BY2PG/sizeof(Pte))-1; 
		for(i = 0; i < n; i++) 
1992/0120/sys/src/9/port/page.c:476,4841992/0131/sys/src/9/port/page.c:476,484
1991/0705    
	new = ptealloclk.free; 
	ptealloclk.free = new->next; 
	unlock(&ptealloclk); 
	memset(new->pages, 0, sizeof(new->pages)); 
1991/1122    
	new->first = &new->pages[PTEPERTAB]; 
	new->last = new->pages; 
1992/0131    
 
1991/0705    
	return new; 
1991/0606    
} 
 
1992/0120/sys/src/9/port/page.c:491,5031992/0131/sys/src/9/port/page.c:491,507
1991/0705    
	case SG_PHYSICAL: 
1991/1122    
		ptop = &p->pages[PTEPERTAB]; 
1991/0705    
		for(pg = p->pages; pg < ptop; pg++) 
			if(*pg) 
1992/0131    
			if(*pg) { 
1991/0705    
				(*s->pgfree)(*pg); 
1992/0131    
				*pg = 0; 
			} 
1991/0705    
		break; 
	default: 
1991/1122    
		for(pg = p->first; pg <= p->last; pg++) 
1991/0705    
			if(*pg) 
1992/0131    
			if(*pg) { 
1991/0705    
				putpage(*pg); 
1992/0131    
				*pg = 0; 
			} 
1991/0606    
	} 
 
1991/0705    
	lock(&ptealloclk); 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)