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

1996/0112/pc/devata.c (diff list | history)

1995/1221/sys/src/9/pc/devata.c:62,671996/0112/sys/src/9/pc/devata.c:62,69 (short | long | prev | next)
1995/0213    
 
1995/1206    
	Cpktcmd=	0xA0, 
	Cidentd=	0xA1, 
1996/0112    
	Ctur=		0x00, 
	Creqsense=	0x03, 
1995/1206    
	Ccapacity=	0x25, 
	Cread2=		0x28, 
 
1995/1221/sys/src/9/pc/devata.c:1073,10791996/0112/sys/src/9/pc/devata.c:1075,1084
1995/0213    
		nexterror(); 
	} 
 
1995/1208    
	cmd = Cident; 
1996/0112    
	if(dp->atapi) 
		cmd = Cidentd; 
	else 
		cmd = Cident; 
1995/1206    
retryatapi: 
	ILOCK(&cp->reglock); 
1995/0213    
	cp->nsecs = 1; 
1995/1221/sys/src/9/pc/devata.c:1803,18081996/0112/sys/src/9/pc/devata.c:1808,1814
1995/1208    
	retrycount = 2; 
1995/1206    
retry: 
	if(waserror()){ 
1996/0112    
		DPRINT("atapipart: cmd %uX error %uX\n", cp->cmd, cp->error); 
1995/1206    
		if((cp->status & Serr) && (cp->error & 0xF0) == 0x60){ 
			dp->vers++; 
			if(retrycount){ 
1995/1221/sys/src/9/pc/devata.c:1824,18291996/0112/sys/src/9/pc/devata.c:1830,1848
1995/1206    
 
	cp->buf = buf; 
	cp->dp = dp; 
1996/0112    
 
	cp->len = 18; 
	cp->count = 0; 
	memset(cp->cmdblk, 0, sizeof(cp->cmdblk)); 
	cp->cmdblk[0] = Creqsense; 
	cp->cmdblk[4] = 18; 
	atapiexec(dp); 
	if(cp->count != 18){ 
		print("cmd=%2.2uX, lastcmd=%2.2uX ", cp->cmd, cp->lastcmd); 
		print("cdsize count %d, status 0x%2.2uX, error 0x%2.2uX\n", 
			cp->count, cp->status, cp->error); 
		error(Eio); 
	} 
1995/1206    
 
	cp->len = 8; 
	cp->count = 0; 


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