summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/console.c64
-rw-r--r--lib/execute.c12
-rw-r--r--lib/security_policy.c27
-rw-r--r--lib/shell.c4
-rw-r--r--lib/simple_file.c66
-rw-r--r--lib/variables.c57
6 files changed, 103 insertions, 127 deletions
diff --git a/lib/console.c b/lib/console.c
index d2081ffd..50687ea4 100644
--- a/lib/console.c
+++ b/lib/console.c
@@ -38,14 +38,13 @@ SetMem16(CHAR16 *dst, UINT32 n, CHAR16 c)
EFI_STATUS
console_get_keystroke(EFI_INPUT_KEY *key)
{
+ SIMPLE_INPUT_INTERFACE *ci = ST->ConIn;
UINTN EventIndex;
EFI_STATUS efi_status;
do {
- uefi_call_wrapper(BS->WaitForEvent, 3, 1,
- &ST->ConIn->WaitForKey, &EventIndex);
- efi_status = uefi_call_wrapper(ST->ConIn->ReadKeyStroke,
- 2, ST->ConIn, key);
+ gBS->WaitForEvent(1, &ci->WaitForKey, &EventIndex);
+ efi_status = ci->ReadKeyStroke(ci, key);
} while (efi_status == EFI_NOT_READY);
return efi_status;
@@ -65,7 +64,7 @@ console_print_box_at(CHAR16 *str_arr[], int highlight,
if (lines == 0)
return;
- uefi_call_wrapper(co->QueryMode, 4, co, co->Mode->Mode, &cols, &rows);
+ co->QueryMode(co, co->Mode->Mode, &cols, &rows);
/* last row on screen is unusable without scrolling, so ignore it */
rows--;
@@ -108,8 +107,8 @@ console_print_box_at(CHAR16 *str_arr[], int highlight,
Line[0] = BOXDRAW_DOWN_RIGHT;
Line[size_cols - 1] = BOXDRAW_DOWN_LEFT;
Line[size_cols] = L'\0';
- uefi_call_wrapper(co->SetCursorPosition, 3, co, start_col, start_row);
- uefi_call_wrapper(co->OutputString, 2, co, Line);
+ co->SetCursorPosition(co, start_col, start_row);
+ co->OutputString(co, Line);
int start;
if (offset == 0)
@@ -140,19 +139,21 @@ console_print_box_at(CHAR16 *str_arr[], int highlight,
CopyMem(Line + col + 1, s, min(len, size_cols - 2)*2);
}
if (line >= 0 && line == highlight)
- uefi_call_wrapper(co->SetAttribute, 2, co, EFI_LIGHTGRAY | EFI_BACKGROUND_BLACK);
- uefi_call_wrapper(co->SetCursorPosition, 3, co, start_col, i);
- uefi_call_wrapper(co->OutputString, 2, co, Line);
+ co->SetAttribute(co, EFI_LIGHTGRAY |
+ EFI_BACKGROUND_BLACK);
+ co->SetCursorPosition(co, start_col, i);
+ co->OutputString(co, Line);
if (line >= 0 && line == highlight)
- uefi_call_wrapper(co->SetAttribute, 2, co, EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE);
+ co->SetAttribute(co, EFI_LIGHTGRAY |
+ EFI_BACKGROUND_BLUE);
}
SetMem16 (Line, size_cols * 2, BOXDRAW_HORIZONTAL);
Line[0] = BOXDRAW_UP_RIGHT;
Line[size_cols - 1] = BOXDRAW_UP_LEFT;
Line[size_cols] = L'\0';
- uefi_call_wrapper(co->SetCursorPosition, 3, co, start_col, i);
- uefi_call_wrapper(co->OutputString, 2, co, Line);
+ co->SetCursorPosition(co, start_col, i);
+ co->OutputString(co, Line);
FreePool (Line);
@@ -166,17 +167,18 @@ console_print_box(CHAR16 *str_arr[], int highlight)
EFI_INPUT_KEY key;
CopyMem(&SavedConsoleMode, co->Mode, sizeof(SavedConsoleMode));
- uefi_call_wrapper(co->EnableCursor, 2, co, FALSE);
- uefi_call_wrapper(co->SetAttribute, 2, co, EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE);
+ co->EnableCursor(co, FALSE);
+ co->SetAttribute(co, EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE);
console_print_box_at(str_arr, highlight, 0, 0, -1, -1, 0,
count_lines(str_arr));
console_get_keystroke(&key);
- uefi_call_wrapper(co->EnableCursor, 2, co, SavedConsoleMode.CursorVisible);
- uefi_call_wrapper(co->SetCursorPosition, 3, co, SavedConsoleMode.CursorColumn, SavedConsoleMode.CursorRow);
- uefi_call_wrapper(co->SetAttribute, 2, co, SavedConsoleMode.Attribute);
+ co->EnableCursor(co, SavedConsoleMode.CursorVisible);
+ co->SetCursorPosition(co, SavedConsoleMode.CursorColumn,
+ SavedConsoleMode.CursorRow);
+ co->SetAttribute(co, SavedConsoleMode.Attribute);
}
int
@@ -194,7 +196,7 @@ console_select(CHAR16 *title[], CHAR16* selectors[], unsigned int start)
unsigned int selector_offset;
UINTN cols, rows;
- uefi_call_wrapper(co->QueryMode, 4, co, co->Mode->Mode, &cols, &rows);
+ co->QueryMode(co, co->Mode->Mode, &cols, &rows);
for (i = 0; i < selector_lines; i++) {
int len = StrLen(selectors[i]);
@@ -229,8 +231,8 @@ console_select(CHAR16 *title[], CHAR16* selectors[], unsigned int start)
}
CopyMem(&SavedConsoleMode, co->Mode, sizeof(SavedConsoleMode));
- uefi_call_wrapper(co->EnableCursor, 2, co, FALSE);
- uefi_call_wrapper(co->SetAttribute, 2, co, EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE);
+ co->EnableCursor(co, FALSE);
+ co->SetAttribute(co, EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE);
console_print_box_at(title, -1, 0, 0, -1, -1, 1, count_lines(title));
@@ -268,9 +270,10 @@ console_select(CHAR16 *title[], CHAR16* selectors[], unsigned int start)
} while (!(k.ScanCode == SCAN_NULL
&& k.UnicodeChar == CHAR_CARRIAGE_RETURN));
- uefi_call_wrapper(co->EnableCursor, 2, co, SavedConsoleMode.CursorVisible);
- uefi_call_wrapper(co->SetCursorPosition, 3, co, SavedConsoleMode.CursorColumn, SavedConsoleMode.CursorRow);
- uefi_call_wrapper(co->SetAttribute, 2, co, SavedConsoleMode.Attribute);
+ co->EnableCursor(co, SavedConsoleMode.CursorVisible);
+ co->SetCursorPosition(co, SavedConsoleMode.CursorColumn,
+ SavedConsoleMode.CursorRow);
+ co->SetAttribute(co, SavedConsoleMode.Attribute);
if (selector < 0)
/* ESC pressed */
@@ -405,10 +408,10 @@ console_reset(void)
{
SIMPLE_TEXT_OUTPUT_INTERFACE *co = ST->ConOut;
- uefi_call_wrapper(co->Reset, 2, co, TRUE);
+ co->Reset(co, TRUE);
/* set mode 0 - required to be 80x25 */
- uefi_call_wrapper(co->SetMode, 2, co, 0);
- uefi_call_wrapper(co->ClearScreen, 1, co);
+ co->SetMode(co, 0);
+ co->ClearScreen(co);
}
UINT8 verbose;
@@ -444,8 +447,7 @@ VOID setup_console (int text)
if (text) {
new_mode = EfiConsoleControlScreenText;
- efi_status = uefi_call_wrapper(concon->GetMode, 4, concon,
- &mode, 0, 0);
+ efi_status = concon->GetMode(concon, &mode, 0, 0);
/* If that didn't work, assume it's graphics */
if (EFI_ERROR(efi_status))
mode = EfiConsoleControlScreenGraphics;
@@ -453,7 +455,7 @@ VOID setup_console (int text)
new_mode = mode;
}
- uefi_call_wrapper(concon->SetMode, 2, concon, new_mode);
+ concon->SetMode(concon, new_mode);
}
static int
@@ -480,7 +482,7 @@ print_crypto_errors(EFI_STATUS efi_status,
VOID
msleep(unsigned long msecs)
{
- uefi_call_wrapper(BS->Stall, 1, msecs);
+ gBS->Stall(msecs);
}
/* This is used in various things to determine if we should print to the
diff --git a/lib/execute.c b/lib/execute.c
index 7bd775fa..366af3c8 100644
--- a/lib/execute.c
+++ b/lib/execute.c
@@ -101,23 +101,21 @@ execute(EFI_HANDLE image, CHAR16 *name)
EFI_DEVICE_PATH *devpath;
CHAR16 *PathName;
- efi_status = uefi_call_wrapper(BS->HandleProtocol, 3, image,
- &IMAGE_PROTOCOL, (void **)&li);
+ efi_status = gBS->HandleProtocol(image, &IMAGE_PROTOCOL,
+ (void **) &li);
if (EFI_ERROR(efi_status))
return efi_status;
-
efi_status = generate_path(name, li, &devpath, &PathName);
if (EFI_ERROR(efi_status))
return efi_status;
- efi_status = uefi_call_wrapper(BS->LoadImage, 6, FALSE, image,
- devpath, NULL, 0, &h);
+ efi_status = gBS->LoadImage(FALSE, image, devpath, NULL, 0, &h);
if (EFI_ERROR(efi_status))
goto out;
- efi_status = uefi_call_wrapper(BS->StartImage, 3, h, NULL, NULL);
- uefi_call_wrapper(BS->UnloadImage, 1, h);
+ efi_status = gBS->StartImage(h, NULL, NULL);
+ gBS->UnloadImage(h);
out:
FreePool(PathName);
diff --git a/lib/security_policy.c b/lib/security_policy.c
index a84b0578..211f1cfd 100644
--- a/lib/security_policy.c
+++ b/lib/security_policy.c
@@ -10,6 +10,7 @@
#include <efilib.h>
#include "shim.h"
+
#include <variables.h>
#include <simple_file.h>
#include <errors.h>
@@ -84,8 +85,7 @@ security2_policy_authentication (
/* Chain original security policy */
- efi_status = uefi_call_wrapper(es2fa, 5, This, DevicePath, FileBuffer,
- FileSize, BootPolicy);
+ efi_status = es2fa(This, DevicePath, FileBuffer, FileSize, BootPolicy);
/* if OK, don't bother with MOK check */
if (!EFI_ERROR(efi_status))
return efi_status;
@@ -120,10 +120,10 @@ security_policy_authentication (
VOID *FileBuffer;
UINTN FileSize;
CHAR16* DevPathStr;
+ EFI_GUID SIMPLE_FS_PROTOCOL = EFI_SIMPLE_FILE_SYSTEM_PROTOCOL_GUID;
/* Chain original security policy */
- efi_status = uefi_call_wrapper(esfas, 3, This, AuthenticationStatus,
- DevicePathConst);
+ efi_status = esfas(This, AuthenticationStatus, DevicePathConst);
/* if OK avoid checking MOK: It's a bit expensive to
* read the whole file in again (esfas already did this) */
if (!EFI_ERROR(efi_status))
@@ -133,8 +133,7 @@ security_policy_authentication (
* EFI_SECURITY_VIOLATION */
fail_status = efi_status;
- efi_status = uefi_call_wrapper(BS->LocateDevicePath, 3,
- &SIMPLE_FS_PROTOCOL, &DevPath, &h);
+ efi_status = gBS->LocateDevicePath(&SIMPLE_FS_PROTOCOL, &DevPath, &h);
if (EFI_ERROR(efi_status))
goto out;
@@ -147,7 +146,7 @@ security_policy_authentication (
goto out;
efi_status = simple_file_read_all(f, &FileSize, &FileBuffer);
- simple_file_close(f);
+ f->Close(f);
if (EFI_ERROR(efi_status))
goto out;
@@ -273,13 +272,11 @@ security_policy_install(SecurityHook hook)
/* Don't bother with status here. The call is allowed
* to fail, since SECURITY2 was introduced in PI 1.2.1
* If it fails, use security2_protocol == NULL as indicator */
- uefi_call_wrapper(BS->LocateProtocol, 3,
- &SECURITY2_PROTOCOL_GUID, NULL,
+ LibLocateProtocol(&SECURITY2_PROTOCOL_GUID,
(VOID **) &security2_protocol);
- efi_status = uefi_call_wrapper(BS->LocateProtocol, 3,
- &SECURITY_PROTOCOL_GUID, NULL,
- (VOID **) &security_protocol);
+ efi_status = LibLocateProtocol(&SECURITY_PROTOCOL_GUID,
+ (VOID **) &security_protocol);
if (EFI_ERROR(efi_status))
/* This one is mandatory, so there's a serious problem */
return efi_status;
@@ -308,8 +305,7 @@ security_policy_uninstall(void)
if (esfas) {
EFI_SECURITY_PROTOCOL *security_protocol;
- efi_status = uefi_call_wrapper(BS->LocateProtocol, 3,
- &SECURITY_PROTOCOL_GUID, NULL,
+ efi_status = LibLocateProtocol(&SECURITY_PROTOCOL_GUID,
(VOID **) &security_protocol);
if (EFI_ERROR(efi_status))
return efi_status;
@@ -324,8 +320,7 @@ security_policy_uninstall(void)
if (es2fa) {
EFI_SECURITY2_PROTOCOL *security2_protocol;
- efi_status = uefi_call_wrapper(BS->LocateProtocol, 3,
- &SECURITY2_PROTOCOL_GUID, NULL,
+ efi_status = LibLocateProtocol(&SECURITY2_PROTOCOL_GUID,
(VOID **) &security2_protocol);
if (EFI_ERROR(efi_status))
return efi_status;
diff --git a/lib/shell.c b/lib/shell.c
index 79cc41d4..6d2312eb 100644
--- a/lib/shell.c
+++ b/lib/shell.c
@@ -20,8 +20,8 @@ argsplit(EFI_HANDLE image, int *argc, CHAR16*** ARGV)
*argc = 0;
- efi_status = uefi_call_wrapper(BS->HandleProtocol, 3, image,
- &LoadedImageProtocol, (VOID **) &info);
+ efi_status = gBS->HandleProtocol(image, &LoadedImageProtocol,
+ (VOID **) &info);
if (EFI_ERROR(efi_status)) {
Print(L"Failed to get arguments\n");
return efi_status;
diff --git a/lib/simple_file.c b/lib/simple_file.c
index c9500353..8b2324c0 100644
--- a/lib/simple_file.c
+++ b/lib/simple_file.c
@@ -16,23 +16,21 @@ simple_file_open_by_handle(EFI_HANDLE device, CHAR16 *name, EFI_FILE **file, UIN
EFI_FILE_IO_INTERFACE *drive;
EFI_FILE *root;
- efi_status = uefi_call_wrapper(BS->HandleProtocol, 3, device,
- &EFI_SIMPLE_FILE_SYSTEM_GUID, (void **)&drive);
-
+ efi_status = gBS->HandleProtocol(device, &EFI_SIMPLE_FILE_SYSTEM_GUID,
+ (void **)&drive);
if (EFI_ERROR(efi_status)) {
- Print(L"Unable to find simple file protocol (%d)\n", efi_status);
+ Print(L"Unable to find simple file protocol (%d)\n",
+ efi_status);
goto error;
}
- efi_status = uefi_call_wrapper(drive->OpenVolume, 2, drive, &root);
-
+ efi_status = drive->OpenVolume(drive, &root);
if (EFI_ERROR(efi_status)) {
Print(L"Failed to open drive volume (%d)\n", efi_status);
goto error;
}
- efi_status = uefi_call_wrapper(root->Open, 5, root, file, name,
- mode, 0);
+ efi_status = root->Open(root, file, name, mode, 0);
error:
return efi_status;
@@ -47,14 +45,12 @@ simple_file_open(EFI_HANDLE image, CHAR16 *name, EFI_FILE **file, UINT64 mode)
EFI_DEVICE_PATH *loadpath = NULL;
CHAR16 *PathName = NULL;
- efi_status = uefi_call_wrapper(BS->HandleProtocol, 3, image,
- &IMAGE_PROTOCOL, (void **)&li);
-
+ efi_status = gBS->HandleProtocol(image, &IMAGE_PROTOCOL,
+ (void **) &li);
if (EFI_ERROR(efi_status))
return simple_file_open_by_handle(image, name, file, mode);
efi_status = generate_path(name, li, &loadpath, &PathName);
-
if (EFI_ERROR(efi_status)) {
Print(L"Unable to generate load path for %s\n", name);
return efi_status;
@@ -79,8 +75,7 @@ simple_dir_read_all_by_handle(EFI_HANDLE image, EFI_FILE *file, CHAR16* name, EF
UINTN size = sizeof(buf);
EFI_FILE_INFO *fi = (void *)buf;
- efi_status = uefi_call_wrapper(file->GetInfo, 4, file, &EFI_FILE_INFO_GUID,
- &size, fi);
+ efi_status = file->GetInfo(file, &EFI_FILE_INFO_GUID, &size, fi);
if (EFI_ERROR(efi_status)) {
Print(L"Failed to get file info\n");
goto out;
@@ -94,13 +89,13 @@ simple_dir_read_all_by_handle(EFI_HANDLE image, EFI_FILE *file, CHAR16* name, EF
*count = 0;
for (;;) {
UINTN len = sizeof(buf);
- efi_status = uefi_call_wrapper(file->Read, 3, file, &len, buf);
+ efi_status = file->Read(file, &len, buf);
if (EFI_ERROR(efi_status) || len == 0)
break;
(*count)++;
size += len;
}
- uefi_call_wrapper(file->SetPosition, 2, file, 0);
+ file->SetPosition(file, 0);
char *ptr = AllocatePool(size);
*entries = (EFI_FILE_INFO *)ptr;
@@ -109,13 +104,13 @@ simple_dir_read_all_by_handle(EFI_HANDLE image, EFI_FILE *file, CHAR16* name, EF
int i;
for (i = 0; i < *count; i++) {
UINTN len = size;
- uefi_call_wrapper(file->Read, 3, file, &len, ptr);
+ file->Read(file, &len, ptr);
ptr += len;
size -= len;
}
efi_status = EFI_SUCCESS;
out:
- simple_file_close(file);
+ file->Close(file);
if (EFI_ERROR(efi_status) && *entries) {
FreePool(*entries);
*entries = NULL;
@@ -149,8 +144,7 @@ simple_file_read_all(EFI_FILE *file, UINTN *size, void **buffer)
*size = sizeof(buf);
fi = (void *)buf;
- efi_status = uefi_call_wrapper(file->GetInfo, 4, file,
- &EFI_FILE_INFO_GUID, size, fi);
+ efi_status = file->GetInfo(file, &EFI_FILE_INFO_GUID, size, fi);
if (EFI_ERROR(efi_status)) {
Print(L"Failed to get file info\n");
return efi_status;
@@ -163,8 +157,8 @@ simple_file_read_all(EFI_FILE *file, UINTN *size, void **buffer)
Print(L"Failed to allocate buffer of size %d\n", *size);
return EFI_OUT_OF_RESOURCES;
}
- efi_status = uefi_call_wrapper(file->Read, 3, file, size, *buffer);
+ efi_status = file->Read(file, size, *buffer);
return efi_status;
}
@@ -174,17 +168,10 @@ simple_file_write_all(EFI_FILE *file, UINTN size, void *buffer)
{
EFI_STATUS efi_status;
- efi_status = uefi_call_wrapper(file->Write, 3, file, &size, buffer);
-
+ efi_status = file->Write(file, &size, buffer);
return efi_status;
}
-void
-simple_file_close(EFI_FILE *file)
-{
- uefi_call_wrapper(file->Close, 1, file);
-}
-
EFI_STATUS
simple_volume_selector(CHAR16 **title, CHAR16 **selected, EFI_HANDLE *h)
{
@@ -194,9 +181,11 @@ simple_volume_selector(CHAR16 **title, CHAR16 **selected, EFI_HANDLE *h)
CHAR16 **entries;
int val;
- uefi_call_wrapper(BS->LocateHandleBuffer, 5, ByProtocol,
- &EFI_SIMPLE_FILE_SYSTEM_GUID, NULL, &count, &vol_handles);
-
+ efi_status = gBS->LocateHandleBuffer(ByProtocol,
+ &EFI_SIMPLE_FILE_SYSTEM_GUID,
+ NULL, &count, &vol_handles);
+ if (EFI_ERROR(efi_status))
+ return efi_status;
if (!count || !vol_handles)
return EFI_NOT_FOUND;
@@ -212,21 +201,18 @@ simple_volume_selector(CHAR16 **title, CHAR16 **selected, EFI_HANDLE *h)
CHAR16 *name;
EFI_FILE_IO_INTERFACE *drive;
- efi_status = uefi_call_wrapper(BS->HandleProtocol, 3,
- vol_handles[i],
+ efi_status = gBS->HandleProtocol(vol_handles[i],
&EFI_SIMPLE_FILE_SYSTEM_GUID,
- (void **)&drive);
+ (void **) &drive);
if (EFI_ERROR(efi_status) || !drive)
continue;
- efi_status = uefi_call_wrapper(drive->OpenVolume, 2, drive,
- &root);
+ efi_status = drive->OpenVolume(drive, &root);
if (EFI_ERROR(efi_status))
continue;
- efi_status = uefi_call_wrapper(root->GetInfo, 4, root,
- &EFI_FILE_SYSTEM_INFO_GUID,
- &size, fi);
+ efi_status = root->GetInfo(root, &EFI_FILE_SYSTEM_INFO_GUID,
+ &size, fi);
if (EFI_ERROR(efi_status))
continue;
diff --git a/lib/variables.c b/lib/variables.c
index 122a25d5..9d9ac603 100644
--- a/lib/variables.c
+++ b/lib/variables.c
@@ -89,7 +89,7 @@ CreateTimeBasedPayload(IN OUT UINTN * DataSize, IN OUT UINT8 ** Data)
DescriptorData = (EFI_VARIABLE_AUTHENTICATION_2 *) (NewData);
ZeroMem(&Time, sizeof(EFI_TIME));
- efi_status = uefi_call_wrapper(RT->GetTime, 2, &Time, NULL);
+ efi_status = gRT->GetTime(&Time, NULL);
if (EFI_ERROR(efi_status)) {
FreePool(NewData);
return efi_status;
@@ -157,14 +157,12 @@ SetSecureVariable(CHAR16 *var, UINT8 *Data, UINTN len, EFI_GUID owner,
return efi_status;
}
- efi_status = uefi_call_wrapper(RT->SetVariable, 5, var, &owner,
- EFI_VARIABLE_NON_VOLATILE
- | EFI_VARIABLE_RUNTIME_ACCESS
- | EFI_VARIABLE_BOOTSERVICE_ACCESS
- | EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS
- | options,
- DataSize, Cert);
-
+ efi_status = gRT->SetVariable(var, &owner,
+ EFI_VARIABLE_NON_VOLATILE |
+ EFI_VARIABLE_RUNTIME_ACCESS |
+ EFI_VARIABLE_BOOTSERVICE_ACCESS |
+ EFI_VARIABLE_TIME_BASED_AUTHENTICATED_WRITE_ACCESS |
+ options, DataSize, Cert);
return efi_status;
}
@@ -175,7 +173,8 @@ GetOSIndications(void)
UINTN DataSize = sizeof(indications);
EFI_STATUS efi_status;
- efi_status = uefi_call_wrapper(RT->GetVariable, 5, L"OsIndicationsSupported", &GV_GUID, NULL, &DataSize, &indications);
+ efi_status = gRT->GetVariable(L"OsIndicationsSupported", &GV_GUID,
+ NULL, &DataSize, &indications);
if (EFI_ERROR(efi_status))
return 0;
@@ -188,17 +187,15 @@ SETOSIndicationsAndReboot(UINT64 indications)
UINTN DataSize = sizeof(indications);
EFI_STATUS efi_status;
- efi_status = uefi_call_wrapper(RT->SetVariable, 5, L"OsIndications",
- &GV_GUID,
- EFI_VARIABLE_NON_VOLATILE
- | EFI_VARIABLE_RUNTIME_ACCESS
- | EFI_VARIABLE_BOOTSERVICE_ACCESS,
- DataSize, &indications);
-
+ efi_status = gRT->SetVariable(L"OsIndications", &GV_GUID,
+ EFI_VARIABLE_NON_VOLATILE |
+ EFI_VARIABLE_RUNTIME_ACCESS |
+ EFI_VARIABLE_BOOTSERVICE_ACCESS,
+ DataSize, &indications);
if (EFI_ERROR(efi_status))
return efi_status;
- uefi_call_wrapper(RT->ResetSystem, 4, EfiResetWarm, EFI_SUCCESS, 0, NULL);
+ gRT->ResetSystem(EfiResetWarm, EFI_SUCCESS, 0, NULL);
/* does not return */
return EFI_SUCCESS;
@@ -212,8 +209,7 @@ get_variable_attr(CHAR16 *var, UINT8 **data, UINTN *len, EFI_GUID owner,
*len = 0;
- efi_status = uefi_call_wrapper(RT->GetVariable, 5, var, &owner,
- NULL, len, NULL);
+ efi_status = gRT->GetVariable(var, &owner, NULL, len, NULL);
if (efi_status != EFI_BUFFER_TOO_SMALL) {
if (!EFI_ERROR(efi_status)) /* this should never happen */
return EFI_PROTOCOL_ERROR;
@@ -224,8 +220,7 @@ get_variable_attr(CHAR16 *var, UINT8 **data, UINTN *len, EFI_GUID owner,
if (!*data)
return EFI_OUT_OF_RESOURCES;
- efi_status = uefi_call_wrapper(RT->GetVariable, 5, var, &owner,
- attributes, len, *data);
+ efi_status = gRT->GetVariable(var, &owner, attributes, len, *data);
if (EFI_ERROR(efi_status)) {
FreePool(*data);
*data = NULL;
@@ -282,8 +277,8 @@ variable_is_setupmode(int default_return)
UINTN DataSize = sizeof(SetupMode);
EFI_STATUS efi_status;
- efi_status = uefi_call_wrapper(RT->GetVariable, 5, L"SetupMode",
- &GV_GUID, NULL, &DataSize, &SetupMode);
+ efi_status = gRT->GetVariable(L"SetupMode", &GV_GUID, NULL,
+ &DataSize, &SetupMode);
if (EFI_ERROR(efi_status))
return default_return;
@@ -299,8 +294,8 @@ variable_is_secureboot(void)
EFI_STATUS efi_status;
DataSize = sizeof(SecureBoot);
- efi_status = uefi_call_wrapper(RT->GetVariable, 5, L"SecureBoot",
- &GV_GUID, NULL, &DataSize, &SecureBoot);
+ efi_status = gRT->GetVariable(L"SecureBoot", &GV_GUID, NULL,
+ &DataSize, &SecureBoot);
if (EFI_ERROR(efi_status))
return 0;
@@ -333,10 +328,10 @@ variable_enroll_hash(CHAR16 *var, EFI_GUID owner,
efi_status = SetSecureVariable(var, sig, sizeof(sig), owner,
EFI_VARIABLE_APPEND_WRITE, 0);
else
- efi_status = uefi_call_wrapper(RT->SetVariable, 5, var, &owner,
- EFI_VARIABLE_NON_VOLATILE |
- EFI_VARIABLE_BOOTSERVICE_ACCESS |
- EFI_VARIABLE_APPEND_WRITE,
- sizeof(sig), sig);
+ efi_status = gRT->SetVariable(var, &owner,
+ EFI_VARIABLE_NON_VOLATILE |
+ EFI_VARIABLE_BOOTSERVICE_ACCESS |
+ EFI_VARIABLE_APPEND_WRITE,
+ sizeof(sig), sig);
return efi_status;
}