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>
|
2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
|
||||||
|
|
||||||
* term/i386/pc/at_keyboard.c
|
* term/i386/pc/at_keyboard.c
|
||||||
|
|
|
@ -764,6 +764,11 @@ FUNCTION(grub_biosdisk_get_diskinfo_int13_extensions)
|
||||||
movw %cx, %ax
|
movw %cx, %ax
|
||||||
movw %bx, %ds
|
movw %bx, %ds
|
||||||
int $0x13 /* do the operation */
|
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 */
|
movb %ah, %bl /* save return value in %bl */
|
||||||
/* back to protected mode */
|
/* back to protected mode */
|
||||||
DATA32 call real_to_prot
|
DATA32 call real_to_prot
|
||||||
|
@ -807,6 +812,11 @@ FUNCTION(grub_biosdisk_get_diskinfo_standard)
|
||||||
.code16
|
.code16
|
||||||
movb $0x8, %ah
|
movb $0x8, %ah
|
||||||
int $0x13 /* do the operation */
|
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 */
|
/* check if successful */
|
||||||
testb %ah, %ah
|
testb %ah, %ah
|
||||||
jnz 1f
|
jnz 1f
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue