[SeaBIOS] [PATCH] Support for booting from LSI Logic LSI53C1030, SAS1068, SAS1068e

Kevin O'Connor kevin at koconnor.net
Wed Jan 27 18:30:20 CET 2016


On Wed, Jan 27, 2016 at 06:19:43PM +0100, Paolo Bonzini wrote:
> On 27/01/2016 18:15, Kevin O'Connor wrote:
> > Oh, I understand and agree that recovery isn't worth while.  My
> > concern is that a hardware error here will appear as a silent hang.
> > Breaking out of the loop eventually, calling warn_timeout(), and
> > returning an error code has the benefit of some debugging from seabios
> > and likely some strong error messages from the calling app.
> > 
> > As I'm more interested in the debugging then the recovery, a simple
> > addition like this would be an improvement IMO:
> > 
> >     u32 end = calc_timeout(30000);  // 30 second max timeout
> >     for (;;) {
> >         ...
> >         if (timer_check(end)) {
> >             warn_timeout();
> >             return DISK_RET_ECONTROLLER;
> >         }
> >         usleep(50);
> >     }
> 
> I understood this to be your proposal.  The problem is that I wouldn't
> be able to send any further requests later, because of the way the HBA
> is programmed.

I'm a bit confused.  Without my proposal, the machine will silently
busy loop forever and thus also wont be able to send any further
requests.

The only difference, as I see it, is whether or not we report the
problem.

> The only alternative would be a bare bones recovery, which however
> (being bare bones) would not include a timeout and thus would have the
> same problem we're trying to fix.

I agree that is not worthwhile.

-Kevin



More information about the SeaBIOS mailing list