BTX loader hangs after version info

Mark Kirkwood markir at paradise.net.nz
Sun May 25 08:33:29 UTC 2008


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


More information about the freebsd-stable mailing list