]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Second part of the LBA fix
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 27 Nov 2009 12:38:01 +0000 (13:38 +0100)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Fri, 27 Nov 2009 12:38:01 +0000 (13:38 +0100)
ChangeLog.lbafix
kern/i386/pc/startup.S

index add35fb8304c911b8bd552989167ed192912d0f0..ec9737e9c8c701d19d64b8b548837d87c7f968ee 100644 (file)
@@ -2,4 +2,5 @@
 
        * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
        Ignore return status if CF is cleared.
+       (grub_biosdisk_get_diskinfo_standard): Likewise.
 
index 83f0b4ef8bc3890bc5b038a149fa10be6d6e41a9..a81795b22c10bea8b4e52ed4426fd1679511c638 100644 (file)
@@ -824,6 +824,11 @@ FUNCTION(grub_biosdisk_get_diskinfo_standard)
        .code16
        movb    $0x8, %ah
        int     $0x13           /* do the operation */
+       jc      noclean2
+       /* Clean return value if carry isn't set to workaround
+       some buggy BIOSes.  */
+       xor     %ax, %ax
+noclean2:
        /* check if successful */
        testb   %ah, %ah
        jnz     1f