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

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

1991/0811/sys/src/9/pc/devfloppy.c:31,421991/0823/sys/src/9/pc/devfloppy.c:31,36 (short | long | prev | next)
1991/0727    
 
1991/0728    
	DMAchan=	2,	/* floppy dma channel */ 
 
1991/0727    
	/* sector size encodings */ 
	S128=		0, 
	S256=		1, 
	S512=		2, 
	S1024=		3, 
                 
	/* status 0 byte */ 
	Drivemask=	3<<0, 
	Seekend=	1<<5, 
1991/0811/sys/src/9/pc/devfloppy.c:45,511991/0823/sys/src/9/pc/devfloppy.c:39,44
1991/0728    
	/* file types */ 
	Qdir=		0, 
1991/0802    
	Qdata=		(1<<2), 
	Qstruct=	(2<<2), 
	Qmask=		(3<<2), 
1991/0727    
}; 
 
1991/0811/sys/src/9/pc/devfloppy.c:163,1761991/0823/sys/src/9/pc/devfloppy.c:156,165
1991/0731    
static void	floppyintr(Ureg*); 
 
1991/0802    
Dirtab floppydir[]={ 
	"fd0data",		{Qdata + 0},	0,	0600, 
	"fd0struct",		{Qstruct + 0},	8,	0600, 
	"fd1data",		{Qdata + 1},	0,	0600, 
	"fd1struct",		{Qstruct + 1},	8,	0600, 
	"fd2data",		{Qdata + 2},	0,	0600, 
	"fd2struct",		{Qstruct + 2},	8,	0600, 
	"fd3data",		{Qdata + 3},	0,	0600, 
	"fd3struct",		{Qstruct + 3},	8,	0600, 
1991/0823    
	"fd0disk",		{Qdata + 0},	0,	0600, 
	"fd1disk",		{Qdata + 1},	0,	0600, 
	"fd2disk",		{Qdata + 2},	0,	0600, 
	"fd3disk",		{Qdata + 3},	0,	0600, 
1991/0802    
}; 
1991/0811    
#define NFDIR	2	/* directory entries/drive */ 
1991/0731    
 
1991/0811/sys/src/9/pc/devfloppy.c:337,3511991/0823/sys/src/9/pc/devfloppy.c:326,331
1991/0809    
			memmove(aa+rv, dp->ccache + (sec-1)*dp->t->bytes, len); 
1991/0802    
		} 
		break; 
	case Qstruct: 
		if (n < 2*sizeof(ulong)) 
			error(Ebadarg); 
		if (c->offset >= 2*sizeof(ulong)) 
			return 0; 
		rv = 2*sizeof(ulong); 
		ul2user((uchar*)a, dp->t->cap); 
		ul2user((uchar*)a+sizeof(ulong), dp->t->bytes); 
		break; 
	default: 
		panic("floppyread: bad qid"); 
1991/0731    
	} 
1991/0811/sys/src/9/pc/devfloppy.c:369,3771991/0823/sys/src/9/pc/devfloppy.c:349,354
1991/0802    
				break; 
		} 
		break; 
	case Qstruct: 
		error(Eperm); 
		break; 
	default: 
		panic("floppywrite: bad qid"); 
1991/0731    
	} 
1991/0811/sys/src/9/pc/devfloppy.c:733,7391991/0823/sys/src/9/pc/devfloppy.c:710,716
1991/0731    
	if(floppyseek(dp) < 0) 
		errors("seeking floppy"); 
1991/0727    
 
1991/0731    
print("tcyl %d, thead %d, tsec %d, addr %lux, n %d\n", 
1991/0823    
/*print("tcyl %d, thead %d, tsec %d, addr %lux, n %d\n", 
1991/0727    
		dp->tcyl, dp->thead, dp->tsec, addr, n);/**/ 
 
	/* 
1991/0811/sys/src/9/pc/devfloppy.c:797,8031991/0823/sys/src/9/pc/devfloppy.c:774,780
1991/0731    
static void 
1991/0727    
floppyintr(Ureg *ur) 
{ 
1991/0806    
print("floppy intr\n"); 
1991/0823    
/*print("floppy intr\n");/**/ 
1991/0727    
	floppy.intr = 1; 
1991/0731    
	wakeup(&floppy.r); 
1991/0727    
} 


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