Displaying 9 results from an estimated 9 matches for "readkeystroke".
2015 Aug 15
3
[PATCH] EFI booting may hang indefinitely when no keyboard is present
...may hang indefinitely when no keyboard is present on a
machine (or when UEFI has chosen to not init USB due to fast boot).
Reproducible at least with "EFI v2.31 by American Megatrends" on an
Asrock H81M-ITX board.
Reason is the input draining loop near the end in efi/main.c; it calls
ReadKeyStroke() as long as EFI_NOT_READY is not returned. On machines
without keyboard, EFI_DEVICE_ERROR may be returned instead, causing
infinite looping. Positively checking for EFI_SUCCESS keeps the intent
while avoiding this behavior.
Patch is against 6.03; the issue is still present in 6.04 as per
e466...
2015 Oct 07
2
Hyper-V Gen 2 waiting for ldlinux.e64
...fs_init(ops, (void *)&priv);
+ Print(L"fs_init done.\n");
/*
* There may be pending user input that wasn't processed by
@@ -1383,8 +1385,10 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *table)
status = uefi_call_wrapper(in->ReadKeyStroke, 2, in, &key);
} while (status == EFI_SUCCESS);
+ Print(L"load_env32 start\n");
if (!setjmp(load_error_buf))
load_env32(NULL);
+ Print(L"load_env32 done.\n");
/* load_env32() failed.. cancel timer and bailout */...
2015 Feb 20
6
[PATCH 0/1] EFI image booting capabilities
...2015-02-18 19:48:27.215899105 -0700
@@ -1,4 +1,8 @@
/*
+ * EFI image boot capabilities by Patrick Masotta (Serva) (c)2015
+ */
+
+/*
* Copyright 2011-2014 Intel Corporation - All Rights Reserved
*/
@@ -348,7 +352,11 @@ char efi_getchar(char *hi)
do {
status = uefi_call_wrapper(in->ReadKeyStroke, 2, in, &key);
- } while (status == EFI_NOT_READY);
+ } while (status != EFI_NOT_READY);
+
+ status = WaitForSingleEvent(in->WaitForKey, 0);
+ status = uefi_call_wrapper(in->ReadKeyStroke, 2, in, &key);
+
if (!key.ScanCode)
return (char)key.UnicodeChar;
@@ -356,10...
2016 Mar 20
0
[PATCH 0/1] EFI image booting capabilities
...oration - All Rights Reserved
> */
I'm not a legal expert but I've more typically seen newer lines below
the old lines and as a part of the same comment.
> @@ -348,7 +352,11 @@ char efi_getchar(char *hi)
>
> do {
> status = uefi_call_wrapper(in->ReadKeyStroke, 2, in, &key);
> - } while (status == EFI_NOT_READY);
> + } while (status != EFI_NOT_READY);
> +
> + status = WaitForSingleEvent(in->WaitForKey, 0);
> + status = uefi_call_wrapper(in->ReadKeyStroke, 2, in, &key);
> +
>
> if (!k...
2015 Aug 15
0
[PATCH] EFI booting may hang indefinitely when no keyboard is present
...keyboard is present on a
> machine (or when UEFI has chosen to not init USB due to fast boot).
> Reproducible at least with "EFI v2.31 by American Megatrends" on an
> Asrock H81M-ITX board.
>
> Reason is the input draining loop near the end in efi/main.c; it calls
> ReadKeyStroke() as long as EFI_NOT_READY is not returned. On machines
> without keyboard, EFI_DEVICE_ERROR may be returned instead, causing
> infinite looping. Positively checking for EFI_SUCCESS keeps the intent
> while avoiding this behavior.
>
> Patch is against 6.03; the issue is still pre...
2015 Oct 09
0
load_env32 WAS: Hyper-V Gen 2 waiting for ldlinux.e64
...v);
> + Print(L"fs_init done.\n");
>
> /*
> * There may be pending user input that wasn't processed by
> @@ -1383,8 +1385,10 @@ EFI_STATUS efi_main(EFI_HANDLE image, EFI_SYSTEM_TABLE *table)
> status = uefi_call_wrapper(in->ReadKeyStroke, 2, in, &key);
> } while (status == EFI_SUCCESS);
>
> + Print(L"load_env32 start\n");
> if (!setjmp(load_error_buf))
> load_env32(NULL);
> + Print(L"load_env32 done.\n");
>
> /* load_env32() fail...
2015 Oct 08
0
{syslinux} Hyper-V Gen 2 waiting for ldlinux.e64
...> + Print(L"fs_init done.\n");
>
> /*
> * There may be pending user input that wasn't processed by @@ -
> 1383,8 +1385,10 @@ EFI_STATUS efi_main(EFI_HANDLE image,
> EFI_SYSTEM_TABLE *table)
> status = uefi_call_wrapper(in->ReadKeyStroke, 2, in, &key);
> } while (status == EFI_SUCCESS);
>
> + Print(L"load_env32 start\n");
> if (!setjmp(load_error_buf))
> load_env32(NULL);
> + Print(L"load_env32 done.\n");
>
> /* load_env32() failed.....
2015 Oct 07
3
Hyper-V Gen 2 waiting for ldlinux.e64
> On Wed, Oct 07, 2015 at 05:06:41PM -0500, Clements, James via Syslinux
> wrote:
> > > On Wed, Oct 07, 2015 at 06:01:30PM +0200, Geert Stappers via Syslinux
> wrote:
> > > is for BIOS, not for EFI. So that suggestion can be scraped.
> > >
> > > Which makes
> > > * text which is on the screen of the netbooting (virtual) machine
> > >
2015 Mar 14
0
[PATCH 0/1] EFI access from Com32 modules
...ment\n");
+ pressanykey();
+
+ return 0;
+}
+
+#else
+
+char efi_getchar(char *hi)
+{
+ SIMPLE_INPUT_INTERFACE *in = ST->ConIn;
+ EFI_INPUT_KEY key;
+ EFI_STATUS status;
+
+
+ status = WaitForSingleEvent(in->WaitForKey, 0); // 0=> no timeout
+ status = uefi_call_wrapper(in->ReadKeyStroke, 2, in, &key); // get the char
+
+ if (!key.ScanCode)
+ return (char)key.UnicodeChar;
+
+ /*
+ * We currently only handle scan codes that fit in 8 bits.
+ */
+ if(hi)
+ *hi = (char)key.ScanCode;
+
+ return 0;
+
+}
+
+EFI_HANDLE image = NULL;
+EFI_SYSTEM_TABLE* systab = NULL;
+
+int d...