Add INF extension Information
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7228 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -1225,21 +1225,21 @@ RuntimeServiceSetVariable (
|
||||
|
||||
//
|
||||
// The size of the VariableName, including the Unicode Null in bytes plus
|
||||
// the DataSize is limited to maximum size of MAX_HARDWARE_ERROR_VARIABLE_SIZE (32K)
|
||||
// bytes for HwErrRec, and MAX_VARIABLE_SIZE (1024) bytes for the others.
|
||||
// the DataSize is limited to maximum size of FixedPcdGet32(PcdMaxHardwareErrorVariableSize)
|
||||
// bytes for HwErrRec, and FixedPcdGet32(PcdMaxVariableSize) bytes for the others.
|
||||
//
|
||||
if ((Attributes & EFI_VARIABLE_HARDWARE_ERROR_RECORD) == EFI_VARIABLE_HARDWARE_ERROR_RECORD) {
|
||||
if ((DataSize > MAX_HARDWARE_ERROR_VARIABLE_SIZE) ||
|
||||
(sizeof (VARIABLE_HEADER) + StrSize (VariableName) + DataSize > MAX_HARDWARE_ERROR_VARIABLE_SIZE)) {
|
||||
if ((DataSize > FixedPcdGet32(PcdMaxHardwareErrorVariableSize)) ||
|
||||
(sizeof (VARIABLE_HEADER) + StrSize (VariableName) + DataSize > FixedPcdGet32(PcdMaxHardwareErrorVariableSize))) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
} else {
|
||||
//
|
||||
// The size of the VariableName, including the Unicode Null in bytes plus
|
||||
// the DataSize is limited to maximum size of MAX_VARIABLE_SIZE (1024) bytes.
|
||||
// the DataSize is limited to maximum size of FixedPcdGet32(PcdMaxVariableSize) bytes.
|
||||
//
|
||||
if ((DataSize > MAX_VARIABLE_SIZE) ||
|
||||
(sizeof (VARIABLE_HEADER) + StrSize (VariableName) + DataSize > MAX_VARIABLE_SIZE)) {
|
||||
if ((DataSize > FixedPcdGet32(PcdMaxVariableSize)) ||
|
||||
(sizeof (VARIABLE_HEADER) + StrSize (VariableName) + DataSize > FixedPcdGet32(PcdMaxVariableSize))) {
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
}
|
||||
@@ -1391,7 +1391,7 @@ RuntimeServiceSetVariable (
|
||||
//
|
||||
NextVariable = GetEndPointer ((VARIABLE_STORE_HEADER *) ((UINTN) mVariableModuleGlobal->VariableGlobal.VolatileVariableBase));
|
||||
|
||||
SetMem (NextVariable, SCRATCH_SIZE, 0xff);
|
||||
SetMem (NextVariable, FixedPcdGet32(PcdMaxVariableSize), 0xff);
|
||||
|
||||
NextVariable->StartId = VARIABLE_DATA;
|
||||
NextVariable->Attributes = Attributes;
|
||||
@@ -1690,15 +1690,15 @@ RuntimeServiceQueryVariableInfo (
|
||||
*RemainingVariableStorageSize = VariableStoreHeader->Size - sizeof (VARIABLE_STORE_HEADER);
|
||||
|
||||
//
|
||||
// Let *MaximumVariableSize be MAX_VARIABLE_SIZE with the exception of the variable header size.
|
||||
// Let *MaximumVariableSize be FixedPcdGet32(PcdMaxVariableSize) with the exception of the variable header size.
|
||||
//
|
||||
*MaximumVariableSize = MAX_VARIABLE_SIZE - sizeof (VARIABLE_HEADER);
|
||||
*MaximumVariableSize = FixedPcdGet32(PcdMaxVariableSize) - sizeof (VARIABLE_HEADER);
|
||||
|
||||
//
|
||||
// Harware error record variable needs larger size.
|
||||
//
|
||||
if ((Attributes & EFI_VARIABLE_HARDWARE_ERROR_RECORD) == EFI_VARIABLE_HARDWARE_ERROR_RECORD) {
|
||||
*MaximumVariableSize = MAX_HARDWARE_ERROR_VARIABLE_SIZE - sizeof (VARIABLE_HEADER);
|
||||
*MaximumVariableSize = FixedPcdGet32(PcdMaxHardwareErrorVariableSize) - sizeof (VARIABLE_HEADER);
|
||||
}
|
||||
|
||||
//
|
||||
@@ -1835,13 +1835,13 @@ VariableCommonInitialize (
|
||||
//
|
||||
// Allocate memory for volatile variable store
|
||||
//
|
||||
VolatileVariableStore = AllocateRuntimePool (VARIABLE_STORE_SIZE + SCRATCH_SIZE);
|
||||
VolatileVariableStore = AllocateRuntimePool (FixedPcdGet32(PcdVariableStoreSize) + FixedPcdGet32(PcdMaxVariableSize));
|
||||
if (VolatileVariableStore == NULL) {
|
||||
FreePool (mVariableModuleGlobal);
|
||||
return EFI_OUT_OF_RESOURCES;
|
||||
}
|
||||
|
||||
SetMem (VolatileVariableStore, VARIABLE_STORE_SIZE + SCRATCH_SIZE, 0xff);
|
||||
SetMem (VolatileVariableStore, FixedPcdGet32(PcdVariableStoreSize) + FixedPcdGet32(PcdMaxVariableSize), 0xff);
|
||||
|
||||
//
|
||||
// Variable Specific Data
|
||||
@@ -1850,7 +1850,7 @@ VariableCommonInitialize (
|
||||
mVariableModuleGlobal->VolatileLastVariableOffset = (UINTN) GetStartPointer (VolatileVariableStore) - (UINTN) VolatileVariableStore;
|
||||
|
||||
VolatileVariableStore->Signature = VARIABLE_STORE_SIGNATURE;
|
||||
VolatileVariableStore->Size = VARIABLE_STORE_SIZE;
|
||||
VolatileVariableStore->Size = FixedPcdGet32(PcdVariableStoreSize);
|
||||
VolatileVariableStore->Format = VARIABLE_STORE_FORMATTED;
|
||||
VolatileVariableStore->State = VARIABLE_STORE_HEALTHY;
|
||||
VolatileVariableStore->Reserved = 0;
|
||||
|
@@ -37,25 +37,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
#include <Guid/GlobalVariable.h>
|
||||
#include <VariableFormat.h>
|
||||
|
||||
|
||||
|
||||
#define VARIABLE_RECLAIM_THRESHOLD (1024)
|
||||
|
||||
#define VARIABLE_STORE_SIZE FixedPcdGet32(PcdVariableStoreSize)
|
||||
#define SCRATCH_SIZE FixedPcdGet32(PcdMaxVariableSize)
|
||||
|
||||
//
|
||||
// Define GET_PAD_SIZE to optimize compiler
|
||||
//
|
||||
#if ((ALIGNMENT == 0) || (ALIGNMENT == 1))
|
||||
#define GET_PAD_SIZE(a) (0)
|
||||
#else
|
||||
#define GET_PAD_SIZE(a) (((~a) + 1) & (ALIGNMENT - 1))
|
||||
#endif
|
||||
|
||||
#define HEADER_ALIGN(Header) (((UINTN) (Header) + HEADER_ALIGNMENT - 1) & (~(HEADER_ALIGNMENT - 1)))
|
||||
|
||||
|
||||
typedef struct {
|
||||
VARIABLE_HEADER *CurrPtr;
|
||||
VARIABLE_HEADER *EndPtr;
|
||||
|
Reference in New Issue
Block a user