diff options
-rw-r--r-- | sys/i386/boot/biosboot/start.S | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/sys/i386/boot/biosboot/start.S b/sys/i386/boot/biosboot/start.S index ba01cd5..e413391 100644 --- a/sys/i386/boot/biosboot/start.S +++ b/sys/i386/boot/biosboot/start.S @@ -24,7 +24,7 @@ * the rights to redistribute these changes. * * from: Mach, Revision 2.2 92/04/04 11:36:29 rpd - * $Id$ + * $Id: start.S,v 1.10 1997/02/22 09:30:13 peter Exp $ */ /* @@ -75,6 +75,18 @@ NAMEBLOCKMAGIC= 0xfadefeed /* value of magicnumebr for block2 */ .text ENTRY(boot1) + + /* + * XXX I have encountered at least one machine (a no-name laptop + * with an AMI WinBIOS) that will refuse to run the bootblock + * unless this short jump and nop are here. I'm not certain, but + * this may be a case of the BIOS performing some kind of simple + * virus detection. + */ + jmp pacify_braindead_bios + nop +pacify_braindead_bios: + /* * start (aka boot1) is loaded at 0x0:0x7c00 but we want 0x7c0:0 * ljmp to the next instruction to adjust %cs |