Floppy driver -- Locks during read, seems waiting for IRQ
Status: Pre-Alpha
Brought to you by:
andrew-wilcox
I have an Intel486 DX2 (f4/m3/s5) that I use to beta test the AWOS kernel. I use a 1440kB 90mm (3 1/2") disk to boot off of, and also test the floppy disk driver.
When I tested it this morning, I found that it locked. It appears to be waiting for IRQ6. I have attached the text as appears on-screen (as I have yet to test the DEBUG_TO_PARP so I can make a real log). Notice the lack of an [IRQ6].
I'm not sure if this counts, because bochs is so buggy, but bochs page faults during "test fdd" after it prints VBR info. If you would like, I can file a different bug agianst that.
Thanks.
Output of floppy disk driver immediately before lock
Logged In: YES
user_id=1801334
Originator: NO
It works fine under QEMU. However, it doesn't work very well on my floppy drive, either.
This line would explain it:
[ ST0 = 80, Track = 128, MSR = D0 ]
1. How would the track number be set to 128?
2. The MSR indicates that the command is being processed. Which is weird, BECAUSE IT SHOULDN'T CALL A BLOODY INTERRUPT WHILE IT IS STILL PROCESSING! A fine example why the FDC sucks.
3. Why does it think that an invalid command was issued? It's an INTERRUPT SENSE. Yet the read command still worked. I think we have found the problem here.
3b. Actually, on all the other ones, the drive is still polling.
I hate the FDC.