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

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

--- "M. Warner Losh" <imp at> 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:


After changing that line to this:


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

> 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!

More information about the freebsd-current mailing list