From owner-freebsd-hackers Tue Dec 11 17: 4:26 2001 Delivered-To: freebsd-hackers@freebsd.org Received: from po4.wam.umd.edu (po4.wam.umd.edu [128.8.10.166]) by hub.freebsd.org (Postfix) with ESMTP id 1793F37B419; Tue, 11 Dec 2001 17:04:22 -0800 (PST) Received: from rac4.wam.umd.edu (IDENT:root@rac4.wam.umd.edu [128.8.10.144]) by po4.wam.umd.edu (8.9.3/8.9.3) with ESMTP id UAA17504; Tue, 11 Dec 2001 20:04:20 -0500 (EST) Received: from rac4.wam.umd.edu (IDENT:sendmail@localhost [127.0.0.1]) by rac4.wam.umd.edu (8.9.3/8.9.3) with SMTP id UAA29187; Tue, 11 Dec 2001 20:04:20 -0500 (EST) Received: from localhost (culverk@localhost) by rac4.wam.umd.edu (8.9.3/8.9.3) with ESMTP id UAA29183; Tue, 11 Dec 2001 20:04:20 -0500 (EST) X-Authentication-Warning: rac4.wam.umd.edu: culverk owned process doing -bs Date: Tue, 11 Dec 2001 20:04:20 -0500 (EST) From: Kenneth Wayne Culver To: "Andrew R. Reiter" Cc: Poul-Henning Kamp , hackers@FreeBSD.ORG Subject: Re: Junior Kernel hacker task: Floppy driver mode handling. In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG I was thinking about looking into it, but I won't have time to start until the 18th. if you wanna do it, go for it, and I'll wait my turn for the next thing I can do in the kernel. :-D Ken On Tue, 11 Dec 2001, Andrew R. Reiter wrote: > > Someone already doing this? If not, I'm down. > > On Tue, 11 Dec 2001, Poul-Henning Kamp wrote: > > : > :There exists a patch for adding a mode to our floppy driver to > :add DEC RX50 media handling. > : > :The crucial part of this is the addition of this line: > : { 10,2,0xFF,0x10,80, 800,1,FDC_300KBPS,1,0x2E,1 }, /* 400K DEC RX50 */ > : > :But if one examines the fd.c driver, one cannot help but notice that the > :handling of densities is a bit convoluted, to put it mildly. > : > :I'm looking for a volounteer to do this, it is a quite simple job and > :I am quite sure that practically everybody has the hardware they need to > :do this :-) > : > :Cleaning it up consists of the following steps: > : > :1. Define a new set of (bitmap) macros to distinguish the drive type: > : #define FD_3S 0x0001 /* 3.5" single density */ > : #define FD_5S 0x0002 /* 5.25" single density */ > : ... > : And use these instead of the FD_1200 and similar in > : struct fd_data->type. > : > :2. Augment the struct fd_type with two new fields: > : int minor; /* minor device encoding */ > : int drives; /* bitmap of compatible drives (FD_[35][SD]) */ > : And fill these fields out in the fd_types[NUMTYPES] array. > : Add a termination entry at the end of the table so the > : NUMTYPES, NUMDENS, and FD_%d[5_25] #defines can be eliminated. > : > :3. Change the _clone code to use the new "minor" field instead of > : the private table it uses now. (Eliminate and avoid any > : use of NUMTYPES, NUMDENS and FD_%d[5_25]). > : > :4. Change the code in Fdopen to examine the "drives" field in the > : fd_types[] array instead of the hardcoded switch. (Eliminate > : and avoid any use of NUMTYPES, NUMDENS and and FD_%d[5_25]); > : > :5. Remove any other use of NUMTYPES, NUMDENS and FD_%d[5_25] > : > :6. Add the "rx50" entry from above to the table to show how simple > : that is now. > : > :7. Make it possible to define a new mode from userland with an ioctl. > : (hint: instead of the index, put a pointer to the struct fd_type into > : the fd_data structure.) > : > :Preferably, send one patch per step rather than one huge patch since that > :will make reviewing easier. > : > :First volounteer to send me email gets the assignment. > : > :-- > :Poul-Henning Kamp | UNIX since Zilog Zeus 3.20 > :phk@FreeBSD.ORG | TCP/IP since RFC 956 > :FreeBSD committer | BSD since 4.3-tahoe > :Never attribute to malice what can adequately be explained by incompetence. > : > :To Unsubscribe: send mail to majordomo@FreeBSD.org > :with "unsubscribe freebsd-hackers" in the body of the message > : > > -- > Andrew R. Reiter > arr@watson.org > arr@FreeBSD.org > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-hackers" in the body of the message > To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message