From owner-freebsd-stable@FreeBSD.ORG Sun May 25 07:05:17 2008 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 38EEE106566C for ; Sun, 25 May 2008 07:05:17 +0000 (UTC) (envelope-from markir@paradise.net.nz) Received: from smtp3.clear.net.nz (smtp3.clear.net.nz [203.97.33.64]) by mx1.freebsd.org (Postfix) with ESMTP id E07F48FC18 for ; Sun, 25 May 2008 07:05:16 +0000 (UTC) (envelope-from markir@paradise.net.nz) Received: from zmori.markir.net (121-73-164-48.dsl.telstraclear.net [121.73.164.48]) by smtp3.clear.net.nz (CLEAR Net Mail) with ESMTP id <0K1E006BRX0PO740@smtp3.clear.net.nz>; Sun, 25 May 2008 19:05:15 +1200 (NZST) Date: Sun, 25 May 2008 19:05:13 +1200 From: Mark Kirkwood In-reply-to: <200805231811.01936.jhb@freebsd.org> To: John Baldwin Message-id: <48390FA9.5080503@paradise.net.nz> MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-15; format=flowed Content-transfer-encoding: 7bit References: <720051dc0805220159n23eb6205yfcf9450be7af5c77@mail.gmail.com> <200805230829.09524.jhb@freebsd.org> <20080523132645.GO29770@deviant.kiev.zoral.com.ua> <200805231811.01936.jhb@freebsd.org> User-Agent: Thunderbird 2.0.0.9 (X11/20080419) Cc: Kostik Belousov , freebsd-stable@freebsd.org, James Seward Subject: Re: BTX loader hangs after version info X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 25 May 2008 07:05:17 -0000 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 :-) Cheers Mark