handling of special keys.
+2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
+
+ * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
+ handling of special keys.
+
2010-10-02 Aleš Nesrsta <starous@volny.cz>
* include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
FUNCTION(grub_console_getkey)
pushl %ebp
+ pushl %edi
call prot_to_real
.code16
jz 1f
andl %edx, %eax
- cmp %eax, 0x20
+ cmpl $0x20, %eax
ja 2f
movl %edx, %eax
- leal LOCAL(bypass_table), %esi
+ leal LOCAL(bypass_table), %edi
movl $((LOCAL(bypass_table_end) - LOCAL(bypass_table)) / 2), %ecx
- repne cmpsw
+ repne scasw
jz 3f
- addl $('a' - 1 | GRUB_TERM_CTRL), %eax
+ andl $0xff, %eax
+ addl $(('a' - 1) | GRUB_TERM_CTRL), %eax
jmp 2f
3:
andl $0xff, %eax
1: movl %edx, %eax
shrl $8, %eax
orl $GRUB_TERM_EXTENDED, %eax
-2:
+2:
+ popl %edi
popl %ebp
ret