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
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "[EMAIL PROTECTED]"