[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