From 5657c7d05b0b15dd01866999c9c868f8725b19a0 Mon Sep 17 00:00:00 2001 From: Riku Viitanen Date: Fri, 21 Apr 2023 22:04:18 +0300 Subject: Add HP EliteBook 2560p --- .../grub/patches/0005-at-keyboard-timeout.patch | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 resources/grub/patches/0005-at-keyboard-timeout.patch (limited to 'resources/grub/patches') diff --git a/resources/grub/patches/0005-at-keyboard-timeout.patch b/resources/grub/patches/0005-at-keyboard-timeout.patch new file mode 100644 index 00000000..bdc2955c --- /dev/null +++ b/resources/grub/patches/0005-at-keyboard-timeout.patch @@ -0,0 +1,36 @@ +From 674002256247a01f4969a3795a5aceca68792a55 Mon Sep 17 00:00:00 2001 +From: Riku Viitanen +Date: Fri, 21 Apr 2023 21:41:07 +0300 +Subject: [PATCH] at_keyboard.c: add timeout to fix hang on hp elitebooks + +This fixes GRUB on Coreboot on HP EliteBooks by implementing +a 200ms timeout. GRUB used to hang. see: https://ticket.coreboot.org/issues/141 +--- + grub-core/term/at_keyboard.c | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/grub-core/term/at_keyboard.c b/grub-core/term/at_keyboard.c +index 597111077..28d1d0a77 100644 +--- a/grub-core/term/at_keyboard.c ++++ b/grub-core/term/at_keyboard.c +@@ -42,7 +42,16 @@ keyboard_controller_wait_until_ready (void) + { + /* 50 us would be enough but our current time resolution is 1ms. */ + grub_millisleep (1); +- while (! KEYBOARD_COMMAND_ISREADY (grub_inb (KEYBOARD_REG_STATUS))); ++ ++ unsigned i = 200; ++ while (! KEYBOARD_COMMAND_ISREADY (grub_inb (KEYBOARD_REG_STATUS))) { ++ grub_millisleep (1); ++ ++ /* Timeout */ ++ if (! i--) { ++ break; ++ } ++ } + } + + static grub_uint8_t +-- +2.40.0 + -- cgit v1.2.1