Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 May 2008 16:59:06 +0200
From:      Peter Holm <peter@holm.cc>
To:        Mark Kirkwood <markir@paradise.net.nz>
Cc:        freebsd-stable <freebsd-stable@freebsd.org>, John Baldwin <jhb@freebsd.org>
Subject:   Re: BTX loader hangs after version info
Message-ID:  <20080525145906.GA96904@peter.osted.lan>
In-Reply-To: <4839243D.7000700@paradise.net.nz>
References:  <720051dc0805220159n23eb6205yfcf9450be7af5c77@mail.gmail.com> <200805230829.09524.jhb@freebsd.org> <20080523132645.GO29770@deviant.kiev.zoral.com.ua> <200805231811.01936.jhb@freebsd.org> <48390FA9.5080503@paradise.net.nz> <4839243D.7000700@paradise.net.nz>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, May 25, 2008 at 08:33:01PM +1200, Mark Kirkwood wrote:
> I wrote:
> >John Baldwin wrote:
> >>
> >>Try this patch.  I'm not 100% certain this will fix it as I can't 
> >>reproduce
> >>the issue, but I think it might help.  Specifically, when the boot 
> >>code makes
> >>a v86 call, the loader/boot2/whatever swaps in/out a new set of 
> >>registers via
> >>the v86 structure including the eflags register.  However, none of 
> >>the boot
> >>programs actually initialized the v86 structure.   Thus, the BIOS 
> >>routines
> >>would start off running with whatever garbage was in v86.efl when 
> >>each boot
> >>program started.  This meant that we could end up invoking BIOS 
> >>routines with
> >>interrupts disabled, and I think this might explain a hard hang (if a 
> >>BIOS
> >>routine was waiting for an interrupt the interrupt would never 
> >>fire).  The
> >>patch fixes all the boot programs to initialize v86 to a better known 
> >>state. At the least it sets v86.efl to a sane value (0x202) rather 
> >>than random.  (The
> >>random might have always been 0x0 BTW, not sure on that one.)
> >>
> >>  
> >Thanks John,
> >
> >Unfortunately this patch does *not* cure the issue for my old 
> >Supermicro P3TDDE, it still hangs just before presenting the menu. I 
> >had to boot off the livefs and copy /boot/loader.old -> /boot/loader 
> >to get back to being bootable again - but at least the old fella is on 
> >a more up-to-date 7-STABLE now :-)
> 
> Given that the patch *did* cure Peters Tyan S2720, I'll double check I 
> didn't fat finger applying the patch (mind you the Tyan has AMI BOIS - 
> same as my Supermicro P3TDERs that *do* work ok with current 7-STABLE, 
> whereas the P3TDDE has Award BIOS).
> 
> Anyway, I'll double check and report back...
> 
> Cheers
> 
> Mark

I now have booted some more with this patch and it would seem that the
problem is still there, from time to time! Most of the time I now boot
without any problems but once in a while the loader still hangs.

I'll try to gather some statistics...
-- 
Peter



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080525145906.GA96904>