freebsd-dev/stand/efi/libefi
Toomas Soome fb0df66629 loader.efi: fix EFI getchar() for multiple consoles
This fix is ported from illumos (issue #9970), the analysis and initial
implementation was done by John Levon.

See also: https://www.illumos.org/issues/9970

Currently, efi_cons_getchar() will wait for a key. While this seems to make
sense, the implementation of getchar() in common/console.c will loop across
getchar() for all consoles without doing ischar() first.

This means that if we've configured multiple consoles, we can't input into
the serial, as getchar() will be sat waiting for input only from efi_console.c

This patch does implement a bit more generic key buffer to support
translation of input keys, and we use generic efi_readkey() to reduce
duplication from calls from getchar() and poll().
2018-11-30 08:42:14 +00:00
..
delay.c Simplify the EFI delay() function by calling BS->Stall() 2018-10-26 21:57:22 +00:00
devicename.c Remove d_type from devdesc. It's not needed as we can fetch it from 2018-03-12 21:39:59 +00:00
devpath.c Implement efi_devpath_length 2018-07-23 20:36:50 +00:00
efi_console.c loader.efi: fix EFI getchar() for multiple consoles 2018-11-30 08:42:14 +00:00
efi_driver_utils.c
efichar.c utf8_to_ucs2() should check for malloc failure 2018-01-16 20:35:54 +00:00
efienv.c libefi: UEFI_BOOT_VAR_GUID duplicates EFI_GLOBAL_VARIABLE 2018-03-15 05:58:35 +00:00
efinet.c efinet: Do not return only if ReceiveFilter fails 2018-03-30 16:37:08 +00:00
efipart.c Implement efiblk_get_pdinfo_by_device_path 2018-07-23 20:36:54 +00:00
efizfs.c Provide a more direct interface to tell ZFS what the preferred handle 2018-06-15 19:07:26 +00:00
env.c More typos 2018-07-17 20:26:17 +00:00
errno.c
handles.c
libefi.c
Makefile Move the env convenience routines out of boot1.c. 2018-03-12 21:40:14 +00:00
Makefile.depend
time_event.c
time.c
wchar.c