public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ard.biesheuvel@linaro.org>
To: Yonghong Zhu <yonghong.zhu@intel.com>
Cc: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
	Michael Kinney <michael.d.kinney@intel.com>,
	 Kevin W Shaw <kevin.w.shaw@intel.com>,
	Liming Gao <liming.gao@intel.com>
Subject: Re: [Patch] FDF Spec: clean up the <NamedGuidOrPcd> and <NamedGuid> usage in spec
Date: Tue, 19 Jun 2018 14:33:25 +0200	[thread overview]
Message-ID: <CAKv+Gu_=VTALu_5yq2YuCb6HGMvKfmQsTaiqSYqV8cPbQrgwtw@mail.gmail.com> (raw)
In-Reply-To: <1529395947-23044-1-git-send-email-yonghong.zhu@intel.com>

On 19 June 2018 at 10:12, Yonghong Zhu <yonghong.zhu@intel.com> wrote:
> <NamedGuidOrPcd>::= {"PCD(" <PcdName> ")"} {<RegistryFormatGUID>} {<GuidCName>}
> <NamedGuid>     ::= {<NamedGuidOrPcd>} {"$(NAMED_GUID)"}
>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Michael Kinney <michael.d.kinney@intel.com>
> Cc: Kevin W Shaw <kevin.w.shaw@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com>
> ---
>  2_fdf_design_discussion/26_[capsule]_sections.md   |  4 +--
>  3_edk_ii_fdf_file_format/32_fdf_definition.md      |  5 ++++
>  3_edk_ii_fdf_file_format/36_[fv]_sections.md       | 23 ++++++-----------
>  3_edk_ii_fdf_file_format/37_[capsule]_sections.md  | 29 ++++++++--------------
>  .../38_[fmppayload]_sections.md                    |  4 +--
>  3_edk_ii_fdf_file_format/39_[rule]_sections.md     | 21 ++++++----------
>  README.md                                          |  1 +
>  7 files changed, 35 insertions(+), 52 deletions(-)
>
> diff --git a/2_fdf_design_discussion/26_[capsule]_sections.md b/2_fdf_design_discussion/26_[capsule]_sections.md
> index ba93268..2e29612 100644
> --- a/2_fdf_design_discussion/26_[capsule]_sections.md
> +++ b/2_fdf_design_discussion/26_[capsule]_sections.md
> @@ -1,9 +1,9 @@
>  <!--- @file
>    2.6 [Capsule] Sections
>
> -  Copyright (c) 2006-2017, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2006-2018, Intel Corporation. All rights reserved.<BR>
>
>    Redistribution and use in source (original document form) and 'compiled'
>    forms (converted to PDF, epub, HTML and other formats) with or without
>    modification, are permitted provided that the following conditions are met:
>
> @@ -71,11 +71,11 @@ extended header entries.
>
>  Currently, three bit flags have been defined:
>
>  ```
>  PersistAcrossReset  = CAPSULE_FLAGS_PERSIST_ACROSS_RESET
> -InitiateReset       = CAPSULE_FLAGS_INITIATE_RESET and
> +InitiateReset       = CAPSULE_FLAGS_INITIATE_RESET

Shouldn't this be a separate patch?

>  PopulateSystemTable = CAPSULE_FLAGS_POPULATE_SYSTEM_TABLE
>  ```
>
>  The value of the `EFI_CAPSULE_IMAGE_SIZE`, which is the size in bytes of the
>  capsule, is determined by the tools.
> diff --git a/3_edk_ii_fdf_file_format/32_fdf_definition.md b/3_edk_ii_fdf_file_format/32_fdf_definition.md
> index a097751..bcefda6 100644
> --- a/3_edk_ii_fdf_file_format/32_fdf_definition.md
> +++ b/3_edk_ii_fdf_file_format/32_fdf_definition.md
> @@ -136,10 +136,11 @@ The following are common definitions used by multiple section types.
>  <Major>                ::= <HexDigit>? <HexDigit>? <HexDigit>?
>                             <HexDigit>
>  <Minor>                ::= <HexDigit> <HexDigit> <HexDigit> <HexDigit>
>  <DecimalVersion>       ::= {"0"} {(1-9) [(0-9)]*} ["." (0-9)+]
>  <VersionVal>           ::= {<HexVersion>} {(0-9)+ "." (0-99)}
> +<NamedGuidOrPcd>       ::= {"PCD(" <PcdName> ")"} {<RegistryFormatGUID>} {<GuidCName>}
>  <GUID>                 ::= {<RegistryFormatGUID>} {<CFormatGUID>}
>  <RegistryFormatGUID>   ::= <RHex8> "-" <RHex4> "-" <RHex4> "-" <RHex4> "-"
>                             <RHex12>
>  <RHex4>                ::= <HexDigit> <HexDigit> <HexDigit> <HexDigit>
>  <RHex8>                ::= <RHex4> <RHex4>
> @@ -172,10 +173,11 @@ The following are common definitions used by multiple section types.
>                             {"0x01"} {"1"}
>  <FALSE>                ::= {"FALSE"} {"false"} {"False"} {"0x0"} {"0x00"} {"0"}
>  <BoolType>             ::= {<TRUE>} {<FALSE>}
>  <MACRO>                ::= (A-Z)(A-Z0-9_)*
>  <MACROVAL>             ::= "$(" <MACRO> ")"
> +<GuidCName>            ::= <CName>
>  <PcdName>              ::= <TokenSpaceGuidCName> "." <PcdCName>
>  <PcdCName>             ::= <CName>
>  <TokenSpaceGuidCName>  ::= <CName>
>  <PCDVAL>               ::= "PCD(" <PcdName> ")"
>  <UINT8>                ::= {"0x"} {"0X"} (\x0 - \xFF)
> @@ -238,10 +240,13 @@ expression must be encapsulated in open "(" and close ")" parenthesis.
>  **********
>  **Note:** Comments may appear anywhere within a FDF file, provided they follow
>  the rules that a comment may not be enclosed within Section headers, and that
>  in line comments must appear at the end of a statement.
>  **********
> +**Note:** The PCD item used in `<NamedGuidOrPcd>` must be defined as FixedAtBuild
> +type and VOID* datum type, and the size of the PCD must be 16 bytes.
> +**********
>
>  ### Parameter Definitions
>
>  **_Expression_**
>
> diff --git a/3_edk_ii_fdf_file_format/36_[fv]_sections.md b/3_edk_ii_fdf_file_format/36_[fv]_sections.md
> index b4f292a..c68e2dd 100644
> --- a/3_edk_ii_fdf_file_format/36_[fv]_sections.md
> +++ b/3_edk_ii_fdf_file_format/36_[fv]_sections.md
> @@ -1,9 +1,9 @@
>  <!--- @file
>    3.6 [FV] Sections
>
> -  Copyright (c) 2006-2017, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2006-2018, Intel Corporation. All rights reserved.<BR>
>
>    Redistribution and use in source (original document form) and 'compiled'
>    forms (converted to PDF, epub, HTML and other formats) with or without
>    modification, are permitted provided that the following conditions are met:
>
> @@ -107,12 +107,12 @@ Conditional statements may be used anywhere within this section.
>                          [<TS> "READ_LOCK_STATUS" <Eq> <TrueFalse> <EOL>]
>                          [<TS> "READ_ENABLED_CAP" <Eq> <TrueFalse> <EOL>]
>                          [<TS> "READ_DISABLED_CAP" <Eq> <TrueFalse> <EOL>]
>                          [<TS> "READ_STATUS" <Eq> <TrueFalse> <EOL>]
>                          [<TS> "ERASE_POLARITY" <Eq> {"0"} {"1"} <EOL>]
> -<FileSystemGuid>    ::= <TS> "FileSystemGuid" <Eq> <NamedGuid> <EOL>
> -<FvNameGuid>        ::= <TS> "FvNameGuid" <Eq> <NamedGuid> <EOL>
> +<FileSystemGuid>    ::= <TS> "FileSystemGuid" <Eq> <NamedGuidOrPcd> <EOL>
> +<FvNameGuid>        ::= <TS> "FvNameGuid" <Eq> <NamedGuidOrPcd> <EOL>
>  <FvUsedSize>        ::= <TS> "FvUsedSizeEnable" <Eq> <TrueFalse> <EOL>
>  <FvNameString>      ::= <TS> "FvNameString" <Eq> <TrueFalse> <EOL>
>  <PeiAprioriSection> ::= <TS> "APRIORI" <MTS> "PEI" <MTS>
>                          "{" <EOL>
>                          <MacroDefinition>*
> @@ -139,23 +139,21 @@ Conditional statements may be used anywhere within this section.
>                          <PATH> <Word> ".inf" [<FS> <RelocFlags>] <EOL> else:
>                          <PATH> <Word> ".inf" <EOL>
>  <RelocFlags>        ::= {"RELOCS_STRIPPED"} {"RELOCS_RETAINED"}
>  <FileStatements>    ::= {<type1>} {<type2>} {<type3>} {<type4>}
>                          {<type5>} <EOL>
> -<type1>             ::= <TS> "FILE" <MTS> <FvType1> <Eq> <NamedGuid> <Options1>
> -<type2>             ::= <TS> "FILE" <MTS> <FvType2> <Eq> <NamedGuid> <Options2>
> +<type1>             ::= <TS> "FILE" <MTS> <FvType1> <Eq> <NamedGuidOrPcd> <Options1>
> +<type2>             ::= <TS> "FILE" <MTS> <FvType2> <Eq> <NamedGuidOrPcd> <Options2>
>  <type3>             ::= <TS> "FILE" <MTS> "RAW" <Eq> <NamedGuidOrPcd>
>                          <Options2>
> -<type4>             ::= <TS> "FILE" <MTS> "NON_FFS_FILE" <Eq> [<NamedGuid>]
> +<type4>             ::= <TS> "FILE" <MTS> "NON_FFS_FILE" <Eq> [<NamedGuidOrPcd>]
>                          <Options2>
>  <type5>             ::= <TS> "FILE" <MTS> "FV_IMAGE" <Eq>
>                          <NamedGuidOrPcd> <Options2>
>  <FvType1>           ::= {"SEC"} {"PEI_CORE"} {"PEIM"}
>  <FvType2>           ::= {"FREEFORM"} {"PEI_DXE_COMBO"} {"DRIVER"}
>                          {"DXE_CORE"} {"APPLICATION"} {"SMM_CORE"} {"SMM"}
> -<NamedGuidOrPcd>    ::= {<NamedGuid>} {"PCD(" <PcdName> ")"}
> -<NamedGuid>         ::= {<RegistryFormatGUID>} {"$(NAMED_GUID)"} {<GuidCName>}
>  <Options1>          ::= [<Use>] [<FileOpts>] <RelocFlags> <MTS>
>                          "{" [<EOL>]
>                          {<Filename>} {<SectionData>} <TS> <TS> "}" [<EOL>]
>  <Options2>          ::= [<Use>] [<FileOpts>] <MTS>
>                          "{" [<EOL>]
> @@ -204,11 +202,11 @@ Conditional statements may be used anywhere within this section.
>                          <SectionOrFile>
>  <LeafSecType>       ::= {"COMPAT16"} {"PE32"} {"PIC"} {"TE"} {"RAW"}
>                          {"FV_IMAGE"} {"DXE_DEPEX"} {"SMM_DEPEX"}
>                          {"UI"} {"PEI_DEPEX"} {"VERSION"}
>  <SubTypeGuid>       ::= <TS> "SECTION" <MTS> [<FfsAlignment>] <STG_Data>
> -<STG_Data>          ::= "SUBTYPE_GUID" <MTS> <GuidValue> <Eq>
> +<STG_Data>          ::= "SUBTYPE_GUID" <MTS> <NamedGuidOrPcd> <Eq>
>                          <NormalFile> <EOL>
>  <ChkReloc>          ::= if ((LeafSectionType == "PE32"
>                          || LeafSectionType == "TE")
>                          && (MODULE_TYPE == "SEC"
>                          || MODULE_TYPE == "PEI_CORE"
> @@ -221,11 +219,11 @@ Conditional statements may be used anywhere within this section.
>                          "{" <EOL>
>                          <EncapSec>*
>                          <LeafSections>*
>                          <TS> "}" [<EOL>]
>  <CompType>          ::= {"PI_STD"} {"PI_NONE"} <MTS>
> -<GuidedSection>     ::= "GUIDED" <MTS> <NamedGuid> <MTS>
> +<GuidedSection>     ::= "GUIDED" <MTS> <NamedGuidOrPcd> <MTS>
>                          [<GuidedOptions>]
>                          "{" <EOL>
>                          <EncapSec>*
>                          <LeafSections>*
>                          <TS> "}" [<EOL>]
> @@ -263,11 +261,10 @@ Conditional statements may be used anywhere within this section.
>                          [<TS> <DepInstruct> {<EOL>} {<MTS>}]
>                          [<TS> "end" {<EOL>} {<MTS>}]
>  <BoolStmt>          ::= {<Bool>} {<BoolExpress>}
>                          {<GuidCName>} {<EOL>} {<MTS>}
>  <Bool>              ::= {"TRUE"} {"FALSE"} {<GuidCName>}
> -<GuidCName>         ::= <CName> # A Guid C Name
>  <BoolExpress>       ::= [<Not>] <GuidCName> [<OP> [<Not>] <GuidCName> ]*
>  <Not>               ::= "NOT" <MTS>
>  <OP>                ::= <MTS> {"AND"} {"OR"} <MTS>
>  <DepInstruct>       ::= "push" <MTS> <Filename>
>  <DxeDepexExp>       ::= <TS> "SECTION" <MTS> [<FfsAlignment>] "DXE_DEPEX_EXP"
> @@ -315,14 +312,10 @@ This is short hand notation refering to content that will be placed in a
>  Section of type: EFI_SECTION_FREEFORM_SUBTYPE_GUID. A single
>
>  `EFI_SECTION_FREEFORM_SUBTYPE_GUID` section is permitted in an FFS File of type
>  `EFI_FV_FILETYPE_FREEFORM`
>
> -**_GuidCName_**
> -
> -A word that is a valid C variable for a GUID.
> -
>  **_Expression_**
>
>  Refer to the EDK II Expression Syntax Specification for more information.
>
>  **_COMPRESS_**
> diff --git a/3_edk_ii_fdf_file_format/37_[capsule]_sections.md b/3_edk_ii_fdf_file_format/37_[capsule]_sections.md
> index 6606d56..2871a32 100644
> --- a/3_edk_ii_fdf_file_format/37_[capsule]_sections.md
> +++ b/3_edk_ii_fdf_file_format/37_[capsule]_sections.md
> @@ -1,9 +1,9 @@
>  <!--- @file
>    3.7 [Capsule] Sections
>
> -  Copyright (c) 2006-2017, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2006-2018, Intel Corporation. All rights reserved.<BR>
>
>    Redistribution and use in source (original document form) and 'compiled'
>    forms (converted to PDF, epub, HTML and other formats) with or without
>    modification, are permitted provided that the following conditions are met:
>
> @@ -50,19 +50,16 @@ Conditional statements may be used anywhere within this section.
>                          <CapsuleStmts>*
>  <UiCapsuleName>     ::= "." <Word>
>  <SetStatements>     ::= <TS> "SET" <MTS> <PcdName> <Eq> <VALUE> <EOL>
>  <VALUE>             ::= {<Number>} {<Boolean>} {<GUID>} {<CArray>}
>                          {<CString>} {<UnicodeString>} {<Expression>}
> -<UefiTokens>        ::= <TS> "CAPSULE_GUID" <Eq> <GuidValue> <EOL>
> +<UefiTokens>        ::= <TS> "CAPSULE_GUID" <Eq> <NamedGuidOrPcd> <EOL>
>                          [<TS> "CAPSULE_HEADER_SIZE" <Eq> <Bytes> <EOL>] [<TS>
>                          "CAPSULE_FLAGS" <Eq> <Flags> <EOL>]
>                          [<TS> "CAPSULE_HEADER_INIT_VERSION" <Eq> <Hex2> <EOL>]
>  <CapsuleStmts>      ::= {<MacroDefinition>} {<SetStatements>}
>                          {<CapsuleData>}
> -<GuidValue>         ::= {<GuidCName>} {<GuidStructure>}
> -<GuidCName>         ::= <CName>
> -<GuidStructure>     ::= {<RegistryFormatGUID>} {<CFormatGUID>}
>  <Flags>             ::= <FlagName>
>  <FlagName>          ::= {"PersistAcrossReset"}
>                          {"PersistAcrossReset" "," "InitiateReset"}
>                          {"PersistAcrossReset" "," "PopulateSystemTable"}
>                          {"PersistAcrossReset" "," "PopulateSystemTable"
> @@ -101,22 +98,20 @@ Conditional statements may be used anywhere within this section.
>  <RelocFlags>        ::= {"RELOCS_STRIPPED"} {"RELOCS_RETAINED"}
>  <KeyString>         ::= <Target> "_" <TagName> "_" <TargetArch>
>  <Target>            ::= {Target} {"$(TARGET)"}
>  <TagName>           ::= {TagName} {"$(TOOL_CHAIN_TAG)"}
>  <FileStatements>    ::= <TS> {<type1>} {<type2>} {<type3>} {<type4>}
> -<type1>             ::= "FILE" <FvType1> <Eq> <NamedGuid> <Options1>
> -<type2>             ::= "FILE" <FvType2> <Eq> <NamedGuid> <Options2>
> +<type1>             ::= "FILE" <FvType1> <Eq> <NamedGuidOrPcd> <Options1>
> +<type2>             ::= "FILE" <FvType2> <Eq> <NamedGuidOrPcd> <Options2>
>  <type3>             ::= "FILE" "RAW" <Eq> <NamedGuidOrPcd>
>                          <Options2>
> -<type4>             ::= "FILE" "NON_FFS_FILE" <Eq> [<NamedGuid>] <Options2>
> +<type4>             ::= "FILE" "NON_FFS_FILE" <Eq> [<NamedGuidOrPcd>] <Options2>
>  <type5>             ::= "FILE" "FV_IMAGE" <Eq> <NamedGuidOrPcd>
>                          <Options2>
>  <FvType1>           ::= {"SEC"} {"PEI_CORE"} {"PEIM"}
>  <FvType2>           ::= {"FREEFORM"} {"PEI_DXE_COMBO"} {"DRIVER"}
>                          {"DXE_CORE"} {"APPLICATION"} {"SMM_CORE"} {"SMM"}
> -<NamedGuid>         ::= {<RegistryFormatGUID>} {"$(NAMED_GUID)"}
> -<NamedGuidOrPcd>    ::= {<NamedGuid>} {"PCD(" <PcdName> ")"}
>  <Options1>          ::= [<Use>] [<FileOpts>] [<RelocFlags>]
>                          "{" [<EOL>]
>                          <TS> {<Filename>} {<SectionData>} [<EOL>] <TS> "}"
>                          <EOL>
>  <Options2>          ::= [<Use>] [<FileOpts>]
> @@ -197,15 +192,12 @@ Conditional statements may be used anywhere within this section.
>  <SecData>           ::= <LeafSecType> [<ChkReloc>] <SectionOrFile>
>  <LeafSecType>       ::= {"COMPAT16"} {"PE32"} {"PIC"} {"TE"} {"RAW"}
>                          {"FV_IMAGE"} {"DXE_DEPEX"} {"SMM_DEPEX"}
>                          {"UI"} {"PEI_DEPEX"} {"VERSION"}
>  <SubTypeGuid>       ::= <TS> "SECTION" <MTS> [<FfsAlignment>] <SgData>
> -<SgData>            ::= "SUBTYPE_GUID" <MTS> <GuidValue> <Eq>
> +<SgData>            ::= "SUBTYPE_GUID" <MTS> <NamedGuidOrPcd> <Eq>
>                          <NormalFile> <EOL>
> -<GuidValue>         ::= {<GuidCName>} {<GuidStructure>}
> -<GuidCName>         ::= <CName>
> -<GuidStructure>     ::= {<RegistryFormatGUID>} {<CFormatGUID>}
>  <ChkReloc>          ::= if ((LeafSecType == "PE32"
>                          || LeafSecType == "TE")
>                          && (MODULE_TYPE == "SEC"
>                          || MODULE_TYPE == "PEI_CORE"
>                          || MODULE_TYPE == "PEIM")): [<RelocFlags>]
> @@ -219,11 +211,11 @@ Conditional statements may be used anywhere within this section.
>                          [<DxeAprioriSection>]
>                          <EncapSec>*
>                          <LeafSections>*
>                          <TS> "}" <EOL>
>  <CompType>          ::= {"PI_STD"} {"PI_NONE"} <MTS>
> -<GuidedSection>     ::= "GUIDED" <NamedGuid> [<GuidedOptions>]
> +<GuidedSection>     ::= "GUIDED" <NamedGuidOrPcd> [<GuidedOptions>]
>                          "{" <EOL>
>                          <MacroDefinition>*
>                          [<PeiAprioriSection>]
>                          [<DxeAprioriSection>]
>                          <EncapSec>*
> @@ -254,11 +246,11 @@ Conditional statements may be used anywhere within this section.
>                          [<TS> "READ_LOCK_CAP" <Eq> <TrueFalse> <EOL>]
>                          [<TS> "READ_LOCK_STATUS" <Eq> <TrueFalse> <EOL>]
>                          [<TS> "READ_ENABLED_CAP" <Eq> <TrueFalse> <EOL>]
>                          [<TS> "READ_DISABLED_CAP" <Eq> <TrueFalse> <EOL>]
>                          [<TS> "READ_STATUS" <Eq> <TrueFalse> <EOL>]
> -<FileSystemGuid>    ::= "FileSystemGuid" <Eq> <NamedGuid>
> +<FileSystemGuid>    ::= "FileSystemGuid" <Eq> <NamedGuidOrPcd>
>  <DepexExpSection>   ::= if ( COMPONENT_TYPE == "LIBRARY"
>                          || LIBRARY_CLASS is declared in defines section of the
>                          INF
>                          || MODULE_TYPE == "USER_DEFINED" ):
>                          [<Depex>]
> @@ -286,11 +278,10 @@ Conditional statements may be used anywhere within this section.
>                          [<DepInstruct> {<EOL>} {<MTS>}]*
>                          ["end"] [<EOL>]
>  <BoolStmt>          ::= {<Boolean>} {<BoolExpress>}
>                          {<GuidCName>} <EOL>
>  <Boolean>           ::= {"TRUE"} {"FALSE"} {<GuidCName>}
> -<GuidCName>         ::= <CName> # A Guid C Name
>  <BoolExpress>       ::= <GuidCName> [<OP> ["NOT"] <GuidCName> ]*
>  <OP>                ::= <MTS> {"AND"} {"OR"} <MTS>
>  <DepInstruct>       ::= "push" <Filename>
>  <DxeDepexExp>       ::= "SECTION" <MTS> [<FfsAlignment>] <DxeExp>
>  <DxeExp>            ::= "DXE_DEPEX_EXP" <Eq> <MTS>
> @@ -321,14 +312,14 @@ environment variable.
>
>  **_TargetArch_**
>
>  Only specific architectures are permitted - use of "common" is prohibited.
>
> -**_GuidValue_**
> +**_NamedGuidOrPcd_**
>
>  When specifying the CAPSULE_GUID value for an FMP Capsule, the GUID value must
> -be set to 6dcbd5ed-e82d-4c44-bda1-7194199ad92a.
> +be same as 6dcbd5ed-e82d-4c44-bda1-7194199ad92a.
>
>  #### Parameters
>
>  **_UiCapsuleName_**
>
> 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 dceb77d..494122b 100644
> --- a/3_edk_ii_fdf_file_format/38_[fmppayload]_sections.md
> +++ b/3_edk_ii_fdf_file_format/38_[fmppayload]_sections.md
> @@ -47,15 +47,15 @@ statement, if present, provides the information for VendorCode in an
>  <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_TYPE_ID" <Eq> <NamedGuidOrPcd> <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>]
> +                       [<TS> "CERTIFICATE_GUID"<Eq> <NamedGuidOrPcd><EOL>]
>  <FmpFileData>      ::= <FileStatements>*
>                         <FvStatements>*
>                         <FdStatenents>*
>  <FileStatements>   ::= <TS> "FILE" <Space> "DATA" <Eq> <Filename> <EOL>
>  <FvStatements>     ::= "FV" <Eq> <FvNameOrFilename> <EOL>
> diff --git a/3_edk_ii_fdf_file_format/39_[rule]_sections.md b/3_edk_ii_fdf_file_format/39_[rule]_sections.md
> index d9f974a..0c2cd1e 100644
> --- a/3_edk_ii_fdf_file_format/39_[rule]_sections.md
> +++ b/3_edk_ii_fdf_file_format/39_[rule]_sections.md
> @@ -1,9 +1,9 @@
>  <!--- @file
>    3.9 [Rule] Sections
>
> -  Copyright (c) 2006-2017, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2006-2018, Intel Corporation. All rights reserved.<BR>
>
>    Redistribution and use in source (original document form) and 'compiled'
>    forms (converted to PDF, epub, HTML and other formats) with or without
>    modification, are permitted provided that the following conditions are met:
>
> @@ -100,22 +100,15 @@ Conditional statements may be used anywhere within this section.
>                          <TS> "FILE" <MTS> "NON_FFS_FILE" <Eq>
>                          [<NamedGuid>] [<Options>] <EOL>
>  <FileStatement1>    ::= <NamedGuid> [<RelocFlags> <MTS>] [<Options>] <EOL>
>  <FileStatement2>    ::= <TS> "FILE" <MTS> <FvType2> <Eq> <NamedGuid>
>                          [<Options>] <EOL>
> -<FileStatement3>    ::= <TS> "FILE" <MTS> "RAW" <Eq> <NamedGuidOrPcd>
> +<FileStatement3>    ::= <TS> "FILE" <MTS> "RAW" <Eq> <NamedGuid>
>                          [<Options>] <EOL>
>  <FileStatement4>    ::= <TS> "FILE" <MTS> "FV_IMAGE" <Eq>
> -                        <NamedGuidOrPcd> [<Options>] <EOL>
> -<NamedGuid>         ::= {"$(NAMED_GUID)"} {<RegistryFormatGUID>}
> -                        {<Sym>} <MTS>
> -<Sym>               ::= "$(" <Word> ")"
> -<NamedGuidOrPcd>    ::= <NamedGuid> <MTS>
> -                        {"PCD(" <PcdName> ")"} {<GuidValue>} <MTS>
> -<GuidValue>         ::= {<GuidCName>} {<GuidStructure>}
> -<GuidCName>         ::= <CName>
> -<GuidStructure>     ::= {<RegistryFormatGUID>} {<CFormatGUID>}
> +                        <NamedGuid> [<Options>] <EOL>
> +<NamedGuid>         ::= {<NamedGuidOrPcd>} {"$(NAMED_GUID)"}
>  <FvType1>           ::= {"SEC"} {"PEI_CORE"} {"PEIM"} {"PEI_DXE_COMBO"}
>  <FvType2>           ::= {"FREEFORM"} {"DRIVER"} {"DXE_CORE"}
>                          {"APPLICATION"} {"SMM_CORE"} {"SMM"}
>  <RelocFlags>        ::= {"RELOCS_STRIPPED" <MTS>}
>                          {"RELOCS_RETAINED" <MTS>}
> @@ -131,11 +124,11 @@ Conditional statements may be used anywhere within this section.
>  <FileSpec>          ::= {<SimpleFile>} {<ComplexFile>} {<SbtGuid>}
>  <SimpleFile>        ::= <LeafSecType> [<FileOpts>] <VarFile> <EOL>
>  <LeafSecType>       ::= {"COMPAT16"} {"PE32"} {"PIC"} {"TE"}
>                          {"FV_IMAGE"} {"RAW"} {"DXE_DEPEX"} {"UI"}
>                          {"PEI_DEPEX"} {"SMM_DEPEX"} {"VERSION"}
> -<SbtGuid>           ::= "SUBTYPE_GUID" <MTS> <GuidValue> <MTS> <FName> <EOL>
> +<SbtGuid>           ::= "SUBTYPE_GUID" <MTS> <NamedGuid> <MTS> <FName> <EOL>
>  <VarFile>           ::= {<FilenameVariable>} {<FName>} {<Ext>}
>  <FName>             ::= [<PATH>] <Word> "." <Word>
>  <FilenameVariable>  ::= "$(INF_OUTPUT)/$(MODULE_NAME)" "." <Word>
>  <ComplexFile>       ::= "{" <EOL>
>                          <EncapSection>*
> @@ -146,11 +139,11 @@ Conditional statements may be used anywhere within this section.
>                          "{" [<EOL>]
>                          <EncapSec>*
>                          <LeafSections> <EOL>*
>                          <TS> "}" <EOL>
>  <CompType>          ::= {"PI_STD"} {"PI_NONE"} <MTS>
> -<GuidedSection>     ::= "GUIDED" <MTS> "$(NAMED_GUID)" <MTS> [<GAttr>]
> +<GuidedSection>     ::= "GUIDED" <MTS> <NamedGuid> <MTS> [<GAttr>]
>                          "{" <EOL>
>                          <EncapSec>*
>                          <LeafSections>*
>                          <TS> "}" <EOL>
>  <GAttr>             ::= [<GuidAttrPR>] [<GuidAttrASV>] [<GuidHeaderSize>]
> @@ -170,11 +163,11 @@ Conditional statements may be used anywhere within this section.
>  <SmmDepSec>         ::= "SMM_DEPEX" <MTS> <DdFileType> [<FileOrExt>] <EOL>
>  <UiSec>             ::= "UI" <MTS> <UiFileType> [<FileOrExt>] <EOL>
>  <VerSec>            ::= "VERSION" <MTS> <VerFileType> [<FileOrExt>] <EOL>
>  <PeiDepSec>         ::= "PEI_DEPEX" <MTS> <PdFileType>
>                          [<FileOrExt>] <EOL>
> -<SubtypeGuidSec>    ::= "SUBTYPE_GUID" <MTS> <GuidValue> <MTS>
> +<SubtypeGuidSec>    ::= "SUBTYPE_GUID" <MTS> <NamedGuid> <MTS>
>                          <File> <EOL>
>  <FileOrExt>         ::= {<VarFile>} {<Ext>} <MTS>
>  <FileOrExtOrPcd>    ::= {<VarFile>} {<Ext>} {"PCD(" <PcdName> ")"}
>  <Ext>               ::= <FS> "." [a-zA-Z][a-zA-Z0-9]{0,}
>  <C16FileType>       ::= "COMPAT16" [<FfsAlignment>]
> diff --git a/README.md b/README.md
> index 042e2ca..c2767fb 100644
> --- a/README.md
> +++ b/README.md
> @@ -210,5 +210,6 @@ Copyright (c) 2006-2017, Intel Corporation. All rights reserved.
>  |            | [#585](https://bugzilla.tianocore.org/show_bug.cgi?id=585) FDF Spec: Update the FDF_SPECIFICATION version to 0x0001001B or 1.27                                            |               |
>  | 1.28       | Update version to 1.28                                                                                                                                                     | March 2018    |
>  |            | Per PI 1.6 to extend FFS alignment to 16M                                                                                                                                  |               |
>  |            | Per PI 1.6 to support FV extended header entry contain the used size of FV                                                                                                 |               |
>  |            | Add !error statement section                                                                                                                                               |               |
> +|            | clean up the <NamedGuidOrPcd> and <NamedGuid> usage in spec                                                                                                                |               |
> --
> 2.6.1.windows.1
>
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel


  reply	other threads:[~2018-06-19 12:33 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-19  8:12 [Patch] FDF Spec: clean up the <NamedGuidOrPcd> and <NamedGuid> usage in spec Yonghong Zhu
2018-06-19 12:33 ` Ard Biesheuvel [this message]
2018-06-20  0:47   ` Zhu, Yonghong

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAKv+Gu_=VTALu_5yq2YuCb6HGMvKfmQsTaiqSYqV8cPbQrgwtw@mail.gmail.com' \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox