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

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

1991/0716/sys/src/9/pc/trap.c:86,921991/0718/sys/src/9/pc/trap.c:86,92 (short | long | prev | next)
1991/0710    
	sethvec(23, intr23, SEGTG, 0); 
1991/0703    
 
	/* 
	 *  set all others to unknown 
1991/0718    
	 *  set all others to unknown interrupts 
1991/0703    
	 */ 
1991/0706    
	for(i = 24; i < 256; i++) 
1991/0710    
		sethvec(i, intrbad, SEGIG, 0); 
1991/0716/sys/src/9/pc/trap.c:100,1061991/0718/sys/src/9/pc/trap.c:100,106
1991/0710    
	/* 
1991/0703    
	 *  tell the hardware where the table is (and how long) 
	 */ 
	lidt(ilt, sizeof(ilt)); 
1991/0718    
	putidt(ilt, sizeof(ilt)); 
1991/0704    
 
	/* 
1991/0709    
	 *  Set up the first 8259 interrupt processor. 
1991/0716/sys/src/9/pc/trap.c:137,1471991/0718/sys/src/9/pc/trap.c:137,169
1991/0710    
} 
 
/* 
1991/0718    
 *  dump registers 
 */ 
void 
dumpregs(Ureg *ur) 
{ 
	if(u) 
		print("registers for %s %d\n", u->p->text, u->p->pid); 
	else 
		print("registers for kernel\n"); 
	print("FLAGS=%lux ECODE=%lux CS=%lux PC=%lux SS=%lux USP=%lux\n", ur->flags, 
		ur->ecode, ur->cs, ur->pc, ur->ss, ur->usp); 
 
	print("  AX %8.8lux  BX %8.8lux  CX %8.8lux  DX %8.8lux\n", 
		ur->ax, ur->bx, ur->cx, ur->dx); 
	print("  SI %8.8lux  DI %8.8lux  BP %8.8lux  DS %8.8lux\n", 
		ur->si, ur->di, ur->bp, ur->ds); 
} 
 
/* 
1991/0710    
 *  system calls 
 */ 
long 
syscall(Ureg *ur) 
{ 
1991/0718    
	u->p->insyscall = 1; 
	u->p->pc = ur->pc; 
 
1991/0710    
	panic("syscall"); 
} 
 


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