coreboot-kgpe-d16/payloads
Paul Menzel 7ae606f57f libpayload: Reset PS/2 keyboard
Loading a libpayload based payload like coreinfo or FILO from SeaBIOS or
GRUB pressing keys does not give the expected results.

For example, pressing F1 gives the character 24 translated to scan code
6a. ESC for example 43 (111) in coreinfo loaded from SeaBIOS on QEMU
Q35.

The problem is not reproducible using the payload directly, that means
without SeaBIOS or GRUB. The problem seems to be, that those have already
initialized the PS/2 controller and AT keyboard.

Comparing it with coreboot’s PS/2 keyboard code, the keyboard needs to
be reset. That seems to fix the issue, when the keyboard was initialized
before.

TEST=Build coreboot for QEMU Q35 with SeaBIOS, and coreinfo as secondary
payload. Run

    qemu-system-i386 -M q35 -L /dev/shm -bios build/coreboot.rom -serial stdio

press 3 to select the coreinfo payload, and verify that the keys F1 and
F2 are working.

Same with coreinfo loaded from GRUB on the ASRock E350M1.

Change-Id: I2732292ac316d4bc0029ecb5c95fa7d1e7d68947
Signed-off-by: Paul Menzel <pmenzel@molgen.mpg.de>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/32951
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
2019-05-27 08:15:42 +00:00
..
bayou payloads: Remove/fix trailing whitespace 2018-09-04 12:38:40 +00:00
coreinfo payloads/coreinfo: Remove unused variable 2019-05-15 21:02:49 +00:00
external payloads/seabios: Update the stable git hash of 1.12.1 2019-04-24 10:21:59 +00:00
libpayload libpayload: Reset PS/2 keyboard 2019-05-27 08:15:42 +00:00
linuxcheck rampayload: Add the linuxcheck payload 2018-09-14 09:59:17 +00:00
nvramcui payloads: Replace all IS_ENABLED(CONFIG_XXX) with CONFIG(XXX) 2019-03-07 17:15:30 +00:00
Kconfig payload: Only display `FIT support` on ARM64 platforms 2019-03-28 06:38:02 +00:00
Makefile.inc payloads/external: Add yabits payload 2018-09-16 13:10:17 +00:00