[edk2] [edk2-FdfSpecification PATCH] Add FV/FD statement support to <FmpFileData>

Michael Kinney posted 1 patch 7 years, 6 months ago
Failed in applying to current master (apply log)
.../38_[fmppayload]_sections.md                    | 33 ++++++++++++++--------
README.md                                          |  1 +
2 files changed, 23 insertions(+), 11 deletions(-)
[edk2] [edk2-FdfSpecification PATCH] Add FV/FD statement support to <FmpFileData>
Posted by Michael Kinney 7 years, 6 months ago
https://bugzilla.tianocore.org/show_bug.cgi?id=478

In order to describe the dependencies between
FV/FD and FMP capsules and determine the order of
processing, the FDF spec is updated to extend
<FmpFileData> to support <FvStatements> and
<FdStatenents>.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Cc: Kevin W Shaw <kevin.w.shaw@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
---
 .../38_[fmppayload]_sections.md                    | 33 ++++++++++++++--------
 README.md                                          |  1 +
 2 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/3_edk_ii_fdf_file_format/38_[fmppayload]_sections.md b/3_edk_ii_fdf_file_format/38_[fmppayload]_sections.md
index 660662a..dceb77d 100644
--- a/3_edk_ii_fdf_file_format/38_[fmppayload]_sections.md
+++ b/3_edk_ii_fdf_file_format/38_[fmppayload]_sections.md
@@ -44,17 +44,28 @@ statement, if present, provides the information for VendorCode in an
 #### Prototype
 
 ```c
-<FmpPayload>  ::= "[FmpPayload" "." <UiFmpName> "]" <EOL>
-                  <FmpTokens>
-                  <FmpFileData>{1,2}
-<UiFmpName>   ::= <Word>
-<FmpTokens>   ::= [<TS> "IMAGE_HEADER_INIT_VERSION" <Eq> <Hex2> <EOL>]
-                  <TS> "IMAGE_TYPE_ID" <Eq> <RegistryFormatGUID> <EOL>
-                  [<TS> "IMAGE_INDEX" <Eq> <Hex2> <EOL>]
-                  [<TS> "HARDWARE_INSTANCE" <Eq> <Hex2> <EOL>]
-                  [<TS> “MONOTONIC_COUNT”<Eq> <NumValUint64> <EOL>]
-                  [<TS> “CERTIFICATE_GUID”<Eq> <RegistryFormatGUID><EOL>]
-<FmpFileData> ::= <TS> "FILE" <Space> "DATA" <Eq> <Filename> <EOL>
+<FmpPayload>       ::= "[FmpPayload" "." <UiFmpName> "]" <EOL>
+                       <FmpTokens>
+                       <FmpFileData>{1,2}
+<UiFmpName>        ::= <Word>
+<FmpTokens>        ::= [<TS> "IMAGE_HEADER_INIT_VERSION" <Eq> <Hex2> <EOL>]
+                       <TS> "IMAGE_TYPE_ID" <Eq> <RegistryFormatGUID> <EOL>
+                       [<TS> "IMAGE_INDEX" <Eq> <Hex2> <EOL>]
+                       [<TS> "HARDWARE_INSTANCE" <Eq> <Hex2> <EOL>]
+                       [<TS> "MONOTONIC_COUNT"<Eq> <NumValUint64> <EOL>]
+                       [<TS> "CERTIFICATE_GUID"<Eq> <RegistryFormatGUID><EOL>]
+<FmpFileData>      ::= <FileStatements>*
+                       <FvStatements>*
+                       <FdStatenents>*
+<FileStatements>   ::= <TS> "FILE" <Space> "DATA" <Eq> <Filename> <EOL>
+<FvStatements>     ::= "FV" <Eq> <FvNameOrFilename> <EOL>
+<FvNameOrFilename> ::= {<FvUiName>} {<FvFilename>}
+<FvUiName>         ::= {<Word>} {"common"}
+<FvFilename>       ::= [<PATH>] <Word> "." "fv"
+<FdStatements>     ::= "FD" <Eq> <FdNameOrFilename> <EOL>
+<FdNameOrFilename> ::= {<FdUiName>} {<FdFilename>}
+<FdUiName>         ::= {<Word>} {"common"}
+<FdFilename>       ::= [<PATH>] <Word> "." "fd"
 ```
 
 **********
