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

1992/0625/gnot/mmu.c (diff list | history)

1992/0622/sys/src/9/gnot/mmu.c:81,881992/0625/sys/src/9/gnot/mmu.c:81,89 (short | long | prev | next)
1990/06021    
void 
kmapinit(void) 
{ 
1992/0625    
	int i; 
	Page *p; 
1990/06021    
	KMap *k; 
	int i, e; 
 
	if(kmapalloc.init == 0){ 
		k = &kmapalloc.arena[0]; 
1992/0622/sys/src/9/gnot/mmu.c:93,1081992/0625/sys/src/9/gnot/mmu.c:94,110
1990/06021    
		return; 
	} 
1991/0821    
 
	e = (MB4 - 256*1024)/BY2PG;	/* screen lives at top 256K */ 
1992/0315    
	i = PGROUND(palloc.addr0)/BY2PG; 
1991/0821    
                 
1990/0709    
	print("%lud free map registers\n", e-i); 
1991/0821    
                 
1990/06021    
	kmapalloc.free = 0; 
1992/0622    
	for(k=&kmapalloc.arena[i]; i < e; i++){ 
1990/06021    
		k->va = i*BY2PG|KZERO; 
1992/0622    
		kunmap(k++); 
1992/0625    
	i = 0; 
	/* Reclaim map register for pages in bank0 */ 
	for(p = palloc.head; p; p = p->next) { 
		if(p->pa < MB4) { 
			k = &kmapalloc.arena[p->pa/BY2PG]; 
			k->va = p->pa|KZERO; 
			kunmap(k); 
			i++; 
		} 
1990/06021    
	} 
1992/0625    
	print("%lud free map registers\n", i); 
1990/06021    
} 
 
KMap* 


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