[coreboot] slow load times

Myles Watson mylesgw at gmail.com
Wed Feb 18 05:06:02 CET 2009



> -----Original Message-----
> From: Kevin O'Connor [mailto:kevin at koconnor.net]
> Sent: Tuesday, February 17, 2009 9:23 PM
> To: Myles Watson
> Cc: coreboot at coreboot.org
> Subject: Re: [coreboot] slow load times
> 
> On Tue, Feb 17, 2009 at 07:51:46PM -0700, Myles Watson wrote:
> > > Does it work consistently?  If it still fails sometimes I'm confused
> > > on what it could be.
> >
> > I'm not sure either.  It's strange that SeaBIOS can load grub, but the
> > kernel is confused later.  Once it gets to the confused state, the
> factory
> > kernel has to be loaded.  A cold reboot isn't sufficient.
> 
> Hrmm.  So SeaBIOS can consistently see the drives, but Linux can't?
I haven't dug into the driver enough to know the real answer.  Linux can
read things from the drive, modules get loaded, but it gets stuck
continually trying to reset the drive when that driver is loaded.  It may
have something to do with a mode switch.

> 
> One more thing you can try - pull the latest SeaBIOS git and apply the
> patch below.  This will dump all of the drive's identify information.

Sure.  I expect that to be fine, since it seems fine when SeaBIOS comes up
and reports the drives it finds, but no harm trying.

Thanks,
Myles

> -Kevin
> 
> 
> --- a/src/ata.c
> +++ b/src/ata.c
> @@ -615,7 +615,7 @@ setup_translation(int driveid)
>  static void
>  extract_identify(int driveid, u16 *buffer)
>  {
> -    dprintf(3, "Identify w0=%x w2=%x\n", buffer[0], buffer[2]);
> +    hexdump(buffer, 512);
> 
>      // Read model name
>      char *model = ATA.devices[driveid].model;
> @@ -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