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

1991/0326/power/devhotrod.c (diff list | history)

1991/0318/sys/src/9/power/devhotrod.c:422,4431991/0326/sys/src/9/power/devhotrod.c:422,447 (short | long | prev | next)
1990/1013    
{ 
1991/0306    
	Hotrod *h; 
	Hotmsg *hm; 
1991/0326    
	ulong l; 
1990/1013    
 
1991/0306    
	h = &hotrod[vec - Vmevec]; 
	if(h < hotrod || h > &hotrod[Nhotrod]){ 
1991/0326    
	if(h<hotrod || h>&hotrod[Nhotrod]){ 
1990/1013    
		print("bad hotrod vec\n"); 
		return; 
	} 
1991/0306    
	h->addr->lcsr3 &= ~INT_VME; 
	hm = (Hotmsg*)VME2MP(h->rq[h->ri]); 
	h->rq[h->ri] = 0; 
	h->ri++; 
	if(h->ri >= NRQ) 
		h->ri = 0; 
	hm->intr = 1; 
	if(hm->abort) 
		return; 
	wakeup(&hm->r); 
1991/0326    
	while(l = h->rq[h->ri]){	/* assign = */ 
		hm = (Hotmsg*)(VME2MP(l)); 
		h->rq[h->ri] = 0; 
		h->ri++; 
		if(h->ri >= NRQ) 
			h->ri = 0; 
		hm->intr = 1; 
		if(hm->abort) 
			print("abort wakeup\n"); 
		else 
			wakeup(&hm->r); 
	} 
1991/0303    
} 
 
1991/0306    
#ifdef	ENABMEMTEST 


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