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

1993/1219/carrera/trap.c (diff list | history)

1993/1217/sys/src/9/carrera/trap.c:238,2431993/1219/sys/src/9/carrera/trap.c:238,246 (short | long | prev | next)
1993/0903    
 
	Default: 
	default: 
1993/1219    
		((ulong*)0xA0020000)[7] = 0x87654321; 
		((void(*)(void))0xA001C020)(); 
 
1993/0903    
		if(user) { 
			spllo(); 
			sprint(buf, "sys: %s", excname[ecode]); 
1993/1217/sys/src/9/carrera/trap.c:278,2841993/1219/sys/src/9/carrera/trap.c:281,287
1993/0903    
void 
intr(Ureg *ur) 
{ 
1993/0904    
	uchar devint; 
1993/1219    
	static uchar devint; 
1993/0903    
	ulong cause = ur->cause; 
 
	m->intr++; 
1993/1217/sys/src/9/carrera/trap.c:285,3131993/1219/sys/src/9/carrera/trap.c:288,312
1993/0903    
	cause &= INTR7|INTR6|INTR5|INTR4|INTR3|INTR2|INTR1|INTR0; 
 
1993/0904    
	if(cause & INTR3) { 
1993/0907    
		for(;;) { 
			devint = IO(uchar, Intcause); 
			if(devint == 0) 
				break; 
			switch(devint) { 
			default: 
				panic("unknown devint=#%lux", devint); 
			case 0x28:		/* Serial 1 */ 
				NS16552intr(0); 
				break; 
			case 0x24:		/* Serial 2 */ 
				NS16552intr(1); 
				break; 
			case 0x14: 
				etherintr(); 
				break; 
			case 0x1C: 
				kbdintr(); 
				break; 
1993/1001    
			case 0x20: 
				mouseintr(); 
				break; 
1993/0907    
			} 
1993/1219    
		devint = IO(uchar, Intcause); 
		switch(devint) { 
		default: 
			panic("unknown devint=#%lux", devint); 
		case 0x28:		/* Serial 1 */ 
			NS16552intr(0); 
			break; 
		case 0x24:		/* Serial 2 */ 
			NS16552intr(1); 
			break; 
		case 0x14: 
			etherintr(); 
			break; 
		case 0x1C: 
			kbdintr(); 
			break; 
		case 0x20: 
			mouseintr(); 
			break; 
1993/0904    
		} 
		cause &= ~INTR3; 
	} 


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