[lkml]   [1999]   [Apr]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRE: Kernel newbie finds "infelicity", if not bug, in IDE[-PROBE]. C ?
	From: BROWN Nick <>

>That "probe_cmos_for_drives()" fragment is one of the few
>surviving bits from Linus's original hd.c driver.
>Nowadays (in 2.3.xx) we could/should just trash it.

Well, either that, or fix the code in setup.S which initialises it by
copying the BIOS drive parameter tables that are lying around in the INT
41h/46h pseudo-vectors, which is what seems to be causing the problem in
this case; it's the kind of thing that could easily get forgotten by a BIOS
maker. I can see two ways:

- call INT 13h AH=8 and use the resulting ES:DI pointer as the FDP table.
- call INT 13h AH=8 and fill in head, cylinders, sectors, and the control
byte (just the "head > 8" flag) by hand.

No, nothing is forgotten by the BIOS maker.
And calling INT 13h AH=8 does not necessarily give you IDE information.

There is no BIOS bug. There is just the matter of disk numbering,
and the Linux setup guesses wrong. If there are SCSI disks then
sometimes these are first, or sometimes the IDE disks are first
and sometimes the user can choose in the setup which one he wants
to have first; sometimes this is correlated with the disk you boot
from, and sometimes it is not.

More and more people will hit this since it is no longer uncommon
to have both SCSI and IDE disks.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:51    [W:0.017 / U:1.592 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site