[comp.os.minix] V1.3 floppy.c with request for testing

ast@cs.vu.nl (Andy Tanenbaum) (06/02/88)

Here is the 1.3 floppy.c diff listing (against 1.2).  I hope it works on
8088, 286, and 386 machines.  It incorporates Bruce Evans' fix, but with a
shorter delay loop.  I hope it is enough.  I would appreciate people testing
it on various machines and letting me know (1) which machine and (2) if it
worked.  I am especially interested in 386s.

Andy Tanenbaum (ast@cs.vu.nl)


----------------------------- diffs to floppy.c ----------------
6c6
<  *    m_type      DEVICE    PROC_NR     COUNT    POSITION  ADRRESS
---
>  *    m_type      DEVICE    PROC_NR     COUNT    POSITION  ADDRESS
221c221
<   fp->fl_sector = (int) interleave[block % nr_sectors[d]];
---
>   fp->fl_sector = (int) interleave[(int)(block % nr_sectors[d])];
338c338
<  * Interrupts must be disabled temporarily to prevent clock interrupt from
---
>  * Interrupts must be disabled temporarily to prevent clock interrupts from
408a409
>   fp->fl_curcyl = (r == OK ? fp->fl_cylinder : -1);
431c432
<   /* The command is issued by outputing 9 bytes to the controller chip. */
---
>   /* The command is issued by outputting 9 bytes to the controller chip. */
476c477
<   int i, j, status, ready;
---
>   int i, j, k, status, ready;
481a483
> 		for (k = 0; k < 32; k++) ;	/* delay loop for 386 */