2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>

* stage2/builtins.c (install_func): If DEST_DRIVE is a hard
  disk, enable the workaround in Stage 1 by replacing the jmp
  with double nop's.

  * stage1/stage1.h (STAGE1_BOOT_DRIVE_CHECK): New macro.
  (STAGE1_BOOT_DRIVE_MASK): Removed.

  * stage1/stage1.S (boot_drive_check): New label. This implements
  a different workaround for buggy BIOSes which don't pass boot
  drive correctly. This is effective for BIOSes which pass a value
  without the seventh bit (0x80).
  (boot_drive_mask): Removed.
This commit is contained in:
okuji committed 2005-02-15 22:05:07 +00:00
1 parent fb908db4ad
commit 041e243877
5 files changed
+41 -12

No files matched your search

+2 -2
View File
@@ -51,8 +51,8 @@
/* The offset of STAGE2_SEGMENT. */
#define STAGE1_STAGE2_SEGMENT 0x48
/* The offset of BOOT_DRIVE_MASK. */
#define STAGE1_BOOT_DRIVE_MASK 0x4d
/* The offset of BOOT_DRIVE_CHECK. */
#define STAGE1_BOOT_DRIVE_CHECK 0x4b
/* The offset of a magic number used by Windows NT. */
#define STAGE1_WINDOWS_NT_MAGIC 0x1b8