* [9fans] Floppy driver
@ 2001-05-21 4:49 lucio
0 siblings, 0 replies; only message in thread
From: lucio @ 2001-05-21 4:49 UTC (permalink / raw)
To: 9fans
The following code:
print ("floppyrevive(%d): %lux - %lux\n", ++x, &fl, fl.d);
/* reset controller and turn all motors off */
splhi();
fl.ncmd = 1;
fl.cmd[0] = 0;
outb(Pdor, 0);
delay(10);
outb(Pdor, Fintena|Fena);
delay(10);
spllo();
print ("floppyrevive(%d): %lux - %lux\n", ++x, &fl, fl.d);
from /sys/src/boot/pc/devfloppy.c:/^floppyrevive (I seem to recall)
reveals that fl.d changes value from a valid address to 0xffffffff.
Now, "fl" is the FController structure, defined in ..../devfloppy.h
(and in devfloppy.c, I removed the second declaration) and I really
cannot figure how one (or more) fields within that structure could
be affected by the operations between.
Also, this only occurs on an old 386/387 platform, with an add-on
ATA and floppy controller. I have not seen the symptom on the
Pentium I first experimented with. The symptom itself is obscure:
from trap.c: "exception/interrupt 12".
Clues, anyone?
++L
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2001-05-21 4:49 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-05-21 4:49 [9fans] Floppy driver lucio
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).