]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
* grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 4 Jan 2011 14:42:47 +0000 (15:42 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Tue, 4 Jan 2011 14:42:47 +0000 (15:42 +0100)
BIOSes.

ChangeLog
grub-core/disk/i386/pc/biosdisk.c

index 3e20a118b0e50213a668c789605307ce20e7174c..f3fa4d4c034b819f5e650e3546d780a069b6a093 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-01-04  Vladimir Serbinenko  <phcoder@gmail.com>
+
+       * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
+       BIOSes.
+
 2011-01-04  Vladimir Serbinenko  <phcoder@gmail.com>
 
        * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
index 3f9015fb9f5571524d48b0f6fcc623bdc5dfecc4..069bb0b595bce99297d270c0490fadff48ea0bab 100644 (file)
@@ -624,6 +624,11 @@ GRUB_MOD_INIT(biosdisk)
       ((cdrp->media_type & GRUB_BIOSDISK_CDTYPE_MASK)
        == GRUB_BIOSDISK_CDTYPE_NO_EMUL))
     cd_drive = cdrp->drive_no;
+  /* Since diskboot.S rejects devices over 0x90 it must be a CD booted with
+     cdboot.S
+   */
+  if (grub_boot_drive >= 0x90)
+    cd_drive = grub_boot_drive;
 
   grub_disk_dev_register (&grub_biosdisk_dev);
 }