Date: Mon, 26 May 2008 07:27:29 +0200 From: Peter Holm <peter@holm.cc> To: Mark Kirkwood <markir@paradise.net.nz> Cc: Peter Holm <peter@holm.cc>, freebsd-stable <freebsd-stable@freebsd.org>, John Baldwin <jhb@freebsd.org> Subject: Re: BTX loader hangs after version info Message-ID: <20080526052729.GA25171@peter.osted.lan> In-Reply-To: <483A1F0F.1060502@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> <20080525171632.GA1305@peter.osted.lan> <483A1F0F.1060502@paradise.net.nz>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, May 26, 2008 at 02:23:11PM +1200, Mark Kirkwood wrote: > Peter Holm wrote: > >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 did 18 boots with and with out John's patch. With the patch I got 6 > >actual boots and 12 hangs in the loaders progress bar. > > > >Without the patch I got 10 boots and 8 hangs. > > > >But, my Tyan M/B is old and with known ACPI issues so I'm not sure if > >this is of much value. > > > >Mark, it would be nice if you also observe if a sequence of reboots > >eventually boots your system. My longest bad streek was 8 reboots. > > > > > > Yeah, I see the same thing - with John's patch applied, out of 9 reboots > I got 7 hangs and 2 actual boots. (didn't try without the patch). > > Mark OK, that is at least nice with consistency across different HW. -- Peter
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080526052729.GA25171>