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

1997/1101/pc/memory.c (diff list | history)

1997/1011/sys/src/9/pc/memory.c:74,791997/1101/sys/src/9/pc/memory.c:74,80 (short | long | prev | next)
1997/0331    
	&mapumbrw[7], 
1997/0329    
}; 
 
1997/1101    
#define notdef 
1997/0329    
#ifdef notdef 
1997/0327    
void 
1997/0329    
dumpmembank(void) 
1997/1011/sys/src/9/pc/memory.c:302,3081997/1101/sys/src/9/pc/memory.c:303,309
1997/0327    
		 * pool later if it isn't needed. 
		 */ 
		va = KADDR(pa); 
		table = &((ulong*)m->pdb)[PDX(va)]; 
1997/1101    
		table = &m->pdb[PDX(va)]; 
1997/0327    
		if(*table == 0){ 
			if(map == 0 && (map = mapalloc(&rmapram, 0, BY2PG, BY2PG)) == 0) 
				break; 
1997/1011/sys/src/9/pc/memory.c:365,3711997/1101/sys/src/9/pc/memory.c:366,372
1997/0327    
		 *    initialised space for the page table. 
		 */ 
1997/0522    
		if((pa % (4*MB)) == 0){ 
1997/0327    
			table = &((ulong*)m->pdb)[PDX(va)]; 
1997/1101    
			table = &m->pdb[PDX(va)]; 
1997/0522    
			if(nvalid[MemUPA] == (4*MB)/BY2PG) 
1997/0327    
				*table = 0; 
1997/0522    
			else if(nvalid[MemRAM] == (4*MB)/BY2PG && (m->cpuiddx & 0x08)) 
1997/1011/sys/src/9/pc/memory.c:383,3901997/1101/sys/src/9/pc/memory.c:384,392
1997/0327    
		mapfree(&rmapram, map, BY2PG); 
1997/0329    
	if(pa < maxmem) 
		mapfree(&rmapupa, pa, maxmem-pa); 
1997/1011    
	if(maxmem < 0xFEC00000) 
		mapfree(&rmapupa, maxmem, 0xFEC00000-maxmem); 
1997/1101    
	if(maxmem < 0xFFE00000) 
		mapfree(&rmapupa, maxmem, 0xFFE00000-maxmem); 
print("maxmem %uX %uX\n", maxmem, 0xFFE00000-maxmem); 
1997/0327    
	*k0 = kzero; 
} 
 
1997/1011/sys/src/9/pc/memory.c:401,4111997/1101/sys/src/9/pc/memory.c:403,413
1997/0327    
	 * then scan for useful memory. 
	 */ 
	for(pa = 0xA0000; pa < 0xC0000; pa += BY2PG){ 
		pte = mmuwalk(m->pdb, (ulong)KADDR(pa), 0); 
1997/1101    
		pte = mmuwalk(m->pdb, (ulong)KADDR(pa), 2, 0); 
1997/0327    
		*pte |= PTEWT; 
	} 
	for(pa = 0xC0000; pa < 0x100000; pa += BY2PG){ 
		pte = mmuwalk(m->pdb, (ulong)KADDR(pa), 0); 
1997/1101    
		pte = mmuwalk(m->pdb, (ulong)KADDR(pa), 2, 0); 
1997/0327    
		*pte |= PTEUNCACHED; 
	} 
	mmuflushtlb(PADDR(m->pdb)); 
1997/1011/sys/src/9/pc/memory.c:432,4371997/1101/sys/src/9/pc/memory.c:434,440
1997/0327    
		conf.base1 = xmp->addr; 
		conf.npage1 = xmp->size/BY2PG; 
	} 
1997/1101    
dumpmembank(); 
1997/0327    
} 
 
ulong 


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