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

1991/0823/pc/trap.c (diff list | history)

1991/0822/sys/src/9/pc/trap.c:79,1051991/0823/sys/src/9/pc/trap.c:79,105 (short | long | prev | next)
1991/0731    
	 *  set all interrupts to panics 
	 */ 
	for(i = 32; i < 256; i++) 
		sethvec(i, intrbad, SEGIG, 0); 
1991/0823    
		sethvec(i, intrbad, SEGTG, 0); 
1991/0731    
 
	/* 
1991/0703    
	 *  set the standard traps 
	 */ 
1991/0719    
	sethvec(0, intr0, SEGIG, 0); 
	sethvec(1, intr1, SEGIG, 0); 
	sethvec(2, intr2, SEGIG, 0); 
	sethvec(3, intr3, SEGIG, 0); 
	sethvec(4, intr4, SEGIG, 0); 
	sethvec(5, intr5, SEGIG, 0); 
	sethvec(6, intr6, SEGIG, 0); 
	sethvec(7, intr7, SEGIG, 0); 
	sethvec(8, intr8, SEGIG, 0); 
	sethvec(9, intr9, SEGIG, 0); 
	sethvec(10, intr10, SEGIG, 0); 
	sethvec(11, intr11, SEGIG, 0); 
	sethvec(12, intr12, SEGIG, 0); 
	sethvec(13, intr13, SEGIG, 0); 
	sethvec(14, intr14, SEGIG, 0); 
	sethvec(15, intr15, SEGIG, 0); 
1991/0823    
	sethvec(0, intr0, SEGTG, 0); 
	sethvec(1, intr1, SEGTG, 0); 
	sethvec(2, intr2, SEGTG, 0); 
	sethvec(3, intr3, SEGTG, 0); 
	sethvec(4, intr4, SEGTG, 0); 
	sethvec(5, intr5, SEGTG, 0); 
	sethvec(6, intr6, SEGTG, 0); 
	sethvec(7, intr7, SEGTG, 0); 
	sethvec(8, intr8, SEGTG, 0); 
	sethvec(9, intr9, SEGTG, 0); 
	sethvec(10, intr10, SEGTG, 0); 
	sethvec(11, intr11, SEGTG, 0); 
	sethvec(12, intr12, SEGTG, 0); 
	sethvec(13, intr13, SEGTG, 0); 
	sethvec(14, intr14, SEGTG, 0); 
	sethvec(15, intr15, SEGTG, 0); 
1991/0731    
 
	/* 
	 *  set the standard devices 
1991/0822/sys/src/9/pc/trap.c:188,2021991/0823/sys/src/9/pc/trap.c:188,198
1991/0731    
		if(c == Int1vec) 
			outb(Int1ctl, EOI); 
1991/0806    
		outb(Int0ctl, EOI); 
1991/0823    
		if(v != Uart0vec) 
			uartintr0(ur); 
1991/0731    
	} 
1991/0801    
 
	/* 
1991/0822    
	 *  check for a waiting character, the uart is at too low 
	 *  a priority level to work correctly at 9600 baud. 
	 */ 
	uartintr0(ur); 
                 
	/* 
1991/0801    
	 *  call the trap routine 
	 */ 
	(*ivec[v])(ur); 
1991/0822/sys/src/9/pc/trap.c:270,2761991/0823/sys/src/9/pc/trap.c:266,271
1991/0718    
	u->p->pc = ur->pc; 
1991/0720    
	if((ur->cs)&0xffff == KESEL) 
		panic("recursive system call"); 
1991/0822    
	spllo(); 
1991/0718    
 
1991/0720    
	/* 
	 *  do something about floating point!!! 


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