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

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

1994/0902/sys/src/9/carrera/trap.c:57,621994/1025/sys/src/9/carrera/trap.c:57,63 (short | long | prev | next)
1993/0903    
}; 
char	*fpexcname(Ureg*, ulong, char*); 
#define FPEXPMASK	(0x3f<<12)		/* Floating exception bits in fcr31 */ 
1994/1025    
void (*eisadma[8])(void);			/* Eisa dma chain vectors */ 
1993/0903    
 
 
char *regname[]={ 
1994/0902/sys/src/9/carrera/trap.c:284,2911994/1025/sys/src/9/carrera/trap.c:285,304
1993/0903    
} 
 
void 
1994/1025    
seteisadma(int ch, void (*func)(void)) 
{ 
	if(ch < 0 || ch > 7) 
		panic("seteisadma"); 
	if(eisadma[ch] != 0) 
		print("EISA dma%d: intr used twice"); 
 
	eisadma[ch] = func; 
} 
 
void 
1993/0903    
intr(Ureg *ur) 
{ 
1994/1025    
	int i; 
1993/1219    
	static uchar devint; 
1993/0903    
	ulong cause = ur->cause; 
1994/0225    
	ulong isr, vec; 
1994/0902/sys/src/9/carrera/trap.c:351,3581994/1025/sys/src/9/carrera/trap.c:364,379
1994/0307    
		case 7: 
1994/0225    
			audiosbintr(); 
1994/0307    
			break; 
1994/1025    
		case 10: 
			mpegintr(); 
			break; 
1994/0307    
		case 13: 
			audiodmaintr(); 
1994/1025    
			isr = EISAINB(Eisadmaintr) & ~(1<<4); 
			for(i = 0; i < 8; i++) { 
				if(isr & 1) 
					eisadma[i](); 
				isr >>= 1; 
			} 
1994/0225    
			break; 
		} 
1993/0904    
		cause &= ~INTR4; 


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