Date: Mon, 26 May 2008 13:49:02 +1200 From: Mark Kirkwood <markir@paradise.net.nz> To: Peter Holm <peter@holm.cc> Cc: freebsd-stable <freebsd-stable@freebsd.org>, John Baldwin <jhb@freebsd.org> Subject: Re: BTX loader hangs after version info Message-ID: <483A170E.3090204@paradise.net.nz> In-Reply-To: <20080525171632.GA1305@peter.osted.lan> 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>
next in thread | previous in thread | raw e-mail | index | archive | help
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. > > Ok, will do. Incidentally, checking showed that the patch *was* correctly applied. I'll report back in several reboots :-) Mark
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?483A170E.3090204>