2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
* kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions): Ignore return status if CF is cleared. (grub_biosdisk_get_diskinfo_standard): Likewise.
This commit is contained in:
commit
db9433999c
2 changed files with 16 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
|
||||
Ignore return status if CF is cleared.
|
||||
(grub_biosdisk_get_diskinfo_standard): Likewise.
|
||||
|
||||
2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
|
||||
|
||||
* term/i386/pc/at_keyboard.c
|
||||
|
|
|
@ -764,6 +764,11 @@ FUNCTION(grub_biosdisk_get_diskinfo_int13_extensions)
|
|||
movw %cx, %ax
|
||||
movw %bx, %ds
|
||||
int $0x13 /* do the operation */
|
||||
jc noclean
|
||||
/* Clean return value if carry isn't set to workaround
|
||||
some buggy BIOSes. */
|
||||
xor %ax, %ax
|
||||
noclean:
|
||||
movb %ah, %bl /* save return value in %bl */
|
||||
/* back to protected mode */
|
||||
DATA32 call real_to_prot
|
||||
|
@ -807,6 +812,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
|
||||
|
|
Loading…
Reference in a new issue