/** @file\r
Variable operation that will be used by bootmaint\r
\r
-Copyright (c) 2004 - 2011, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2004 - 2012, Intel Corporation. All rights reserved.<BR>\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
Status = gRT->SetVariable (\r
L"BootOrder",\r
&gEfiGlobalVariableGuid,\r
- VAR_FLAG,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
BootOrderListSize * sizeof (UINT16),\r
BootOrderList\r
);\r
Status = gRT->SetVariable (\r
L"DriverOrder",\r
&gEfiGlobalVariableGuid,\r
- VAR_FLAG,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
DriverOrderListSize * sizeof (UINT16),\r
DriverOrderList\r
);\r
Status = gRT->SetVariable (\r
L"ConOut",\r
&gEfiGlobalVariableGuid,\r
- VAR_FLAG,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
GetDevicePathSize (OutDevicePath),\r
OutDevicePath\r
);\r
Status = gRT->SetVariable (\r
L"ConIn",\r
&gEfiGlobalVariableGuid,\r
- VAR_FLAG,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
GetDevicePathSize (InpDevicePath),\r
InpDevicePath\r
);\r
Status = gRT->SetVariable (\r
L"ErrOut",\r
&gEfiGlobalVariableGuid,\r
- VAR_FLAG,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
GetDevicePathSize (ErrDevicePath),\r
ErrDevicePath\r
);\r
Status = gRT->SetVariable (\r
ConsoleName,\r
&gEfiGlobalVariableGuid,\r
- VAR_FLAG,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
GetDevicePathSize (ConDevicePath),\r
ConDevicePath\r
);\r
Status = gRT->SetVariable (\r
DriverString,\r
&gEfiGlobalVariableGuid,\r
- VAR_FLAG,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
BufferSize,\r
Buffer\r
);\r
Status = gRT->SetVariable (\r
L"DriverOrder",\r
&gEfiGlobalVariableGuid,\r
- VAR_FLAG,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
DriverOrderListSize + sizeof (UINT16),\r
NewDriverOrderList\r
);\r
Status = gRT->SetVariable (\r
BootString,\r
&gEfiGlobalVariableGuid,\r
- VAR_FLAG,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
BufferSize,\r
Buffer\r
);\r
Status = gRT->SetVariable (\r
L"BootOrder",\r
&gEfiGlobalVariableGuid,\r
- VAR_FLAG,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
BootOrderListSize + sizeof (UINT16),\r
NewBootOrderList\r
);\r
Status = gRT->SetVariable (\r
L"BootNext",\r
&gEfiGlobalVariableGuid,\r
- VAR_FLAG,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
sizeof (UINT16),\r
&NewMenuEntry->OptionNumber\r
);\r
}\r
}\r
\r
- GroupMultipleLegacyBootOption4SameType (\r
- BootOrderList,\r
- BootOrderListSize / sizeof (UINT16)\r
- );\r
-\r
Status = gRT->SetVariable (\r
L"BootOrder",\r
&gEfiGlobalVariableGuid,\r
- VAR_FLAG,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
BootOrderListSize,\r
BootOrderList\r
);\r
FreePool (BootOrderList);\r
\r
+ GroupMultipleLegacyBootOption4SameType ();\r
+\r
BOpt_FreeMenu (&BootOptionMenu);\r
BOpt_GetBootOptions (CallbackData);\r
\r
Status = gRT->SetVariable (\r
L"DriverOrder",\r
&gEfiGlobalVariableGuid,\r
- VAR_FLAG,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
DriverOrderListSize,\r
NewDriverOrderList\r
);\r
UINTN EnBootOptionCount;\r
UINT16 *DisBootOption;\r
UINTN DisBootOptionCount;\r
- UINT16 *BootOrder;\r
\r
DisMap = NULL;\r
NewOrder = NULL;\r
Status = gRT->SetVariable (\r
VAR_LEGACY_DEV_ORDER,\r
&gEfiLegacyDevOrderVariableGuid,\r
- VAR_FLAG,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
VarSize,\r
OriginalPtr\r
);\r
// 1. Re-order the Option Number in BootOrder according to Legacy Dev Order\r
//\r
ASSERT (OptionMenu->MenuNumber == DevOrder->Length / sizeof (UINT16) - 1);\r
- BootOrder = BdsLibGetVariableAndSize (\r
- L"BootOrder",\r
- &gEfiGlobalVariableGuid,\r
- &VarSize\r
- );\r
- ASSERT (BootOrder != NULL);\r
-\r
- DisBootOption = AllocatePool (VarSize);\r
- ASSERT (DisBootOption != NULL);\r
- EnBootOption = AllocatePool (VarSize);\r
- ASSERT (EnBootOption != NULL);\r
- \r
+\r
OrderLegacyBootOption4SameType (\r
- BootOrder,\r
- VarSize / sizeof (UINT16),\r
DevOrder->Data,\r
DevOrder->Length / sizeof (UINT16) - 1,\r
- EnBootOption,\r
+ &EnBootOption,\r
&EnBootOptionCount,\r
- DisBootOption,\r
+ &DisBootOption,\r
&DisBootOptionCount\r
);\r
- \r
- Status = gRT->SetVariable (\r
- L"BootOrder",\r
- &gEfiGlobalVariableGuid,\r
- VAR_FLAG,\r
- VarSize,\r
- BootOrder\r
- );\r
- ASSERT_EFI_ERROR (Status);\r
-\r
- FreePool (BootOrder);\r
\r
//\r
// 2. Deactivate the DisBootOption and activate the EnBootOption\r
Status = gRT->SetVariable (\r
VarName,\r
&gEfiGlobalVariableGuid,\r
- VAR_FLAG,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
OptionSize,\r
BootOptionVar\r
);\r
Status = gRT->SetVariable (\r
VarName,\r
&gEfiGlobalVariableGuid,\r
- VAR_FLAG,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
OptionSize,\r
BootOptionVar\r
);\r