mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-26 17:19:22 +00:00
2008-05-15 Bean <bean123ch@gmail.com>
* kern/i386/pc/startup.S (grub_console_getkey): Workaround for the keyboard hang problem in apple's intel mac.
This commit is contained in:
1 parent
1cf4059a49
commit
a079699e97
2 files changed
+22
No files matched your search
@@ -1240,6 +1240,23 @@ FUNCTION(grub_console_getkey)
|
||||
call prot_to_real
|
||||
.code16
|
||||
|
||||
/*
|
||||
* Due to a bug in apple's bootcamp implementation, INT 16/AH = 0 would
|
||||
* cause the machine to hang at the second keystroke. However, we can
|
||||
* work around this problem by ensuring the presence of keystroke with
|
||||
* INT 16/AH = 1 before calling INT 16/AH = 0.
|
||||
*/
|
||||
|
||||
1:
|
||||
movb $1, %ah
|
||||
int $0x16
|
||||
jnz 2f
|
||||
hlt
|
||||
jmp 1b
|
||||
|
||||
2:
|
||||
|
||||
movb $0, %ah
|
||||
int $0x16
|
||||
|
||||
movw %ax, %dx /* real_to_prot uses %eax */
|
||||
|
||||
Reference in new issue
Block a user