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

1994/0220/carrera/trap.c (diff list | history)

1994/0220/sys/src/9/carrera/trap.c:289,2951994/0225/sys/src/9/carrera/trap.c:289,295 (short | long | prev | next)
1993/0903    
{ 
1993/1219    
	static uchar devint; 
1993/0903    
	ulong cause = ur->cause; 
1994/0220    
	ulong isr; 
1994/0225    
	ulong isr, vec; 
1993/0903    
 
	m->intr++; 
	cause &= INTR7|INTR6|INTR5|INTR4|INTR3|INTR2|INTR1|INTR0; 
1994/0220/sys/src/9/carrera/trap.c:319,3261994/0225/sys/src/9/carrera/trap.c:319,327
1993/0904    
	} 
1993/0908    
	if(cause & INTR2) { 
1994/0220    
		isr = IO(ulong, R4030Isr); 
1994/0225    
 
1994/0220    
		if(isr & (1<<5)) { 
			audiointr(); 
1994/0225    
			audiodmaintr(); 
1994/0220    
			isr &= ~(1<<5); 
		} 
		if(isr) { 
1994/0220/sys/src/9/carrera/trap.c:334,3401994/0225/sys/src/9/carrera/trap.c:335,356
1993/0908    
	} 
1993/0904    
	if(cause & INTR4) { 
1993/0905    
		devint = IO(uchar, I386ack); 
1993/1212    
		iprint("i386ACK #%lux\n", devint); 
1994/0225    
		vec = devint&~0x7; 
 
		/* reenable the 8259 interrupt */ 
		if(vec == Int0vec || vec == Int1vec){ 
			EISAOUTB(Int0ctl, EOI); 
			if(vec == Int1vec) 
				EISAOUTB(Int1ctl, EOI); 
		} 
		switch(devint) { 
		default: 
			iprint("i386ACK #%lux\n", devint); 
			break; 
		case 5: 
			audiosbintr(); 
			break; 
		} 
1993/0904    
		cause &= ~INTR4; 
	} 
	if(cause & INTR7) { 


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