* [RFC][BaseTools] Build report update for Structure PCD value and SKU, DefaultStore info
@ 2017-09-04 5:03 Zhu, Yonghong
0 siblings, 0 replies; only message in thread
From: Zhu, Yonghong @ 2017-09-04 5:03 UTC (permalink / raw)
To: edk2-devel@lists.01.org
- Requirement
Report Structure PCD value and SKU, DefaultStore info in the build report.
- Proposal
1. Report Structure Pcd Value
a) Pcd value format use byte array format, eg. {0x1, 0x2, ..} , each line print 16 bytes values
b) Report the field value specified in the DSC/DEC file
c) Only the field specified in DSC/DEC will be in the report, not the full structure field list
d) the field value is from DSC/DEC file, not from the final structure byte array
e) the field order in the report base on their field name’s alphabetical
2. In the build report, Platform Summary report current platform support SKU and DefaultStore info if those info exist
3. For Dynamic/DynamicEX Pcd, report every SKU info. The order base on SKU’s alphabetical. If Pcd is specified for SubSku, its value will print for SubSku. If SKUB is inherited from SKUA, Pcd for SKUB will include its value for SKUA.
4. For DynamicHII/DynamicExHII Pcd, report every DefaultStore info. The order base on DefaultStore’s alphabetical.
- Spec update
13.4 Platform Summary
SKUID: %Platform SKUID String%
DefaultStore: %Platform DefaultStore String%
Note: This two items are optional.
13.4.1 Pcds in Conditional Directives
[*P|*F|*B] <PcdCName>: <PcdType> (<DatumType>) = <PcdValue>
Note: If the Pcd is a Structure PCD, we will use the Struct Name as the <DatumType>
13.4.2 Pcds not used
[*P|*F|*B] <PcdCName>: <PcdType> (<DatumType>) [(<SKUID>)][(<DefaultStore>)] = <PcdValue>
Note: If the Pcd is a Structure PCD, we will use the Struct Name as the <DatumType>
13.6 Global Pcd Section
13.6.1 Required line
[*P|*F|*B] <PcdCName>: <PcdType> (<DatumType>) [(<SKUID>)][(<DefaultStore>)] = <PcdValue>
Note: If the Pcd is a Structure PCD, we will use the Struct Name as the <DatumType>
13.6.2 Optional lines
13.6.2.4 Field value for Structure PCD
If the Pcd is a Structure Pcd, we will also print out every field value that user specified in DSC/DEC file.
13.8 Module Section
13.8.3 Pcd Sub-section
1.The first line is a mandatory line with the following format:
[*P|*M|*F|*B] <PcdCName>:<PcdType> (<DatumType>) [(<SKUID>)][(<DefaultStore>)] = <PcdValue>
Note: If the Pcd is a Structure PCD, we will use the Struct Name as the <DatumType>
- Example
DEC:
[PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
gEfiMdePkgTokenSpaceGuid. TestFix | {0xFF, 0xFF}|TEST|0x00010071 {
<HeaderFiles>
Guid/Test.h # for Guid/Ppi/Protocol, reuse header file.
# Pcd/PcdTest.h # New Pcd directory in Include dir for PCD only
<Packages>
MdePkg/MdePkg.dec
TestPkg/TestPkg.dec
}
gEfiMdePkgTokenSpaceGuid.TestFix.A|0xF
gEfiMdePkgTokenSpaceGuid.TestFix.C|0xF
gEfiMdePkgTokenSpaceGuid.TestDynamic| L"COM1!COM0"|VOID*|0x00010073
gEfiMdePkgTokenSpaceGuid.TestDynamicExHii|{0xFF, 0xFF}|TEST|0x00010074 {
<HeaderFiles>
Guid/Test.h
<Packages>
MdePkg/MdePkg.dec
TestPkg/TestPkg.dec
}
gEfiMdePkgTokenSpaceGuid.TestDynamicExHii.A|0xF
gEfiMdePkgTokenSpaceGuid.TestDynamicExHii.C|0xF
DSC:
[PcdsFixedAtBuild]
gEfiMdePkgTokenSpaceGuid. TestFix.A |0x2
gEfiMdePkgTokenSpaceGuid. TestFix.C |0x0
gEfiMdePkgTokenSpaceGuid. TestFix. Array | GUID("6F08F62E-5C19-498E-9157-B59CE6F362F1")
gEfiMdePkgTokenSpaceGuid. TestFix. FlexibleArray | L"World"
[PcdsDynamicDefault.Common. DEFAULT]
gEfiMdePkgTokenSpaceGuid.TestDynamic |L"COM1!COM2"|VOID*|20
[PcdsDynamicDefault.Common.SKU1]
gEfiMdePkgTokenSpaceGuid.TestDynamic |L"COM3!COM4"|VOID*|20
[PcdsDynamicDefault.Common.SKU2]
gEfiMdePkgTokenSpaceGuid.TestDynamic |L"COM5!COM6"|VOID*|20
[PcdsDynamicExHii.common.SKU1. STANDARD]
gEfiMdePkgTokenSpaceGuid. TestDynamicExHii.A |0x1
gEfiMdePkgTokenSpaceGuid. TestDynamicExHii.C |0x0
gEfiMdePkgTokenSpaceGuid. TestDynamicExHii. Array | GUID("6F08F62E-5C19-498E-9157-B59CE6F362F1")
gEfiMdePkgTokenSpaceGuid. TestDynamicExHii. FlexibleArray | L"World"
[PcdsDynamicExHii.common.SKU1. Manufacturing]
gEfiMdePkgTokenSpaceGuid. TestDynamicExHii.A |0x2
gEfiMdePkgTokenSpaceGuid. TestDynamicExHii.C |0x0
gEfiMdePkgTokenSpaceGuid. TestDynamicExHii. Array | GUID("6F08F13E-5C19-498E-9157-B59CE6F362F1")
gEfiMdePkgTokenSpaceGuid. TestDynamicExHii. FlexibleArray | L"World"
Report:
gEfiMdePkgTokenSpaceGuid
*P TestFix : FIXED (TEST) = {
0xff,0x02,0x00,0x2e,0xf6,0x08,0x6f,0x19,0x5c,0x8e,0x49,0x91,0x57,0xb5,0x9c,0xe6,
0xf3,0x62,0xf1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x00,0x57,0x00,
0x6f,0x00,0x72,0x00,0x6c,0x00,0x64,0x00,0x00,0x00}
.A = 0x2
.C = 0x0
.Array = GUID("6F08F62E-5C19-498E-9157-B59CE6F362F1")
.FlexibleArray = L"World"
DEC DEFAULT = {0xFF,0xFF}
.A = 0xF
.C = 0xF
*P TestDynamic : DYN (VOID*) (DEFAULT) = L"COM1!COM2"
: DYN (VOID*) (SKU1) = L"COM3!COM4"
: DYN (VOID*) (SKU2) = L"COM5!COM6"
DEC DEFAULT = L"COM1!COM0"
*P TestDynamicExHii : DEXHII (TEST) (SKU1) (STANDARD ) = {
0xff,0x01,0x00,0x2e,0xf6,0x08,0x6f,0x19,0x5c,0x8e,0x49,0x91,0x57,0xb5,0x9c, 0xe6,
0xf3,0x62,0xf1,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x02,0x00,0x57,0x00,0x6f,0x00,0x72,0x00,0x6c,0x00,0x64,0x00,0x00,0x00}
.A = 0x1
.C = 0x0
.Array = GUID("6F08F62E-5C19-498E-9157-B59CE6F362F1")
.FlexibleArray = L"World“
: DEXHII (TEST) (SKU1) (Manufacturing) = {
0xff,0x02,0x00,0x3e,0xf1,0x08,0x6f,0x19,0x5c,0x8e,0x49,0x91,0x57,0xb5,0x9c, 0xe6,
0xf3,0x62,0xf1,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,
0x00,0x00,0x02,0x00,0x57,0x00,0x6f,0x00,0x72,0x00,0x6c,0x00,0x64,0x00,0x00,0x00}
.A = 0x2
.C = 0x0
.Array = GUID("6F08F13E-5C19-498E-9157-B59CE6F362F1")
.FlexibleArray = L"World"
DEC DEFAULT = {0xFF,0xFF}
.A = 0xF
.C = 0xF
Best Regards,
Zhu Yonghong
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2017-09-04 5:00 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-09-04 5:03 [RFC][BaseTools] Build report update for Structure PCD value and SKU, DefaultStore info Zhu, Yonghong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox