* [Patch] INF Spec: FixedAtBuild (VOID*) PCD use in the [DEPEX] section
@ 2018-06-14 7:43 Yonghong Zhu
2018-06-19 5:34 ` Gao, Liming
0 siblings, 1 reply; 2+ messages in thread
From: Yonghong Zhu @ 2018-06-14 7:43 UTC (permalink / raw)
To: edk2-devel; +Cc: Liming Gao, Michael Kinney, Kevin W Shaw
Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=444
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>
---
3_edk_ii_inf_file_format/314_[depex]_sections.md | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/3_edk_ii_inf_file_format/314_[depex]_sections.md b/3_edk_ii_inf_file_format/314_[depex]_sections.md
index e325f06..942bcf9 100644
--- a/3_edk_ii_inf_file_format/314_[depex]_sections.md
+++ b/3_edk_ii_inf_file_format/314_[depex]_sections.md
@@ -1,9 +1,9 @@
<!--- @file
3.14 [Depex] Sections
- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2007-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:
@@ -156,10 +156,13 @@ that will be loaded from the shell or stored in a PCI option ROM) will not have
an FFS DEPEX section generated by the tools.
**********
**Note:** Capitalization in the Prototypes listed below does not match the
capitalization used in the PI Specification.
**********
+**Note:** The PCD item used in this section must be defined as FixedAtBuild type
+and VOID* datum type, and the size of the PCD must be 16 bytes.
+**********
#### Prototype
```c
<Depex> ::= "[Depex" [<com_attribs>] "]" <EOL>
@@ -171,37 +174,38 @@ capitalization used in the PI Specification.
<DepexModuleType> ::= {"PEIM"} {"DXE_DRIVER"} {"DXE_SMM_DRIVER"}
{"DXE_RUNTIME_DRIVER"} {"DXE_SAL_DRIVER"}
{"UEFI_DRIVER"} {"USER_DEFINED"}
<DepexSection> ::= {<PeiDepex>} {<SmmDepex>} {<DxeDepex>}
<DxeDepex> ::= <DxeDepexStatements>+ ["END" <EOL>]
-<DxeDepexStatements> ::= {<SorStmt>} {<GuidStmt>} {<BoolStmt>}
+<DxeDepexStatements> ::= {<SorStmt>} {<GuidOrPcdStmt>} {<BoolStmt>}
<PeiDepex> ::= <PeiDepexStatements>*
["END" <EOL>]
<PeiDepexStatements> ::= {<BoolStmt>} {<DepInstruct>}
<SmmDepex> ::= <DxeDepex>
-<GuidStmt> ::= {"BEFORE"} {"AFTER"} <GuidCName> [<EOL>]
+<GuidOrPcdStmt> ::= {"BEFORE"} {"AFTER"} <GuidOrPcdName> [<EOL>]
+<GuidOrPcdName> ::= {<GuidCName>} {<PcdName>}
<DepInstruct> ::= "PUSH" <CFormatGUID> [<EOL>]
<SorStmt> ::= "SOR" <BoolStmt> [<EOL>]
<BoolStmt> ::= {<Bool>} {<BoolExpress>}
-<Bool> ::= {"TRUE"} {"FALSE"} {<GuidCName>} [<EOL>]
+<Bool> ::= {"TRUE"} {"FALSE"} {<GuidCName>} {<PcdName>} [<EOL>]
<GuidCName> ::= <CName> # A Guid C Name
<NTs> ::= "NOT" <TS>
<BoolExpress> ::= <NTs> <Bool> [<BoolExpressCont>]*
<BoolExpressCont> ::= <MTS> {"AND"} {"OR"} <MTS> [<NTs>] <Bool>
<AsBuiltDepex> ::= "#" {<FullDxe>} {<FullPei>} {<FullSmm>} <EOL>
<FullDxe> ::= <DxeStatements>+
[<TS> "END"]
-<DxeStatements> ::= {<SorAbStmt>} {<GuidAbStmt>} {<BoolAbStmt>}
+<DxeStatements> ::= {<SorAbStmt>} {<GuidOrPcdAbStmt>} {<BoolAbStmt>}
<FullPei> ::= <PeiStatements>*
[<TS> "END"]
<PeiStatements> ::= {<BoolAbStmt>} {<DepAbInstruct>}
<FullSmm> ::= <FullDxe>
-<GuidAbStmt> ::= {"BEFORE"} {"AFTER"} <TS> <GuidCName> <TS>
+<GuidOrPcdAbStmt> ::= {"BEFORE"} {"AFTER"} <TS> <GuidOrPcdName> <TS>
<DepAbInstruct> ::= "PUSH" <TS> <CFormatGUID> <TS>
<SorAbStmt> ::= "SOR" <TS> <BoolAbStmt> <TS>
<BoolAbStmt> ::= {<BoolAb>} {<BoolAbExpress>}
-<BoolAb> ::= {"TRUE"} {"FALSE"} {<GuidCName>} <TS>
+<BoolAb> ::= {"TRUE"} {"FALSE"} {<GuidCName>} {<PcdName>} <TS>
<GuidCName> ::= <CName> # A Guid C Name
<BoolAbExpress> ::= <NTs> <Bool> [<BoolAbExpressCont>]*
<BoolAbExpressCont> ::= <MTS> {"AND"} {"OR"} <MTS> [<NTs>] <Bool>
```
@@ -212,11 +216,11 @@ capitalization used in the PI Specification.
gEfiFirmwareVolumeBlockProtocolGuid
AND gEfiAlternateFvBlockGuid
AND gEfiFaultTolerantWriteLiteProtocolGuid
[Depex]
- SOR gEfiProtocolIDependOnGuid
+ gEfiNt32PkgTokenSpaceGuid.PcdGuidTest
[Depex.common]
SOR gEfiProtocolIDependOnGuid
[Depex.IA32.DXE_SMM_DRIVER]
--
2.6.1.windows.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Patch] INF Spec: FixedAtBuild (VOID*) PCD use in the [DEPEX] section
2018-06-14 7:43 [Patch] INF Spec: FixedAtBuild (VOID*) PCD use in the [DEPEX] section Yonghong Zhu
@ 2018-06-19 5:34 ` Gao, Liming
0 siblings, 0 replies; 2+ messages in thread
From: Gao, Liming @ 2018-06-19 5:34 UTC (permalink / raw)
To: Zhu, Yonghong, edk2-devel@lists.01.org; +Cc: Kinney, Michael D, Shaw, Kevin W
Reviewed-by: Liming Gao <liming.gao@intel.com>
>-----Original Message-----
>From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
>Yonghong Zhu
>Sent: Thursday, June 14, 2018 3:43 PM
>To: edk2-devel@lists.01.org
>Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Shaw, Kevin W
><kevin.w.shaw@intel.com>; Gao, Liming <liming.gao@intel.com>
>Subject: [edk2] [Patch] INF Spec: FixedAtBuild (VOID*) PCD use in the [DEPEX]
>section
>
>Fixes: https://bugzilla.tianocore.org/show_bug.cgi?id=444
>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>
>---
> 3_edk_ii_inf_file_format/314_[depex]_sections.md | 20 ++++++++++++-----
>---
> 1 file changed, 12 insertions(+), 8 deletions(-)
>
>diff --git a/3_edk_ii_inf_file_format/314_[depex]_sections.md
>b/3_edk_ii_inf_file_format/314_[depex]_sections.md
>index e325f06..942bcf9 100644
>--- a/3_edk_ii_inf_file_format/314_[depex]_sections.md
>+++ b/3_edk_ii_inf_file_format/314_[depex]_sections.md
>@@ -1,9 +1,9 @@
> <!--- @file
> 3.14 [Depex] Sections
>
>- Copyright (c) 2007-2017, Intel Corporation. All rights reserved.<BR>
>+ Copyright (c) 2007-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:
>
>@@ -156,10 +156,13 @@ that will be loaded from the shell or stored in a PCI
>option ROM) will not have
> an FFS DEPEX section generated by the tools.
> **********
> **Note:** Capitalization in the Prototypes listed below does not match the
> capitalization used in the PI Specification.
> **********
>+**Note:** The PCD item used in this section must be defined as
>FixedAtBuild type
>+and VOID* datum type, and the size of the PCD must be 16 bytes.
>+**********
>
> #### Prototype
>
> ```c
> <Depex> ::= "[Depex" [<com_attribs>] "]" <EOL>
>@@ -171,37 +174,38 @@ capitalization used in the PI Specification.
> <DepexModuleType> ::= {"PEIM"} {"DXE_DRIVER"} {"DXE_SMM_DRIVER"}
> {"DXE_RUNTIME_DRIVER"} {"DXE_SAL_DRIVER"}
> {"UEFI_DRIVER"} {"USER_DEFINED"}
> <DepexSection> ::= {<PeiDepex>} {<SmmDepex>} {<DxeDepex>}
> <DxeDepex> ::= <DxeDepexStatements>+ ["END" <EOL>]
>-<DxeDepexStatements> ::= {<SorStmt>} {<GuidStmt>} {<BoolStmt>}
>+<DxeDepexStatements> ::= {<SorStmt>} {<GuidOrPcdStmt>} {<BoolStmt>}
> <PeiDepex> ::= <PeiDepexStatements>*
> ["END" <EOL>]
> <PeiDepexStatements> ::= {<BoolStmt>} {<DepInstruct>}
> <SmmDepex> ::= <DxeDepex>
>-<GuidStmt> ::= {"BEFORE"} {"AFTER"} <GuidCName> [<EOL>]
>+<GuidOrPcdStmt> ::= {"BEFORE"} {"AFTER"} <GuidOrPcdName> [<EOL>]
>+<GuidOrPcdName> ::= {<GuidCName>} {<PcdName>}
> <DepInstruct> ::= "PUSH" <CFormatGUID> [<EOL>]
> <SorStmt> ::= "SOR" <BoolStmt> [<EOL>]
> <BoolStmt> ::= {<Bool>} {<BoolExpress>}
>-<Bool> ::= {"TRUE"} {"FALSE"} {<GuidCName>} [<EOL>]
>+<Bool> ::= {"TRUE"} {"FALSE"} {<GuidCName>} {<PcdName>} [<EOL>]
> <GuidCName> ::= <CName> # A Guid C Name
> <NTs> ::= "NOT" <TS>
> <BoolExpress> ::= <NTs> <Bool> [<BoolExpressCont>]*
> <BoolExpressCont> ::= <MTS> {"AND"} {"OR"} <MTS> [<NTs>] <Bool>
> <AsBuiltDepex> ::= "#" {<FullDxe>} {<FullPei>} {<FullSmm>} <EOL>
> <FullDxe> ::= <DxeStatements>+
> [<TS> "END"]
>-<DxeStatements> ::= {<SorAbStmt>} {<GuidAbStmt>} {<BoolAbStmt>}
>+<DxeStatements> ::= {<SorAbStmt>} {<GuidOrPcdAbStmt>}
>{<BoolAbStmt>}
> <FullPei> ::= <PeiStatements>*
> [<TS> "END"]
> <PeiStatements> ::= {<BoolAbStmt>} {<DepAbInstruct>}
> <FullSmm> ::= <FullDxe>
>-<GuidAbStmt> ::= {"BEFORE"} {"AFTER"} <TS> <GuidCName> <TS>
>+<GuidOrPcdAbStmt> ::= {"BEFORE"} {"AFTER"} <TS> <GuidOrPcdName>
><TS>
> <DepAbInstruct> ::= "PUSH" <TS> <CFormatGUID> <TS>
> <SorAbStmt> ::= "SOR" <TS> <BoolAbStmt> <TS>
> <BoolAbStmt> ::= {<BoolAb>} {<BoolAbExpress>}
>-<BoolAb> ::= {"TRUE"} {"FALSE"} {<GuidCName>} <TS>
>+<BoolAb> ::= {"TRUE"} {"FALSE"} {<GuidCName>} {<PcdName>} <TS>
> <GuidCName> ::= <CName> # A Guid C Name
> <BoolAbExpress> ::= <NTs> <Bool> [<BoolAbExpressCont>]*
> <BoolAbExpressCont> ::= <MTS> {"AND"} {"OR"} <MTS> [<NTs>] <Bool>
> ```
>
>@@ -212,11 +216,11 @@ capitalization used in the PI Specification.
> gEfiFirmwareVolumeBlockProtocolGuid
> AND gEfiAlternateFvBlockGuid
> AND gEfiFaultTolerantWriteLiteProtocolGuid
>
> [Depex]
>- SOR gEfiProtocolIDependOnGuid
>+ gEfiNt32PkgTokenSpaceGuid.PcdGuidTest
>
> [Depex.common]
> SOR gEfiProtocolIDependOnGuid
>
> [Depex.IA32.DXE_SMM_DRIVER]
>--
>2.6.1.windows.1
>
>_______________________________________________
>edk2-devel mailing list
>edk2-devel@lists.01.org
>https://lists.01.org/mailman/listinfo/edk2-devel
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-06-19 5:34 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-06-14 7:43 [Patch] INF Spec: FixedAtBuild (VOID*) PCD use in the [DEPEX] section Yonghong Zhu
2018-06-19 5:34 ` Gao, Liming
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox