diff options
author | Keshav Padram <the.ridikulus.rat@gmail.com> | 2013-06-16 18:31:59 +0200 |
---|---|---|
committer | Kay Sievers <kay@vrfy.org> | 2013-06-16 18:31:59 +0200 |
commit | e6ebfca6181de76b9dc558d5fdcfe14bc53d507a (patch) | |
tree | 63ccf0bf431d4dca46d962550809683012616752 /src | |
parent | a0a53b2c0f2ada5c70805860625a2646a2e5734a (diff) |
EFI_CONSOLE_CONTROL_PROTOCOL structs in console_text_mode() should be declared as EFIAPI
EFI_CONSOLE_CONTROL_PROTOCOL structs in console_text_mode() previously
were not declared as EFIAPI, due to which gummiboot compiled
with gnu-efi 3.0t (with GNU_EFI_USE_MS_ABI enabled) hanged. Fix this by
declaring EFI_CONSOLE_CONTROL_PROTOCOL_{GET_MODE,SET_MODE,LOCK_STD_IN}
as EFIAPI.
Tested in Lenovo Thinkpad E430, UEFI 2.3.1, x86_64 firmware.
Diffstat (limited to 'src')
-rw-r--r-- | src/efi/gummiboot.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/efi/gummiboot.c b/src/efi/gummiboot.c index 20da9ce..ecba84f 100644 --- a/src/efi/gummiboot.c +++ b/src/efi/gummiboot.c @@ -575,19 +575,19 @@ static EFI_STATUS console_text_mode(VOID) { EfiConsoleControlScreenMaxValue, } EFI_CONSOLE_CONTROL_SCREEN_MODE; - typedef EFI_STATUS (*EFI_CONSOLE_CONTROL_PROTOCOL_GET_MODE)( + typedef EFI_STATUS (EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_GET_MODE)( struct _EFI_CONSOLE_CONTROL_PROTOCOL *This, EFI_CONSOLE_CONTROL_SCREEN_MODE *Mode, BOOLEAN *UgaExists, BOOLEAN *StdInLocked ); - typedef EFI_STATUS (*EFI_CONSOLE_CONTROL_PROTOCOL_SET_MODE)( + typedef EFI_STATUS (EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_SET_MODE)( struct _EFI_CONSOLE_CONTROL_PROTOCOL *This, EFI_CONSOLE_CONTROL_SCREEN_MODE Mode ); - typedef EFI_STATUS (*EFI_CONSOLE_CONTROL_PROTOCOL_LOCK_STD_IN)( + typedef EFI_STATUS (EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_LOCK_STD_IN)( struct _EFI_CONSOLE_CONTROL_PROTOCOL *This, CHAR16 *Password ); |