diff --git a/EdkModulePkg/EdkModulePkg.spd b/EdkModulePkg/EdkModulePkg.spd index 883df1873f..2a0b417380 100644 --- a/EdkModulePkg/EdkModulePkg.spd +++ b/EdkModulePkg/EdkModulePkg.spd @@ -991,5 +991,31 @@ 4 kbytes size of runtime memory. + + PcdFlashFvBaseArray + 0x31000001 + gEfiGenericPlatformTokenSpaceGuid + VOID* + DYNAMIC + {} + + This PCD is a array of EFI_PHYSICAL_ADDERSS of each Firmware Volume on the + platform. FVB driver will make use of this PCD entry to install EFI_FIRMWARE_BLOCK_PROTOCOL + on every FV specified. + + + + PcdFlashFvBaseArrayElementNumber + 0x32000002 + gEfiGenericPlatformTokenSpaceGuid + UINT8 + DYNAMIC + 3 + + This PCD is a number element in the array defined by PcdFlashFvBaseArray in + gEfiGenericPlatformTokenSpaceGuid. Normally, we have 3 firmware volumes: + FV_MAIN, FV_RECOVERY, NV_STORAGE. + + diff --git a/EdkModulePkg/Include/Common/WorkingBlockHeader.h b/EdkModulePkg/Include/Common/WorkingBlockHeader.h index 235b740e83..234ebdd774 100644 --- a/EdkModulePkg/Include/Common/WorkingBlockHeader.h +++ b/EdkModulePkg/Include/Common/WorkingBlockHeader.h @@ -32,13 +32,13 @@ Abstract: typedef struct { EFI_GUID Signature; UINT32 Crc; - UINT32 WorkingBlockValid : 1; - UINT32 WorkingBlockInvalid : 1; + UINT8 WorkingBlockValid : 1; + UINT8 WorkingBlockInvalid : 1; #define WORKING_BLOCK_VALID 0x1 #define WORKING_BLOCK_INVALID 0x2 - UINT32 Reserved : 6; + UINT8 Reserved : 6; UINT8 Reserved3[3]; - UINTN WriteQueueSize; + UINT32 WriteQueueSize; // // UINT8 WriteQueue[WriteQueueSize]; //