EFI_STATUS\r
EFIAPI\r
ProtocolIsVariablePolicyEnabled (\r
- OUT BOOLEAN *State\r
+ OUT BOOLEAN *State\r
);\r
\r
-EFI_HANDLE mHandle = NULL;\r
-EFI_EVENT mVirtualAddressChangeEvent = NULL;\r
-VOID *mFtwRegistration = NULL;\r
-VOID ***mVarCheckAddressPointer = NULL;\r
-UINTN mVarCheckAddressPointerCount = 0;\r
-EDKII_VARIABLE_LOCK_PROTOCOL mVariableLock = { VariableLockRequestToLock };\r
-EDKII_VARIABLE_POLICY_PROTOCOL mVariablePolicyProtocol = { EDKII_VARIABLE_POLICY_PROTOCOL_REVISION,\r
- DisableVariablePolicy,\r
- ProtocolIsVariablePolicyEnabled,\r
- RegisterVariablePolicy,\r
- DumpVariablePolicy,\r
- LockVariablePolicy };\r
-EDKII_VAR_CHECK_PROTOCOL mVarCheck = { VarCheckRegisterSetVariableCheckHandler,\r
- VarCheckVariablePropertySet,\r
- VarCheckVariablePropertyGet };\r
+EFI_HANDLE mHandle = NULL;\r
+EFI_EVENT mVirtualAddressChangeEvent = NULL;\r
+VOID *mFtwRegistration = NULL;\r
+VOID ***mVarCheckAddressPointer = NULL;\r
+UINTN mVarCheckAddressPointerCount = 0;\r
+EDKII_VARIABLE_LOCK_PROTOCOL mVariableLock = { VariableLockRequestToLock };\r
+EDKII_VARIABLE_POLICY_PROTOCOL mVariablePolicyProtocol = {\r
+ EDKII_VARIABLE_POLICY_PROTOCOL_REVISION,\r
+ DisableVariablePolicy,\r
+ ProtocolIsVariablePolicyEnabled,\r
+ RegisterVariablePolicy,\r
+ DumpVariablePolicy,\r
+ LockVariablePolicy\r
+};\r
+EDKII_VAR_CHECK_PROTOCOL mVarCheck = {\r
+ VarCheckRegisterSetVariableCheckHandler,\r
+ VarCheckVariablePropertySet,\r
+ VarCheckVariablePropertyGet\r
+};\r
\r
/**\r
Some Secure Boot Policy Variable may update following other variable changes(SecureBoot follows PK change, etc).\r
**/\r
VOID\r
EFIAPI\r
-RecordSecureBootPolicyVarData(\r
+RecordSecureBootPolicyVarData (\r
VOID\r
);\r
\r
return EfiAtRuntime ();\r
}\r
\r
-\r
/**\r
Initializes a basic mutual exclusion lock.\r
\r
**/\r
EFI_LOCK *\r
InitializeLock (\r
- IN OUT EFI_LOCK *Lock,\r
- IN EFI_TPL Priority\r
+ IN OUT EFI_LOCK *Lock,\r
+ IN EFI_TPL Priority\r
)\r
{\r
return EfiInitializeLock (Lock, Priority);\r
}\r
\r
-\r
/**\r
Acquires lock only at boot time. Simply returns at runtime.\r
\r
**/\r
VOID\r
AcquireLockOnlyAtBootTime (\r
- IN EFI_LOCK *Lock\r
+ IN EFI_LOCK *Lock\r
)\r
{\r
if (!AtRuntime ()) {\r
}\r
}\r
\r
-\r
/**\r
Releases lock only at boot time. Simply returns at runtime.\r
\r
**/\r
VOID\r
ReleaseLockOnlyAtBootTime (\r
- IN EFI_LOCK *Lock\r
+ IN EFI_LOCK *Lock\r
)\r
{\r
if (!AtRuntime ()) {\r
**/\r
EFI_STATUS\r
GetFtwProtocol (\r
- OUT VOID **FtwProtocol\r
+ OUT VOID **FtwProtocol\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
//\r
// Locate Fault Tolerent Write protocol\r
return gBS->HandleProtocol (\r
FvBlockHandle,\r
&gEfiFirmwareVolumeBlockProtocolGuid,\r
- (VOID **) FvBlock\r
+ (VOID **)FvBlock\r
);\r
}\r
\r
-\r
/**\r
Function returns an array of handles that support the FVB protocol\r
in a buffer allocated from pool.\r
**/\r
EFI_STATUS\r
GetFvbCountAndBuffer (\r
- OUT UINTN *NumberHandles,\r
- OUT EFI_HANDLE **Buffer\r
+ OUT UINTN *NumberHandles,\r
+ OUT EFI_HANDLE **Buffer\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
//\r
// Locate all handles of Fvb protocol\r
return Status;\r
}\r
\r
-\r
/**\r
Notification function of EVT_SIGNAL_VIRTUAL_ADDRESS_CHANGE.\r
\r
VOID\r
EFIAPI\r
VariableClassAddressChangeEvent (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
)\r
{\r
- UINTN Index;\r
+ UINTN Index;\r
\r
if (mVariableModuleGlobal->FvbInstance != NULL) {\r
- EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->FvbInstance->GetBlockSize);\r
- EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->FvbInstance->GetPhysicalAddress);\r
- EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->FvbInstance->GetAttributes);\r
- EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->FvbInstance->SetAttributes);\r
- EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->FvbInstance->Read);\r
- EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->FvbInstance->Write);\r
- EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->FvbInstance->EraseBlocks);\r
- EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->FvbInstance);\r
+ EfiConvertPointer (0x0, (VOID **)&mVariableModuleGlobal->FvbInstance->GetBlockSize);\r
+ EfiConvertPointer (0x0, (VOID **)&mVariableModuleGlobal->FvbInstance->GetPhysicalAddress);\r
+ EfiConvertPointer (0x0, (VOID **)&mVariableModuleGlobal->FvbInstance->GetAttributes);\r
+ EfiConvertPointer (0x0, (VOID **)&mVariableModuleGlobal->FvbInstance->SetAttributes);\r
+ EfiConvertPointer (0x0, (VOID **)&mVariableModuleGlobal->FvbInstance->Read);\r
+ EfiConvertPointer (0x0, (VOID **)&mVariableModuleGlobal->FvbInstance->Write);\r
+ EfiConvertPointer (0x0, (VOID **)&mVariableModuleGlobal->FvbInstance->EraseBlocks);\r
+ EfiConvertPointer (0x0, (VOID **)&mVariableModuleGlobal->FvbInstance);\r
}\r
- EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->PlatformLangCodes);\r
- EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->LangCodes);\r
- EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->PlatformLang);\r
- EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->VariableGlobal.NonVolatileVariableBase);\r
- EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->VariableGlobal.VolatileVariableBase);\r
- EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal->VariableGlobal.HobVariableBase);\r
- EfiConvertPointer (0x0, (VOID **) &mVariableModuleGlobal);\r
- EfiConvertPointer (0x0, (VOID **) &mNvVariableCache);\r
- EfiConvertPointer (0x0, (VOID **) &mNvFvHeaderCache);\r
+\r
+ EfiConvertPointer (0x0, (VOID **)&mVariableModuleGlobal->PlatformLangCodes);\r
+ EfiConvertPointer (0x0, (VOID **)&mVariableModuleGlobal->LangCodes);\r
+ EfiConvertPointer (0x0, (VOID **)&mVariableModuleGlobal->PlatformLang);\r
+ EfiConvertPointer (0x0, (VOID **)&mVariableModuleGlobal->VariableGlobal.NonVolatileVariableBase);\r
+ EfiConvertPointer (0x0, (VOID **)&mVariableModuleGlobal->VariableGlobal.VolatileVariableBase);\r
+ EfiConvertPointer (0x0, (VOID **)&mVariableModuleGlobal->VariableGlobal.HobVariableBase);\r
+ EfiConvertPointer (0x0, (VOID **)&mVariableModuleGlobal);\r
+ EfiConvertPointer (0x0, (VOID **)&mNvVariableCache);\r
+ EfiConvertPointer (0x0, (VOID **)&mNvFvHeaderCache);\r
\r
if (mAuthContextOut.AddressPointer != NULL) {\r
for (Index = 0; Index < mAuthContextOut.AddressPointerCount; Index++) {\r
- EfiConvertPointer (0x0, (VOID **) mAuthContextOut.AddressPointer[Index]);\r
+ EfiConvertPointer (0x0, (VOID **)mAuthContextOut.AddressPointer[Index]);\r
}\r
}\r
\r
if (mVarCheckAddressPointer != NULL) {\r
for (Index = 0; Index < mVarCheckAddressPointerCount; Index++) {\r
- EfiConvertPointer (0x0, (VOID **) mVarCheckAddressPointer[Index]);\r
+ EfiConvertPointer (0x0, (VOID **)mVarCheckAddressPointer[Index]);\r
}\r
}\r
}\r
\r
-\r
/**\r
Notification function of EVT_GROUP_READY_TO_BOOT event group.\r
\r
VOID\r
EFIAPI\r
OnReadyToBoot (\r
- EFI_EVENT Event,\r
- VOID *Context\r
+ EFI_EVENT Event,\r
+ VOID *Context\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
if (!mEndOfDxe) {\r
MorLockInitAtEndOfDxe ();\r
//\r
// Set the End Of DXE bit in case the EFI_END_OF_DXE_EVENT_GROUP_GUID event is not signaled.\r
//\r
- mEndOfDxe = TRUE;\r
+ mEndOfDxe = TRUE;\r
mVarCheckAddressPointer = VarCheckLibInitializeAtEndOfDxe (&mVarCheckAddressPointerCount);\r
//\r
// The initialization for variable quota.\r
//\r
InitializeVariableQuota ();\r
}\r
+\r
ReclaimForOS ();\r
if (FeaturePcdGet (PcdVariableCollectStatistics)) {\r
if (mVariableModuleGlobal->VariableGlobal.AuthFormat) {\r
VOID\r
EFIAPI\r
OnEndOfDxe (\r
- EFI_EVENT Event,\r
- VOID *Context\r
+ EFI_EVENT Event,\r
+ VOID *Context\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
DEBUG ((DEBUG_INFO, "[Variable]END_OF_DXE is signaled\n"));\r
MorLockInitAtEndOfDxe ();\r
Status = LockVariablePolicy ();\r
ASSERT_EFI_ERROR (Status);\r
- mEndOfDxe = TRUE;\r
+ mEndOfDxe = TRUE;\r
mVarCheckAddressPointer = VarCheckLibInitializeAtEndOfDxe (&mVarCheckAddressPointerCount);\r
//\r
// The initialization for variable quota.\r
VOID\r
)\r
{\r
- EFI_STATUS Status;\r
+ EFI_STATUS Status;\r
\r
Status = VariableWriteServiceInitialize ();\r
if (EFI_ERROR (Status)) {\r
// Some Secure Boot Policy Var (SecureBoot, etc) updates following other\r
// Secure Boot Policy Variable change. Record their initial value.\r
//\r
- RecordSecureBootPolicyVarData();\r
+ RecordSecureBootPolicyVarData ();\r
\r
//\r
// Install the Variable Write Architectural protocol.\r
VOID\r
EFIAPI\r
FtwNotificationEvent (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *FvbProtocol;\r
- EFI_FAULT_TOLERANT_WRITE_PROTOCOL *FtwProtocol;\r
- EFI_PHYSICAL_ADDRESS NvStorageVariableBase;\r
- EFI_GCD_MEMORY_SPACE_DESCRIPTOR GcdDescriptor;\r
- EFI_PHYSICAL_ADDRESS BaseAddress;\r
- UINT64 Length;\r
- EFI_PHYSICAL_ADDRESS VariableStoreBase;\r
- UINT64 VariableStoreLength;\r
- UINTN FtwMaxBlockSize;\r
+ EFI_STATUS Status;\r
+ EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *FvbProtocol;\r
+ EFI_FAULT_TOLERANT_WRITE_PROTOCOL *FtwProtocol;\r
+ EFI_PHYSICAL_ADDRESS NvStorageVariableBase;\r
+ EFI_GCD_MEMORY_SPACE_DESCRIPTOR GcdDescriptor;\r
+ EFI_PHYSICAL_ADDRESS BaseAddress;\r
+ UINT64 Length;\r
+ EFI_PHYSICAL_ADDRESS VariableStoreBase;\r
+ UINT64 VariableStoreLength;\r
+ UINTN FtwMaxBlockSize;\r
\r
//\r
// Ensure FTW protocol is installed.\r
//\r
- Status = GetFtwProtocol ((VOID**) &FtwProtocol);\r
+ Status = GetFtwProtocol ((VOID **)&FtwProtocol);\r
if (EFI_ERROR (Status)) {\r
- return ;\r
+ return;\r
}\r
\r
Status = FtwProtocol->GetMaxBlockSize (FtwProtocol, &FtwMaxBlockSize);\r
}\r
\r
NvStorageVariableBase = NV_STORAGE_VARIABLE_BASE;\r
- VariableStoreBase = NvStorageVariableBase + mNvFvHeaderCache->HeaderLength;\r
+ VariableStoreBase = NvStorageVariableBase + mNvFvHeaderCache->HeaderLength;\r
\r
//\r
// Let NonVolatileVariableBase point to flash variable store base directly after FTW ready.\r
//\r
Status = GetFvbInfoByAddress (NvStorageVariableBase, NULL, &FvbProtocol);\r
if (EFI_ERROR (Status)) {\r
- return ;\r
+ return;\r
}\r
+\r
mVariableModuleGlobal->FvbInstance = FvbProtocol;\r
\r
//\r
// Mark the variable storage region of the FLASH as RUNTIME.\r
//\r
VariableStoreLength = mNvVariableCache->Size;\r
- BaseAddress = VariableStoreBase & (~EFI_PAGE_MASK);\r
- Length = VariableStoreLength + (VariableStoreBase - BaseAddress);\r
- Length = (Length + EFI_PAGE_SIZE - 1) & (~EFI_PAGE_MASK);\r
+ BaseAddress = VariableStoreBase & (~EFI_PAGE_MASK);\r
+ Length = VariableStoreLength + (VariableStoreBase - BaseAddress);\r
+ Length = (Length + EFI_PAGE_SIZE - 1) & (~EFI_PAGE_MASK);\r
\r
- Status = gDS->GetMemorySpaceDescriptor (BaseAddress, &GcdDescriptor);\r
+ Status = gDS->GetMemorySpaceDescriptor (BaseAddress, &GcdDescriptor);\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_WARN, "Variable driver failed to get flash memory attribute.\n"));\r
} else {\r
// Close the notify event to avoid install gEfiVariableWriteArchProtocolGuid again.\r
//\r
gBS->CloseEvent (Event);\r
-\r
}\r
\r
-\r
/**\r
This API function returns whether or not the policy engine is\r
currently being enforced.\r
EFI_STATUS\r
EFIAPI\r
ProtocolIsVariablePolicyEnabled (\r
- OUT BOOLEAN *State\r
+ OUT BOOLEAN *State\r
)\r
{\r
*State = IsVariablePolicyEnabled ();\r
return EFI_SUCCESS;\r
}\r
\r
-\r
/**\r
Variable Driver main entry point. The Variable driver places the 4 EFI\r
runtime services in the EFI System Table and installs arch protocols\r
EFI_STATUS\r
EFIAPI\r
VariableServiceInitialize (\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_SYSTEM_TABLE *SystemTable\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_SYSTEM_TABLE *SystemTable\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_EVENT ReadyToBootEvent;\r
- EFI_EVENT EndOfDxeEvent;\r
+ EFI_STATUS Status;\r
+ EFI_EVENT ReadyToBootEvent;\r
+ EFI_EVENT EndOfDxeEvent;\r
\r
Status = VariableCommonInitialize ();\r
ASSERT_EFI_ERROR (Status);\r
Status = VarCheckRegisterSetVariableCheckHandler (ValidateSetVariable);\r
ASSERT_EFI_ERROR (Status);\r
Status = gBS->InstallMultipleProtocolInterfaces (\r
- &mHandle,\r
- &gEdkiiVariablePolicyProtocolGuid,\r
- &mVariablePolicyProtocol,\r
- NULL\r
- );\r
+ &mHandle,\r
+ &gEdkiiVariablePolicyProtocolGuid,\r
+ &mVariablePolicyProtocol,\r
+ NULL\r
+ );\r
ASSERT_EFI_ERROR (Status);\r
\r
return EFI_SUCCESS;\r