[edk2-devel][edk2-platforms][PATCH V1 26/27] AdvancedFeaturePkg/Build: Add FDF to create FV for all features

Oram, Isaac W posted 27 patches 4 years ago
There is a newer version of this series
[edk2-devel][edk2-platforms][PATCH V1 26/27] AdvancedFeaturePkg/Build: Add FDF to create FV for all features
Posted by Oram, Isaac W 4 years ago
This produces three FV and no FD.
FvAdvancedPreMemory.fv contains PEIM for pre-memory use.
FvAdvancedUncompressed.fv contains post memory PEIM and drivers for DXE
and SMM.
FvAdvanced.fv contains the compressed FvAdvancedUncompressed.fv in an
FV file format as is common practice.

These FV are not expected to be used as is, but are needed to test the
individual features for things like filename collisions.  Some features
require build customization so binary reuse is not feasible at this time.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc |  1 +
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf | 49 ++++++++++++++++++++
 2 files changed, 50 insertions(+)

diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
index 02636da916..28530b8c67 100644
--- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
+++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
@@ -29,6 +29,7 @@
   SKUID_IDENTIFIER                    = DEFAULT
   PEI_ARCH                            = IA32
   DXE_ARCH                            = X64
+  FLASH_DEFINITION                    = AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
 
 [Packages]
   MdePkg/MdePkg.dec
diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
new file mode 100644
index 0000000000..76a02c5d1c
--- /dev/null
+++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
@@ -0,0 +1,49 @@
+## @file
+# FDF file generating AdvancedFeature FV for inclusion in a MinPlatform design.
+#
+# There are three FV produced, FvAdvancedPreMemory.fv, FvAdvancedUncompressed.fv, and
+# FvAdvanced.fv.  The sizes are arbitrary as these are not expected to be used as is
+# in today's usages.  Boards will tune FV by selecting or deseleting features and building.
+#
+# @copyright
+# Copyright (C) 2022 Intel Corporation
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent
+##
+
+[Defines]
+  DEFINE UNCOMPRESSED_FV_ADVANCED_FILENAME = 6d606b5c-2d45-4705-a700-73324306be06
+
+[FV.FvAdvancedPreMemory]
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  FvNameGuid         = ea9da344-a7f3-468c-ae84-2d22fc03b28e
+
+  !include AdvancedFeaturePkg/Include/PreMemory.fdf
+
+[FV.FvAdvancedUncompressed]
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  FvNameGuid         = $(UNCOMPRESSED_FV_ADVANCED_FILENAME)
+
+  !include AdvancedFeaturePkg/Include/PostMemory.fdf
+
+[FV.FvAdvanced]
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  FvNameGuid         = 445b121d-28d6-4801-8958-8253cf426cf7
+
+  FILE FV_IMAGE = $(UNCOMPRESSED_FV_ADVANCED_FILENAME) {
+    SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
+      SECTION FV_IMAGE = FvAdvancedUncompressed
+    }
+  }
+
+
+################################################################################
+#
+# Rules are use with the [FV] section's module INF type to define
+# how an FFS file is created for a given INF file. The following Rule are the default
+# rules for the different module type. User can add the customized rules to define the
+# content of the FFS file.
+#
+################################################################################
+
+!include MinPlatformPkg/Include/Fdf/RuleInclude.fdf
-- 
2.27.0.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85605): https://edk2.groups.io/g/devel/message/85605
Mute This Topic: https://groups.io/mt/88365349/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel][edk2-platforms][PATCH V1 26/27] AdvancedFeaturePkg/Build: Add FDF to create FV for all features
Posted by Nate DeSimone 4 years ago
Hi Isaac,

Since FvAdvanced is post-memory and not covered by the boot guard IBB, I suspect we should probably also support optional signing of that FV.

Thanks,
Nate

-----Original Message-----
From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram, Isaac W
Sent: Tuesday, January 11, 2022 6:20 PM
To: devel@edk2.groups.io
Cc: Oram, Isaac W <isaac.w.oram@intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>
Subject: [edk2-devel][edk2-platforms][PATCH V1 26/27] AdvancedFeaturePkg/Build: Add FDF to create FV for all features

This produces three FV and no FD.
FvAdvancedPreMemory.fv contains PEIM for pre-memory use.
FvAdvancedUncompressed.fv contains post memory PEIM and drivers for DXE and SMM.
FvAdvanced.fv contains the compressed FvAdvancedUncompressed.fv in an FV file format as is common practice.

These FV are not expected to be used as is, but are needed to test the individual features for things like filename collisions.  Some features require build customization so binary reuse is not feasible at this time.

Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>

Signed-off-by: Isaac Oram <isaac.w.oram@intel.com>
---
 Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc |  1 +  Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf | 49 ++++++++++++++++++++
 2 files changed, 50 insertions(+)

diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
index 02636da916..28530b8c67 100644
--- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
+++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc
@@ -29,6 +29,7 @@
   SKUID_IDENTIFIER                    = DEFAULT
   PEI_ARCH                            = IA32
   DXE_ARCH                            = X64
+  FLASH_DEFINITION                    = AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
 
 [Packages]
   MdePkg/MdePkg.dec
diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
new file mode 100644
index 0000000000..76a02c5d1c
--- /dev/null
+++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.fdf
@@ -0,0 +1,49 @@
+## @file
+# FDF file generating AdvancedFeature FV for inclusion in a MinPlatform design.
+#
+# There are three FV produced, FvAdvancedPreMemory.fv, 
+FvAdvancedUncompressed.fv, and # FvAdvanced.fv.  The sizes are 
+arbitrary as these are not expected to be used as is # in today's usages.  Boards will tune FV by selecting or deseleting features and building.
+#
+# @copyright
+# Copyright (C) 2022 Intel Corporation
+#
+# SPDX-License-Identifier: BSD-2-Clause-Patent ##
+
+[Defines]
+  DEFINE UNCOMPRESSED_FV_ADVANCED_FILENAME = 
+6d606b5c-2d45-4705-a700-73324306be06
+
+[FV.FvAdvancedPreMemory]
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  FvNameGuid         = ea9da344-a7f3-468c-ae84-2d22fc03b28e
+
+  !include AdvancedFeaturePkg/Include/PreMemory.fdf
+
+[FV.FvAdvancedUncompressed]
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  FvNameGuid         = $(UNCOMPRESSED_FV_ADVANCED_FILENAME)
+
+  !include AdvancedFeaturePkg/Include/PostMemory.fdf
+
+[FV.FvAdvanced]
+  !include MinPlatformPkg/Include/Fdf/CommonSpiFvHeaderInfo.fdf
+  FvNameGuid         = 445b121d-28d6-4801-8958-8253cf426cf7
+
+  FILE FV_IMAGE = $(UNCOMPRESSED_FV_ADVANCED_FILENAME) {
+    SECTION GUIDED EE4E5898-3914-4259-9D6E-DC7BD79403CF PROCESSING_REQUIRED = TRUE {
+      SECTION FV_IMAGE = FvAdvancedUncompressed
+    }
+  }
+
+
+#######################################################################
+#########
+#
+# Rules are use with the [FV] section's module INF type to define # how 
+an FFS file is created for a given INF file. The following Rule are the 
+default # rules for the different module type. User can add the 
+customized rules to define the # content of the FFS file.
+#
+#######################################################################
+#########
+
+!include MinPlatformPkg/Include/Fdf/RuleInclude.fdf
--
2.27.0.windows.1








-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#85623): https://edk2.groups.io/g/devel/message/85623
Mute This Topic: https://groups.io/mt/88365349/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-