REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4621
1)Refer to FIT spec change, add a new entry in FIT table - FSP Boot Manifest(Type 0xD) to store the location of FBM. 2)We found that 0xD was occupied by FIT_TABLE_TYPE_BIOS_DATA_AREA. But all FIT specs in archive show record 0xD as reserved.After confirming with architect,we will use 0xD for FBM and update FitGen.c accordingly. Signed-off-by: Liqi Liu <liqi....@intel.com> Cc: Chen Christine yuwei.c...@intel.com Cc: Feng Bob C bob.c.f...@intel.com Cc: Chagnanty Rangasai V rangasai.v.chaga...@intel.com --- .../IndustryStandard/FirmwareInterfaceTable.h | 1 + Silicon/Intel/Tools/FitGen/FitGen.c | 16 ++++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Silicon/Intel/IntelSiliconPkg/Include/IndustryStandard/FirmwareInterfaceTable.h b/Silicon/Intel/IntelSiliconPkg/Include/IndustryStandard/FirmwareInterfaceTable.h index f65779eb3778..27d83f5f72ea 100644 --- a/Silicon/Intel/IntelSiliconPkg/Include/IndustryStandard/FirmwareInterfaceTable.h +++ b/Silicon/Intel/IntelSiliconPkg/Include/IndustryStandard/FirmwareInterfaceTable.h @@ -24,6 +24,7 @@ #define FIT_TYPE_0A_TXT_POLICY 0x0A #define FIT_TYPE_0B_KEY_MANIFEST 0x0B #define FIT_TYPE_0C_BOOT_POLICY_MANIFEST 0x0C +#define FIT_TYPE_0D_FSP_BOOT_MANIFEST 0x0D #define FIT_TYPE_10_CSE_SECURE_BOOT 0x10 #define FIT_TYPE_2D_TXTSX_POLICY 0x2D #define FIT_TYPE_2F_JMP_DEBUG_POLICY 0x2F diff --git a/Silicon/Intel/Tools/FitGen/FitGen.c b/Silicon/Intel/Tools/FitGen/FitGen.c index 16c8b9b026f5..055ffd4cf8b9 100644 --- a/Silicon/Intel/Tools/FitGen/FitGen.c +++ b/Silicon/Intel/Tools/FitGen/FitGen.c @@ -285,7 +285,7 @@ typedef struct { #define FIT_TABLE_TYPE_TXT_POLICY 10 #define FIT_TABLE_TYPE_KEY_MANIFEST 11 #define FIT_TABLE_TYPE_BOOT_POLICY_MANIFEST 12 -#define FIT_TABLE_TYPE_BIOS_DATA_AREA 13 +#define FIT_TABLE_TYPE_FSP_BOOT_MANIFEST 13 #define FIT_TABLE_TYPE_CSE_SECURE_BOOT 16 #define FIT_TABLE_SUBTYPE_FIT_PATCH_MANIFEST 12 #define FIT_TABLE_SUBTYPE_ACM_MANIFEST 13 @@ -1444,7 +1444,7 @@ GetFitEntryNumber ( case FIT_TABLE_TYPE_TXT_POLICY: case FIT_TABLE_TYPE_KEY_MANIFEST: case FIT_TABLE_TYPE_BOOT_POLICY_MANIFEST: - case FIT_TABLE_TYPE_BIOS_DATA_AREA: + case FIT_TABLE_TYPE_FSP_BOOT_MANIFEST: case FIT_TABLE_TYPE_CSE_SECURE_BOOT: default : if (BiosInfoStruct[BiosInfoIndex].Version != 0) { @@ -2126,7 +2126,7 @@ GetFitEntryNumber ( if ((gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_BIOS_POLICY) || (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_KEY_MANIFEST) || (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_BOOT_POLICY_MANIFEST) || - (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_BIOS_DATA_AREA) || + (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_FSP_BOOT_MANIFEST) || (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_CSE_SECURE_BOOT) || (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_VAB_PROVISION_TABLE) || (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_VAB_BOOT_IMAGE_MANIFEST) || @@ -2311,7 +2311,7 @@ GetFreeSpaceForFit ( if ((gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_BIOS_POLICY) || (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_KEY_MANIFEST) || (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_BOOT_POLICY_MANIFEST) || - (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_BIOS_DATA_AREA) || + (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_FSP_BOOT_MANIFEST) || (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_CSE_SECURE_BOOT) || (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_VAB_PROVISION_TABLE) || (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_VAB_BOOT_IMAGE_MANIFEST) || @@ -2326,7 +2326,7 @@ GetFreeSpaceForFit ( if ((gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_BIOS_POLICY) || (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_KEY_MANIFEST) || (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_BOOT_POLICY_MANIFEST) || - (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_BIOS_DATA_AREA) || + (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_FSP_BOOT_MANIFEST) || (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_CSE_SECURE_BOOT) || (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_VAB_PROVISION_TABLE) || (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_VAB_BOOT_IMAGE_MANIFEST) || @@ -2364,7 +2364,7 @@ GetFreeSpaceForFit ( if ((gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_BIOS_POLICY) || (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_KEY_MANIFEST) || (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_BOOT_POLICY_MANIFEST) || - (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_BIOS_DATA_AREA) || + (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_FSP_BOOT_MANIFEST) || (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_CSE_SECURE_BOOT) || (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_VAB_PROVISION_TABLE) || (gFitTableContext.OptionalModule[Index].Type == FIT_TABLE_TYPE_VAB_BOOT_IMAGE_MANIFEST) || @@ -2458,7 +2458,7 @@ CHAR8 *mFitTypeStr[] = { "TXT_POLICY ", "KEYMANIFEST", "BP_MANIFEST", - "BIOS_DATA_A", + "FSP_BOOT_MF", " ", " ", "CSE_SECUREB" @@ -3256,7 +3256,7 @@ ClearFitTable ( case FIT_TABLE_TYPE_BIOS_POLICY: case FIT_TABLE_TYPE_KEY_MANIFEST: case FIT_TABLE_TYPE_BOOT_POLICY_MANIFEST: - case FIT_TABLE_TYPE_BIOS_DATA_AREA: + case FIT_TABLE_TYPE_FSP_BOOT_MANIFEST: case FIT_TABLE_TYPE_CSE_SECURE_BOOT: // // Clear FIT table data buffer -- 2.37.1.windows.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#112429): https://edk2.groups.io/g/devel/message/112429 Mute This Topic: https://groups.io/mt/103129294/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-