new fdc(4) and new fdcontrol(8) behavior (5.3-BETA5)

Rostislav Krasny rosti_bsd at yahoo.com
Sun Sep 26 18:33:17 PDT 2004


--- "M. Warner Losh" <imp at bsdimp.com> wrote:
> [[ Rostislav sent me dmesg off line ]]
> 
> Interesting.
> 
> You have no ACPI, so you are using only PNP and PNPBIOS to enumerate
> your devices.
> 
> The 'hints' device is selected in preference to the PNPBIOS device,
> which is backwards (the PNPBIOS devices should take precidence).  This
> is why you are seeing what you are seeing.  I think this is a bug, but
> need to consult with some folks to make sure.

Yes it use /boot/device.hints where is following line:

hint.fdc.0.port="0x3F0"

After changing that line to this:

hint.fdc.0.port="0x3F2"

I see following in the dmesg:

fdc0: ic_type 90 part_id 80
fdc0: <Enhanced floppy controller> at port 0x3f7-0x3fc irq 6 drq 2 on isa0
fdc0: ic_type 90 part_id 80
fdc0: [MPSAFE]
fdc0: [FAST]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
fd1: <1440-KB 3.5" drive> on fdc0 drive 1

And fdc0 works fine!
It looks like fdc0 tries allocating 6 ports starting from the "hint" port
but 0x3f6 port is already allocated by atapci0, so fdc0 allocates next 6
ports after the 0x3f6 one. But I don't believe fdc0 is really using
0x3f7-0x3fc ports. I don't think the i430TX chipset support such
reconfiguration.

> It works because ISA devices are always mapped and we're talking to
> the right registers.  We're not allocating them, so there's a small
> chance for collision with the more dynamic parts of the system.  Since
> you aren't doing dynamic things, you aren't colliding so things work.

What ports fdc0 is really using in the above situation?


BTW after the same changing of the /boot/device.hints file on 5.3-BETA4
(that is installed on the same computer) fdc0 cannot be initialized:

fdc0: output ready timeout
fdc0: cmd 3 failed at out byte 1 of 3
fdc0 failed to probe at port 0x3fe,0x3f7-0x3fc irq 6 drq 2 on isa0

The allocation algorithm is probably the same, besides it tries to allocate
one more port (0x3fe in this situation or 0x3f7 with standard hint).


		
__________________________________
Do you Yahoo!?
Yahoo! Mail is new and improved - Check it out!
http://promotions.yahoo.com/new_mail


More information about the freebsd-current mailing list