Add new interface GetVariable2 and GetEfiGlobalVariable2 to return more info. Also replace old interface with new one.
Signed-off-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13375 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Implement defer image load services for user identification in UEFI2.2.
|
||||
|
||||
Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
|
||||
Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -532,7 +532,7 @@ IsBootOption (
|
||||
// Try to find the DevicePath in BootOption
|
||||
//
|
||||
UnicodeSPrint (StrTemp, sizeof (StrTemp), L"Boot%04x", Index);
|
||||
OptionBuffer = GetEfiGlobalVariable (StrTemp);
|
||||
GetEfiGlobalVariable2 (StrTemp, &OptionBuffer, NULL);
|
||||
if (OptionBuffer == NULL) {
|
||||
continue;
|
||||
}
|
||||
|
@@ -1065,7 +1065,7 @@ VerifyCertUefiGuid (
|
||||
//
|
||||
// Get KEK database variable.
|
||||
//
|
||||
KekList = GetEfiGlobalVariable (EFI_KEY_EXCHANGE_KEY_NAME);
|
||||
GetEfiGlobalVariable2 (EFI_KEY_EXCHANGE_KEY_NAME, &KekList, NULL);
|
||||
if (KekList == NULL) {
|
||||
return EFI_SECURITY_VIOLATION;
|
||||
}
|
||||
@@ -1260,7 +1260,7 @@ DxeImageVerificationHandler (
|
||||
return EFI_ACCESS_DENIED;
|
||||
}
|
||||
|
||||
SecureBootEnable = GetVariable (EFI_SECURE_BOOT_ENABLE_NAME, &gEfiSecureBootEnableDisableGuid);
|
||||
GetVariable2 (EFI_SECURE_BOOT_ENABLE_NAME, &gEfiSecureBootEnableDisableGuid, &SecureBootEnable, NULL);
|
||||
//
|
||||
// Skip verification if SecureBootEnable variable doesn't exist.
|
||||
//
|
||||
@@ -1278,7 +1278,7 @@ DxeImageVerificationHandler (
|
||||
|
||||
FreePool (SecureBootEnable);
|
||||
|
||||
SetupMode = GetEfiGlobalVariable (EFI_SETUP_MODE_NAME);
|
||||
GetEfiGlobalVariable2 (EFI_SETUP_MODE_NAME, &SetupMode, NULL);
|
||||
|
||||
//
|
||||
// SetupMode doesn't exist means no AuthVar driver is dispatched,
|
||||
@@ -1544,7 +1544,7 @@ VariableWriteCallBack (
|
||||
// If this library is built-in, it means firmware has capability to perform
|
||||
// driver signing verification.
|
||||
//
|
||||
SecureBootModePtr = GetEfiGlobalVariable (EFI_SECURE_BOOT_MODE_NAME);
|
||||
GetEfiGlobalVariable2 (EFI_SECURE_BOOT_MODE_NAME, &SecureBootModePtr, NULL);
|
||||
if (SecureBootModePtr == NULL) {
|
||||
SecureBootMode = SECURE_BOOT_MODE_DISABLE;
|
||||
//
|
||||
|
@@ -410,7 +410,7 @@ DisplayLoadPermit(
|
||||
// Get driver device path.
|
||||
//
|
||||
UnicodeSPrint (VarName, sizeof (VarName), L"Driver%04x", Order[Index]);
|
||||
Var = GetEfiGlobalVariable (VarName);
|
||||
GetEfiGlobalVariable2 (VarName, &Var, NULL);
|
||||
if (Var == NULL) {
|
||||
continue;
|
||||
}
|
||||
@@ -655,7 +655,7 @@ AddToForbidLoad (
|
||||
// Get loadable driver device path.
|
||||
//
|
||||
UnicodeSPrint (VarName, sizeof (VarName), L"Driver%04x", DriverIndex);
|
||||
Var = GetEfiGlobalVariable (VarName);
|
||||
GetEfiGlobalVariable2 (VarName, &Var, NULL);
|
||||
if (Var == NULL) {
|
||||
return;
|
||||
}
|
||||
|
@@ -215,7 +215,7 @@ DeleteVariable (
|
||||
UINTN DataSize;
|
||||
UINT32 Attr;
|
||||
|
||||
Variable = GetVariable (VariableName, VendorGuid);
|
||||
GetVariable2 (VariableName, VendorGuid, &Variable, NULL);
|
||||
if (Variable == NULL) {
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
@@ -2064,7 +2064,7 @@ SecureBootExtractConfigFromVariable (
|
||||
//
|
||||
// Get the SecureBootEnable Variable
|
||||
//
|
||||
SecureBootEnable = GetVariable (EFI_SECURE_BOOT_ENABLE_NAME, &gEfiSecureBootEnableDisableGuid);
|
||||
GetVariable2 (EFI_SECURE_BOOT_ENABLE_NAME, &gEfiSecureBootEnableDisableGuid, &SecureBootEnable, NULL);
|
||||
|
||||
//
|
||||
// If the SecureBootEnable Variable doesn't exist, hide the SecureBoot Enable/Disable
|
||||
@@ -2088,7 +2088,7 @@ SecureBootExtractConfigFromVariable (
|
||||
//
|
||||
// If there is no PK then the Delete Pk button will be gray.
|
||||
//
|
||||
SetupMode = GetVariable (EFI_SETUP_MODE_NAME, &gEfiGlobalVariableGuid);
|
||||
GetVariable2 (EFI_SETUP_MODE_NAME, &gEfiGlobalVariableGuid, &SetupMode, NULL);
|
||||
if (SetupMode == NULL || (*SetupMode) == 1) {
|
||||
ConfigData->HasPk = FALSE;
|
||||
} else {
|
||||
@@ -2098,7 +2098,7 @@ SecureBootExtractConfigFromVariable (
|
||||
//
|
||||
// Get the SecureBootMode from CustomMode variable.
|
||||
//
|
||||
SecureBootMode = GetVariable (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid);
|
||||
GetVariable2 (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid, &SecureBootMode, NULL);
|
||||
if (SecureBootMode == NULL) {
|
||||
ConfigData->SecureBootMode = STANDARD_SECURE_BOOT_MODE;
|
||||
} else {
|
||||
@@ -2298,6 +2298,9 @@ SecureBootCallback (
|
||||
UINTN BufferSize;
|
||||
SECUREBOOT_CONFIGURATION *IfrNvData;
|
||||
UINT16 LabelId;
|
||||
UINT8 *SecureBootEnable;
|
||||
|
||||
SecureBootEnable = NULL;
|
||||
|
||||
if ((This == NULL) || (Value == NULL) || (ActionRequest == NULL)) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
@@ -2326,7 +2329,8 @@ SecureBootCallback (
|
||||
|
||||
switch (QuestionId) {
|
||||
case KEY_SECURE_BOOT_ENABLE:
|
||||
if (NULL != GetVariable (EFI_SECURE_BOOT_ENABLE_NAME, &gEfiSecureBootEnableDisableGuid)) {
|
||||
GetVariable2 (EFI_SECURE_BOOT_ENABLE_NAME, &gEfiSecureBootEnableDisableGuid, &SecureBootEnable, NULL);
|
||||
if (NULL != SecureBootEnable) {
|
||||
if (EFI_ERROR (SaveSecureBootVariable (Value->u8))) {
|
||||
CreatePopUp (
|
||||
EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE,
|
||||
@@ -2513,7 +2517,8 @@ SecureBootCallback (
|
||||
break;
|
||||
|
||||
case KEY_SECURE_BOOT_MODE:
|
||||
if (NULL != GetVariable (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid)) {
|
||||
GetVariable2 (EFI_CUSTOM_MODE_NAME, &gEfiCustomModeEnableGuid, &SecureBootEnable, NULL);
|
||||
if (NULL != SecureBootEnable) {
|
||||
Status = gRT->SetVariable (
|
||||
EFI_CUSTOM_MODE_NAME,
|
||||
&gEfiCustomModeEnableGuid,
|
||||
|
Reference in New Issue
Block a user