* grub-core/term/at_keyboard.c: Increase robustness on coreboot
and qemu.
This commit is contained in:
parent
e73ba5e8ca
commit
d975e8d59c
2 changed files with 18 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
|||
2013-03-23 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/term/at_keyboard.c: Increase robustness on coreboot
|
||||
and qemu.
|
||||
|
||||
2013-03-22 Vladimir Serbinenko <phcoder@gmail.com>
|
||||
|
||||
* grub-core/fs/zfs/zfs.c: Fix incorrect handling of special volumes.
|
||||
|
|
|
@ -259,7 +259,13 @@ grub_keyboard_controller_write (grub_uint8_t c)
|
|||
grub_outb (c, KEYBOARD_REG_DATA);
|
||||
}
|
||||
|
||||
#if !defined (GRUB_MACHINE_MIPS_LOONGSON) && !defined (GRUB_MACHINE_QEMU) && !defined (GRUB_MACHINE_MIPS_QEMU_MIPS)
|
||||
#if defined (GRUB_MACHINE_MIPS_LOONGSON) || defined (GRUB_MACHINE_QEMU) || defined (GRUB_MACHINE_COREBOOT) || defined (GRUB_MACHINE_MIPS_QEMU_MIPS)
|
||||
#define USE_SCANCODE_SET 1
|
||||
#else
|
||||
#define USE_SCANCODE_SET 0
|
||||
#endif
|
||||
|
||||
#if !USE_SCANCODE_SET
|
||||
|
||||
static grub_uint8_t
|
||||
grub_keyboard_controller_read (void)
|
||||
|
@ -332,7 +338,7 @@ set_scancodes (void)
|
|||
return;
|
||||
}
|
||||
|
||||
#if !(defined (GRUB_MACHINE_MIPS_LOONGSON) || defined (GRUB_MACHINE_QEMU) || defined (GRUB_MACHINE_MIPS_QEMU_MIPS))
|
||||
#if !USE_SCANCODE_SET
|
||||
current_set = 1;
|
||||
return;
|
||||
#else
|
||||
|
@ -570,9 +576,13 @@ grub_keyboard_controller_init (struct grub_term_input *term __attribute__ ((unus
|
|||
keyboard_controller_wait_until_ready ();
|
||||
grub_inb (KEYBOARD_REG_DATA);
|
||||
}
|
||||
#if defined (GRUB_MACHINE_MIPS_LOONGSON) || defined (GRUB_MACHINE_QEMU) || defined (GRUB_MACHINE_MIPS_QEMU_MIPS)
|
||||
#if defined (GRUB_MACHINE_MIPS_LOONGSON) || defined (GRUB_MACHINE_MIPS_QEMU_MIPS)
|
||||
grub_keyboard_controller_orig = 0;
|
||||
grub_keyboard_orig_set = 2;
|
||||
#elif defined (GRUB_MACHINE_QEMU) || defined (GRUB_MACHINE_COREBOOT)
|
||||
/* *BSD relies on those settings. */
|
||||
grub_keyboard_controller_orig = KEYBOARD_AT_TRANSLATE;
|
||||
grub_keyboard_orig_set = 2;
|
||||
#else
|
||||
grub_keyboard_controller_orig = grub_keyboard_controller_read ();
|
||||
grub_keyboard_orig_set = query_mode ();
|
||||
|
|
Loading…
Reference in a new issue