public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [Patch] edk2 DecSpec: Support the syntax of the structure array for structure PCD
@ 2018-12-05  3:59 Liming Gao
  2018-12-05  3:59 ` [Patch] edk2 Dscspec: Add the syntax to initialize structure PCD with C style value Liming Gao
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: Liming Gao @ 2018-12-05  3:59 UTC (permalink / raw)
  To: edk2-devel

https://bugzilla.tianocore.org/show_bug.cgi?id=1292
1. Support the syntax of the structure array for structure PCD
2. Add the syntax to initialize structure PCD with C style value

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
Cc: Bob Feng <bob.c.feng@intel.com>
---
 3_edk_ii_dec_file_format/310_pcd_sections.md                     | 2 +-
 .../32_package_declaration_dec_definitions.md                    | 9 ++++++++-
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/3_edk_ii_dec_file_format/310_pcd_sections.md b/3_edk_ii_dec_file_format/310_pcd_sections.md
index 42beee9..2711788 100644
--- a/3_edk_ii_dec_file_format/310_pcd_sections.md
+++ b/3_edk_ii_dec_file_format/310_pcd_sections.md
@@ -125,7 +125,7 @@ PCDs listed in `PcdsFeatureFlag` sections must only be listed in
 <PcdUint32>       ::= {<NumValUint32>} {<Expression>} <FS> "UINT32"
 <Pcd64>           ::= <PcdName> <FS> <PcdUint64> <FS> <Token> <CbOrEol>
 <PcdUint64>       ::= {<NumValUint64>} {<Expression>} <FS> "UINT64"
-<PcdStruct>       ::= <PcdName> <FS> <PtrVal> <FS> <CName> <FS> <Token> "{" <EOL>
+<PcdStruct>       ::= <PcdName> <FS> <PtrVal> <FS> {<CName>} {<CArrayName>} <FS> <Token> "{" <EOL>
                       <TS> <PcdStructHF>
                       <TS> <PcdStructPKGs> "}" <CbOrEol>
 <PcdStructHF>     ::= "<HeaderFile>" <EOL> <PcdStructFile>
diff --git a/3_edk_ii_dec_file_format/32_package_declaration_dec_definitions.md b/3_edk_ii_dec_file_format/32_package_declaration_dec_definitions.md
index a3120f3..bc794fe 100644
--- a/3_edk_ii_dec_file_format/32_package_declaration_dec_definitions.md
+++ b/3_edk_ii_dec_file_format/32_package_declaration_dec_definitions.md
@@ -87,6 +87,7 @@ DEC file (for example, `<Expression>` statements are not permitted).
 <NonDigit>            ::= (a-zA-Z_)
 <Identifier>          ::= <NonDigit> <Chars>*
 <CName>               ::= <Identifier> # A valid C variable name.
+<CArrayName>          ::= <Identifier>"["<Number>"]" # A valid C variable array name.
 <AsciiChars>          ::= (0x21 - 0x7E)
 <CChars>              ::= [{0x21} {(0x23 - 0x26)} {(0x28 - 0x5B)}
                           {(0x5D - 0x7E)} {<EscapeSequence>}]*
@@ -208,7 +209,7 @@ DEC file (for example, `<Expression>` statements are not permitted).
 <StringVal>           ::= {<UnicodeString>} {<CString>} {<Array>}
 <Array>               ::= "{" {<Array>} {[<Lable>] <ArrayVal> 
                            [<CommaSpace> [<Lable>] <ArrayVal>]* } "}"
-<ArrayVal>            ::= {<Num8Array>} {<GuidStr>} {<DevicePath>} 
+<ArrayVal>            ::= {<Num8Array>} {<GuidStr>} {<DevicePath>} {<CodeStr>}
 <NonNumType>          ::= {<BoolVal>}{<UnicodeString>} {<CString>}
                           {<Offset>} {<UintMac>}
 <Num8Array>           ::= {<NonNumType>} {<ShortNum>} {<UINT8>}
@@ -216,6 +217,7 @@ DEC file (for example, `<Expression>` statements are not permitted).
 <Num32Array>          ::= {<NonNumType>} {<LongNum>} {<UINT32>}
 <Num64Array>          ::= {<NonNumType>} {<LongLongNum>} {<UINT64>}
 <GuidStr>             ::= "GUID(" <GuidVal> ")"
+<CodeStr>             ::= "CODE(" <CData> ")"
 <GuidVal>             ::= {<DblQuote> <RegistryFormatGUID> <DblQuote>}
                           {<CFormatGUID>} {<CName>}
 <DevicePath>          ::= "DEVICE_PATH(" <DevicePathStr> ")"
@@ -326,6 +328,11 @@ All C data arrays used in PCD value fields must be byte arrays. The C format
 GUID style is a special case that is permitted in some fields that use the
 `<CArray>` nomenclature.
 
+**_CData_**
+
+All C data used in PCD value CODE syntax can be C style value to initialize 
+C structure or Array in C source code.
+
 **_EOL_**
 
 The DOS End Of Line: "0x0D 0x0A" character sequence must be used for all EDK II
-- 
2.13.0.windows.1



^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2018-12-18 10:08 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-05  3:59 [Patch] edk2 DecSpec: Support the syntax of the structure array for structure PCD Liming Gao
2018-12-05  3:59 ` [Patch] edk2 Dscspec: Add the syntax to initialize structure PCD with C style value Liming Gao
2018-12-05  3:59 ` [Patch] ModuleWriteGuide: Add notes to define library instance module type Liming Gao
2018-12-10  1:10   ` Bi, Dandan
2018-12-10  1:44     ` Gao, Liming
2018-12-05  3:59 ` [Patch] Update edk2-stable201903 tag planning with Remove DuetPkg Liming Gao
2018-12-18 10:08 ` [Patch] edk2 DecSpec: Support the syntax of the structure array for structure PCD Feng, Bob C

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox