Lines Matching defs:Variable

42   Emulation Variable services operate on the runtime volatile memory.
56 #include "Variable.h"
71 Update the variable region with Variable information. These are the same
72 arguments as the EFI Variable services.
78 @param[in] Data Variable data
84 @param[in] Variable The variable information which is used to keep track of variable usage.
88 @retval EFI_OUT_OF_RESOURCES Variable region is full, can not write other data into this region.
99 IN VARIABLE_POINTER_TRACK *Variable
120 @retval EFI_SUCCESS Variable successfully found.
121 @retval EFI_NOT_FOUND Variable not found.
182 @param Variable Pointer to the variable header.
189 IN VARIABLE_HEADER *Variable
192 if (Variable->StartId != VARIABLE_DATA) {
198 return (UINT8 *) ((UINTN) GET_VARIABLE_NAME_PTR (Variable) + Variable->NameSize + GET_PAD_SIZE (Variable->NameSize));
209 @param Variable Pointer to header of the next variable
217 IN VARIABLE_HEADER *Variable
222 if (Variable->StartId != VARIABLE_DATA) {
228 VarHeader = (VARIABLE_HEADER *) HEADER_ALIGN ((UINTN) GetVariableDataPtr (Variable) + Variable->DataSize + GET_PAD_SIZE (Variable->DataSize));
239 @param Variable Pointer to header of the next variable
246 IN VARIABLE_HEADER *Variable
251 VarHeader = GetNextPotentialVariablePtr (Variable);
324 @param[in] VariableName Name of the Variable to track
325 @param[in] VendorGuid Guid of the Variable to track
715 @param[in] Data Variable data
732 VARIABLE_POINTER_TRACK Variable;
802 Status = FindVariable (L"PlatformLang", &gEfiGlobalVariableGuid, &Variable, (VARIABLE_GLOBAL *) mVariableModuleGlobal);
808 Data = GetVariableDataPtr (Variable.CurrPtr);
809 DataSize = Variable.CurrPtr->DataSize;
811 Status = FindVariable (L"Lang", &gEfiGlobalVariableGuid, &Variable, (VARIABLE_GLOBAL *) mVariableModuleGlobal);
817 Data = GetVariableDataPtr (Variable.CurrPtr);
818 DataSize = Variable.CurrPtr->DataSize;
856 FindVariable (L"Lang", &gEfiGlobalVariableGuid, &Variable, (VARIABLE_GLOBAL *)mVariableModuleGlobal);
858 Status = UpdateVariable (L"Lang", &gEfiGlobalVariableGuid, BestLang, ISO_639_2_ENTRY_SIZE + 1, Attributes, &Variable);
860 DEBUG ((EFI_D_INFO, "Variable Driver Auto Update PlatformLang, PlatformLang:%a, Lang:%a\n", BestPlatformLang, BestLang));
889 FindVariable (L"PlatformLang", &gEfiGlobalVariableGuid, &Variable, (VARIABLE_GLOBAL *)mVariableModuleGlobal);
892 AsciiStrSize (BestPlatformLang), Attributes, &Variable);
894 DEBUG ((EFI_D_INFO, "Variable Driver Auto Update Lang, Lang:%a, PlatformLang:%a\n", BestLang, BestPlatformLang));
902 Update the variable region with Variable information. These are the same
903 arguments as the EFI Variable services.
909 @param[in] Data Variable data
915 @param[in] Variable The variable information which is used to keep track of variable usage.
919 @retval EFI_OUT_OF_RESOURCES Variable region is full, can not write other data into this region.
930 IN VARIABLE_POINTER_TRACK *Variable
944 if (Variable->CurrPtr != NULL) {
955 if (Variable->Volatile) {
962 if ((Variable->CurrPtr->Attributes & EFI_VARIABLE_NON_VOLATILE) == 0) {
973 Variable->CurrPtr->State &= VAR_DELETED;
974 UpdateVariableInfo (VariableName, VendorGuid, Variable->Volatile, FALSE, FALSE, TRUE, FALSE);
983 if (Variable->CurrPtr->DataSize == DataSize &&
984 CompareMem (Data, GetVariableDataPtr (Variable->CurrPtr), DataSize) == 0
988 } else if (Variable->CurrPtr->State == VAR_ADDED) {
992 Variable->CurrPtr->State &= VAR_IN_DELETED_TRANSITION;
1089 if (Variable->CurrPtr != NULL) {
1090 Variable->CurrPtr->State &= VAR_DELETED;
1093 UpdateVariableInfo (VariableName, VendorGuid, Variable->Volatile, FALSE, TRUE, FALSE, FALSE);
1119 @retval EFI_SUCCESS Variable successfully found.
1120 @retval EFI_NOT_FOUND Variable not found.
1131 VARIABLE_HEADER *Variable[2];
1145 Variable[0] = (VARIABLE_HEADER *) HEADER_ALIGN (VariableStoreHeader[0] + 1);
1146 Variable[1] = (VARIABLE_HEADER *) HEADER_ALIGN (VariableStoreHeader[1] + 1);
1158 while ((Variable[Index] < GetEndPointer (VariableStoreHeader[Index])) && (Variable[Index] != NULL)) {
1159 if (Variable[Index]->StartId == VARIABLE_DATA && Variable[Index]->State == VAR_ADDED) {
1160 if (!(EfiAtRuntime () && ((Variable[Index]->Attributes & EFI_VARIABLE_RUNTIME_ACCESS) == 0))) {
1162 PtrTrack->CurrPtr = Variable[Index];
1166 if (CompareGuid (VendorGuid, &Variable[Index]->VendorGuid)) {
1167 if (CompareMem (VariableName, GET_VARIABLE_NAME_PTR (Variable[Index]), Variable[Index]->NameSize) == 0) {
1168 PtrTrack->CurrPtr = Variable[Index];
1177 Variable[Index] = GetNextVariablePtr (Variable[Index]);
1216 VARIABLE_POINTER_TRACK Variable;
1230 Status = FindVariable (VariableName, VendorGuid, &Variable, Global);
1232 if (Variable.CurrPtr == NULL || EFI_ERROR (Status)) {
1238 VarDataSize = Variable.CurrPtr->DataSize;
1244 VariableDataPtr = GetVariableDataPtr (Variable.CurrPtr);
1249 *Attributes = Variable.CurrPtr->Attributes;
1253 UpdateVariableInfo (VariableName, VendorGuid, Variable.Volatile, TRUE, FALSE, FALSE, FALSE);
1294 VARIABLE_POINTER_TRACK Variable;
1304 Status = FindVariable (VariableName, VendorGuid, &Variable, Global);
1306 if (Variable.CurrPtr == NULL || EFI_ERROR (Status)) {
1315 Variable.CurrPtr = GetNextVariablePtr (Variable.CurrPtr);
1321 if (Variable.CurrPtr >= Variable.EndPtr || Variable.CurrPtr == NULL) {
1322 Variable.Volatile = (BOOLEAN) (Variable.Volatile ^ ((BOOLEAN) 0x1));
1323 if (Variable.Volatile) {
1324 Variable.StartPtr = (VARIABLE_HEADER *) HEADER_ALIGN ((UINTN) (Global->VolatileVariableBase + sizeof (VARIABLE_STORE_HEADER)));
1325 Variable.EndPtr = (VARIABLE_HEADER *) GetEndPointer ((VARIABLE_STORE_HEADER *) ((UINTN) Global->VolatileVariableBase));
1331 Variable.CurrPtr = Variable.StartPtr;
1332 if (Variable.CurrPtr->StartId != VARIABLE_DATA) {
1337 // Variable is found
1339 if (Variable.CurrPtr->StartId == VARIABLE_DATA && Variable.CurrPtr->State == VAR_ADDED) {
1340 if (!(EfiAtRuntime () && ((Variable.CurrPtr->Attributes & EFI_VARIABLE_RUNTIME_ACCESS) == 0))) {
1341 VarNameSize = Variable.CurrPtr->NameSize;
1345 GET_VARIABLE_NAME_PTR (Variable.CurrPtr),
1350 &Variable.CurrPtr->VendorGuid,
1412 VARIABLE_POINTER_TRACK Variable;
1472 Status = FindVariable (VariableName, VendorGuid, &Variable, Global);
1479 Status = UpdateVariable (VariableName, VendorGuid, Data, DataSize, Attributes, &Variable);
1516 VARIABLE_HEADER *Variable;
1598 Variable = (VARIABLE_HEADER *) HEADER_ALIGN (VariableStoreHeader + 1);
1603 while (Variable < GetEndPointer (VariableStoreHeader)) {
1604 NextVariable = GetNextVariablePtr(Variable);
1608 VariableSize = (UINT64) (UINTN) NextVariable - (UINT64) (UINTN) Variable;
1610 if ((Variable->Attributes & EFI_VARIABLE_HARDWARE_ERROR_RECORD) == EFI_VARIABLE_HARDWARE_ERROR_RECORD) {
1619 Variable = NextVariable;
1657 VARIABLE_HEADER *Variable;
1700 "Variable Store reserved at %p appears to be valid\n",
1716 // Variable Specific Data
1739 DEBUG ((EFI_D_INFO, "HOB Variable Store appears to be valid.\n"));
1741 // Flush the HOB variable to Emulation Variable storage.
1743 for ( Variable = (VARIABLE_HEADER *) HEADER_ALIGN (VariableStoreHeader + 1)
1744 ; (Variable < GetEndPointer (VariableStoreHeader) && (Variable != NULL))
1745 ; Variable = GetNextVariablePtr (Variable)
1747 ASSERT (Variable->State == VAR_ADDED);
1748 ASSERT ((Variable->Attributes & EFI_VARIABLE_NON_VOLATILE) != 0);
1749 VariableData = GetVariableDataPtr (Variable);
1751 GET_VARIABLE_NAME_PTR (Variable),
1752 &Variable->VendorGuid,
1753 Variable->Attributes,
1754 Variable->DataSize,