diff --git a/README.md b/README.md
index 45da9b5..15eca26 100644
--- a/README.md
+++ b/README.md
@@ -204,3 +204,4 @@ Copyright (c) 2006-2017, Intel Corporation. All rights reserved.
 |            | Extended the FV and Capsule, FILE RAW statement formats to support multiple binary files.                                                                                  |               |
 |            | Changed section 3.8 [FmpPayload] to add definitions for MONOTONIC_COUNT and CERTIFICATE_GUID, plus some notes about how these are used.                                    |               |
 |            | [#142](https://bugzilla.tianocore.org/show_bug.cgi?id=142) Update EDK II FDF Specification to allow sections in any order                                                  |               |
+|            | [#478](https://bugzilla.tianocore.org/show_bug.cgi?id=478) FDF spec: extend the <FmpFileData> to support <FvStatements> and <FdStatenents>                                 |               |
-- 
2.6.3.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [edk2-FdfSpecification PATCH] Add FV/FD statement support to <FmpFileData>
Posted by Zhu, Yonghong 7 years, 6 months ago
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com> 

Best Regards,
Zhu Yonghong


-----Original Message-----
From: Kinney, Michael D 
Sent: Wednesday, April 19, 2017 12:00 PM
To: edk2-devel@lists.01.org
Cc: Gao, Liming <liming.gao@intel.com>; Zhu, Yonghong <yonghong.zhu@intel.com>; Shaw, Kevin W <kevin.w.shaw@intel.com>
Subject: [edk2-FdfSpecification PATCH] Add FV/FD statement support to <FmpFileData>

https://bugzilla.tianocore.org/show_bug.cgi?id=478

In order to describe the dependencies between FV/FD and FMP capsules and determine the order of processing, the FDF spec is updated to extend <FmpFileData> to support <FvStatements> and <FdStatenents>.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Cc: Kevin W Shaw <kevin.w.shaw@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Michael Kinney <michael.d.kinney@intel.com>
---
 .../38_[fmppayload]_sections.md                    | 33 ++++++++++++++--------
 README.md                                          |  1 +
 2 files changed, 23 insertions(+), 11 deletions(-)

diff --git a/3_edk_ii_fdf_file_format/38_[fmppayload]_sections.md b/3_edk_ii_fdf_file_format/38_[fmppayload]_sections.md
index 660662a..dceb77d 100644
--- a/3_edk_ii_fdf_file_format/38_[fmppayload]_sections.md
+++ b/3_edk_ii_fdf_file_format/38_[fmppayload]_sections.md
@@ -44,17 +44,28 @@ statement, if present, provides the information for VendorCode in an  #### Prototype
 
 ```c
-<FmpPayload>  ::= "[FmpPayload" "." <UiFmpName> "]" <EOL>
-                  <FmpTokens>
-                  <FmpFileData>{1,2}
-<UiFmpName>   ::= <Word>
-<FmpTokens>   ::= [<TS> "IMAGE_HEADER_INIT_VERSION" <Eq> <Hex2> <EOL>]
-                  <TS> "IMAGE_TYPE_ID" <Eq> <RegistryFormatGUID> <EOL>
-                  [<TS> "IMAGE_INDEX" <Eq> <Hex2> <EOL>]
-                  [<TS> "HARDWARE_INSTANCE" <Eq> <Hex2> <EOL>]
-                  [<TS> “MONOTONIC_COUNT”<Eq> <NumValUint64> <EOL>]
-                  [<TS> “CERTIFICATE_GUID”<Eq> <RegistryFormatGUID><EOL>]
-<FmpFileData> ::= <TS> "FILE" <Space> "DATA" <Eq> <Filename> <EOL>
+<FmpPayload>       ::= "[FmpPayload" "." <UiFmpName> "]" <EOL>
+                       <FmpTokens>
+                       <FmpFileData>{1,2}
+<UiFmpName>        ::= <Word>
+<FmpTokens>        ::= [<TS> "IMAGE_HEADER_INIT_VERSION" <Eq> <Hex2> <EOL>]
+                       <TS> "IMAGE_TYPE_ID" <Eq> <RegistryFormatGUID> <EOL>
+                       [<TS> "IMAGE_INDEX" <Eq> <Hex2> <EOL>]
+                       [<TS> "HARDWARE_INSTANCE" <Eq> <Hex2> <EOL>]
+                       [<TS> "MONOTONIC_COUNT"<Eq> <NumValUint64> <EOL>]
+                       [<TS> "CERTIFICATE_GUID"<Eq> <RegistryFormatGUID><EOL>]
+<FmpFileData>      ::= <FileStatements>*
+                       <FvStatements>*
+                       <FdStatenents>*
+<FileStatements>   ::= <TS> "FILE" <Space> "DATA" <Eq> <Filename> <EOL>
+<FvStatements>     ::= "FV" <Eq> <FvNameOrFilename> <EOL>
+<FvNameOrFilename> ::= {<FvUiName>} {<FvFilename>}
+<FvUiName>         ::= {<Word>} {"common"}
+<FvFilename>       ::= [<PATH>] <Word> "." "fv"
+<FdStatements>     ::= "FD" <Eq> <FdNameOrFilename> <EOL>
+<FdNameOrFilename> ::= {<FdUiName>} {<FdFilename>}
+<FdUiName>         ::= {<Word>} {"common"}
+<FdFilename>       ::= [<PATH>] <Word> "." "fd"
 ```
 
 **********
diff --git a/README.md b/README.md
index 45da9b5..15eca26 100644
--- a/README.md
+++ b/README.md
@@ -204,3 +204,4 @@ Copyright (c) 2006-2017, Intel Corporation. All rights reserved.
 |            | Extended the FV and Capsule, FILE RAW statement formats to support multiple binary files.                                                                                  |               |
 |            | Changed section 3.8 [FmpPayload] to add definitions for MONOTONIC_COUNT and CERTIFICATE_GUID, plus some notes about how these are used.                                    |               |
 |            | [#142](https://bugzilla.tianocore.org/show_bug.cgi?id=142) Update EDK II FDF Specification to allow sections in any order                                                  |               |
+|            | [#478](https://bugzilla.tianocore.org/show_bug.cgi?id=478) FDF spec: extend the <FmpFileData> to support <FvStatements> and <FdStatenents>                                 |               |
--
2.6.3.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel