[coreboot] slow load times
Kevin O'Connor
kevin at koconnor.net
Sat Feb 14 10:02:27 CET 2009
On Fri, Feb 13, 2009 at 09:26:43PM -0700, Myles Watson wrote:
> > > It didn't work for me that way. It still works for me to use the reset
> > > button.
> > Hrmm. That's weird. Can you send a SeaBIOS log of a run where you
> > boot up until failure, press ctrl+alt+delete, and then go to the
> > failure again?
> Sure. From what I've been able to tell, there's nothing significant there.
> SeaBIOS detects the drives the second time
Oh - I was only looking to see if SeaBIOS could detect the drives the
second time. Can you see if the patch below fixes the problem for
you?
>, but when Linux tries to boot it
> gets confused when it tries to load the SATA drivers and hangs. I don't
> think I was clear on that before. It could be related to the interrupt
> routing problems, or something that's not getting reset correctly by
> Coreboot.
On ctrl+alt+delete, coreboot isn't called. I've seen problems with
SeaBIOS booting after a soft-reboot, but I don't know why. It looks
like SeaBIOS is doing a full internal reset correctly..
If you send the full log, maybe it will help diagnose that problem.
-Kevin
--- a/src/ata.c
+++ b/src/ata.c
@@ -753,7 +753,9 @@ ata_detect()
break;
// Look for device
+ await_not_bsy(iobase1);
outb(slave ? ATA_CB_DH_DEV1 : ATA_CB_DH_DEV0, iobase1+ATA_CB_DH);
+ await_not_bsy(iobase1);
outb(0x55, iobase1+ATA_CB_SC);
outb(0xaa, iobase1+ATA_CB_SN);
outb(0xaa, iobase1+ATA_CB_SC);
More information about the coreboot
mailing list