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:
ydong10
2012-05-30 07:36:00 +00:00
parent 650b87cc1b
commit bf4a3dbd47
20 changed files with 226 additions and 49 deletions

View File

@@ -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;
}

View File

@@ -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;
//

View File

@@ -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;
}

View File

@@ -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,