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

1998/0716/pc/mp.c (diff list | history)

1998/0716/sys/src/9/pc/mp.c:356,3641998/0717/sys/src/9/pc/mp.c:356,361 (short | long | prev | next)
Change clock synchronization mechanism: stomp on TSC while looping.
rsc Fri Mar 4 12:44:25 2005
1997/0327    
{ 
1997/1101    
//	iprint("Hello Squidboy\n"); 
1998/0716    
 
	/* synchronize cycle clocks */ 
	wrmsr(0x10, m->clockstart); 
                 
1997/0327    
	machinit(); 
	mmuinit(); 
 
1998/0716/sys/src/9/pc/mp.c:374,3801998/0717/sys/src/9/pc/mp.c:371,377
1997/0327    
	 * Restrain your octopus! Don't let it go out on the sea! 
	 */ 
	while(MACHP(0)->ticks == 0) 
		; 
1998/0717    
		wrmsr(0x10, MACHP(0)->fastclock); /* synchronize fast counters */ 
1997/0327    
 
1998/0716    
	lapicinit(apic); 
	lapiconline(); 
1998/0716/sys/src/9/pc/mp.c:443,4491998/0717/sys/src/9/pc/mp.c:440,445
1997/0327    
	*p = i>>8; 
 
	nvramwrite(0x0F, 0x0A); 
1998/0716    
	rdmsr(0x10, &mach->clockstart); 
1997/0327    
	lapicstartap(apic, PADDR(APBOOTSTRAP)); 
1997/0521    
	for(i = 0; i < 100000; i++){ 
		lock(&mprdthilock); 


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