Hi liming,

this feature is required in our platform~
please help review this patch when you are free~ Thanks a lot~

Thanks, 
Yuting

-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Liqi Liu
Sent: Tuesday, December 12, 2023 4:42 PM
To: devel@edk2.groups.io
Cc: Liu, Liqi <liqi....@intel.com>; Chen, Christine <yuwei.c...@intel.com>; 
Feng, Bob C <bob.c.f...@intel.com>; Chaganty, Rangasai V 
<rangasai.v.chaga...@intel.com>; Gao, Liming <gaolim...@byosoft.com.cn>
Subject: [edk2-devel] [PATCH V2 1/1] Silicon/Intel/FitGen:FIT change for FBM 
entry.

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>
Cc: Liming Gao <gaolim...@byosoft.com.cn>
---
 .../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/FirmwareInt
+++ erfaceTable.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 (#116304): https://edk2.groups.io/g/devel/message/116304
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]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to