ImageDisk project is canceled

Tony Duell ard at
Thu Dec 22 18:11:54 CST 2005

> > You are, IMHO, missing the point. Under linux, you have an ioctl()
> > call that lets you send any ocmmand bytes you like to the FDC. You can
> > therefore get that chip to do anything that it's capable of. And that
> > call takes care of setting up the DMA controller if you need it,
> > making sure the DMA buffer doesn't cross a page boundary, and all the
> > other nasty little details.

FWIW, I've tried out Eric's dumpids program, and it behaves as I 
suspected. Using a disk I know the format of (OK, a plain MS-DOS 1.44M 
disk), it does, indeed, miss some sectors on my machine. It is 
particularly noticeable that a given sector number is not always followed 
by the same sector number.

> Why can't you just write a kernel module that does its ReadID with 

Becuase 'just writing a kernel module' is not something I do for fun :-). 
Tracking down a fautly component in some bit of hardware, now that is fun....

[In other words, we can't all be good at everything, OK]

> interrupts turned off...  there's ways to keep the OS from task 
> switching during the critical section of your code that does the sector 
> layout determination - writing a kernel module or using realtime 
> priority (nice -20 might work on Linux) of the OS if it's got it.
> Assuming you're using a machine with a real PIC interrupt controller, not 

Which of course I am. In fact it is a real 8259, it's not even hidden 
inside some part of a chipset.

> new enough to have an APIC of some sort, under Linux/x86 you can always 
> do an iopl(3), and turn off the interrupt controller by hand, from 
> userland, if you're running as root.  Just Be Careful when you try that. 
> and don't leave it off for too long... :)

That sounds like a very good way to stop all sorts of things from 
working. In fact I susepct the floppy driver depends on interrupts to 
work (even for the FDRAWCMD ioctl()). Yes, I could disable all others, I 
guess and hope...


More information about the cctalk mailing list