summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKeshav Padram <the.ridikulus.rat@gmail.com>2013-06-16 18:31:59 +0200
committerKay Sievers <kay@vrfy.org>2013-06-16 18:31:59 +0200
commite6ebfca6181de76b9dc558d5fdcfe14bc53d507a (patch)
tree63ccf0bf431d4dca46d962550809683012616752 /src
parenta0a53b2c0f2ada5c70805860625a2646a2e5734a (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.c6
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
);