diff options
Diffstat (limited to 'resources/grub/patches/0005-Fix-PS-2-scancode-set-inconsistency.patch')
-rw-r--r-- | resources/grub/patches/0005-Fix-PS-2-scancode-set-inconsistency.patch | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/resources/grub/patches/0005-Fix-PS-2-scancode-set-inconsistency.patch b/resources/grub/patches/0005-Fix-PS-2-scancode-set-inconsistency.patch new file mode 100644 index 00000000..33605840 --- /dev/null +++ b/resources/grub/patches/0005-Fix-PS-2-scancode-set-inconsistency.patch @@ -0,0 +1,39 @@ +From 14090113f9e0fd67e46de33dad609c1406373ff0 Mon Sep 17 00:00:00 2001 +From: Nicholas Chin <nic.c3.14@gmail.com> +Date: Wed, 19 Apr 2023 13:59:38 -0600 +Subject: [PATCH] Fix PS/2 scancode set inconsistency + +GRUB seems to be expecting set 2 scancodes when built as a coreboot +payload, but PS/2 controllers outputting using set 1 will lead to an +unusable keyboard. Disable the coreboot specific logic which hard codes +the translated set 2 keyboard configuration and let GRUB handle +keyboard init the same way as i386-pc, which did not have this issue. +--- + grub-core/term/at_keyboard.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/grub-core/term/at_keyboard.c b/grub-core/term/at_keyboard.c +index 597111077..bb251e222 100644 +--- a/grub-core/term/at_keyboard.c ++++ b/grub-core/term/at_keyboard.c +@@ -87,7 +87,7 @@ 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_COREBOOT) || defined (GRUB_MACHINE_MIPS_QEMU_MIPS) ++#if defined (GRUB_MACHINE_MIPS_LOONGSON) || defined (GRUB_MACHINE_QEMU) || defined (GRUB_MACHINE_MIPS_QEMU_MIPS) + #define USE_SCANCODE_SET 1 + #else + #define USE_SCANCODE_SET 0 +@@ -260,7 +260,7 @@ grub_keyboard_controller_init (void) + #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) ++#elif defined (GRUB_MACHINE_QEMU) + /* *BSD relies on those settings. */ + grub_keyboard_controller_orig = KEYBOARD_AT_TRANSLATE; + grub_keyboard_orig_set = 2; +-- +2.40.0 + |