On Sun, Feb 15, 2009 at 02:39:14PM -0800, ron minnich wrote:
On Fri, Feb 13, 2009 at 8:26 PM, Myles Watson mylesgw@gmail.com wrote:
The other interesting problem I have is that when I cold boot into SeaBIOS, the drives aren't detected. If I restart the machine after this happens, it won't boot fully into Linux until I boot the factory BIOS. This doesn't happen if I stop the boot process by holding reset until the drives spin up on cold boot.
Isn't this the classic problem where coreboot/seabios are ready before the drives are?
I think so.
If so it's a 10 year old problem, which we have fixed several times in other places. I note kevin now has a fix in :-)
I haven't fixed it yet. The patch in my previous email was just to confirm if the above is Myles' issue.
Looks like SeaBIOS should wait for the drive to be !BSY before testing the registers - the only problem is if BSY is set on a non-existent drive. That would cause SeaBIOS to wait until a timeout (30 seconds). The filo code seems to suggest a straight forward solution - wait for !BSY, but only if status is not 0xff.
-Kevin