- This release requires manual editing of the SPD file, adding the protocol\r
to the ProtocolDeclarations section of the file. \r
- Add the Protocol .h file to the Include\Protocol directory.\r
- - Add an entry to the Protocol.info file\r
+ - Add an <Entry> to the <ProtocolDeclarations> element in the \r
+ <PackageName>.spd file\r
* Each line contains Protocol base name then the global variable name and\r
then the hex value of the Protocol GUID.\r
\r
-Example Protocol.info file (2 lines):\r
-UnicodeCollation gEfiUnicodeCollationProtocolGuid\r
- { 0x1d85cd7f, 0xf43d, 0x11d2, 0x9a, 0xc, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } \r
-UsbHc gEfiUsbHcProtocolGuid\r
- { 0xf5089266, 0x1aa0, 0x4953, 0x97, 0xd8, 0x56, 0x2f, 0x8a, 0x73, 0xb5, 0x19 }\r
+Example Protocol Entries (NOTE: The Guid entry is a single line in the SPD file):\r
+<ProtocolDeclarations>\r
+ <Entry Name="UnicodeCollation">\r
+ <C_Name>gEfiUnicodeCollationProtocolGuid</C_Name>\r
+ <Guid>{ 0x1d85cd7f, 0xf43d, 0x11d2, 0x9a, 0xc, 0x0, 0x90, 0x27,\r
+ 0x3f, 0xc1, 0x4d }</Guid>\r
+ <Entry Name="UsbHc">\r
+ <C_Name>gEfiUsbHcProtocolGuid</C_Name>\r
+ <Guid>{ 0xf5089266, 0x1aa0, 0x4953, 0x97, 0xd8, 0x56, 0x2f, 0x8a,\r
+ 0x73, 0xb5, 0x19 }</Guid>\r
\r
---------------------------------\r
5) Declare a new PPI in a package:\r
- This release requires manual editing of the SPD file\r
- Add the PPI .h file to the Include\Ppi directory.\r
- - Add an entry to the Ppi.info file\r
+ - Add an <Entry> to the package <PpiDeclarations> element in the \r
+ <PackageName>.spd file\r
* Each line contains PPI base name then the global variable name and then\r
the hex value of the PPI GUID.\r
\r
-Example Ppi.info file (2 lines):\r
-NtPeiLoadFile gNtPeiLoadFilePpiGuid\r
- { 0xfd0c65eb, 0x405, 0x4cd2, 0x8a, 0xee, 0xf4, 0x0, 0xef, 0x13, 0xba, 0xc2 }\r
-NtThunk gPeiNtThunkPpiGuid\r
- { 0x98c281e5, 0xf906, 0x43dd, 0xa9, 0x2b, 0xb0, 0x3, 0xbf, 0x27, 0x65, 0xda }\r
+Example Ppi Entries (NOTE: The Guid entry is a single line in the SPD file):\r
+<PpiDeclarations>\r
+ <Entry Name="NtPeiLoadFile">\r
+ <C_Name>gNtPeiLoadFilePpiGuid</C_Name>\r
+ <Guid>{ 0xfd0c65eb, 0x405, 0x4cd2, 0x8a, 0xee, 0xf4, 0x0, 0xef, 0x13,\r
+ 0xba, 0xc2 }</Guid>\r
+ </Entry>\r
+ <Entry Name="NtThunk">\r
+ <C_Name>gPeiNtThunkPpiGuid</C_Name>\r
+ <Guid>{ 0x98c281e5, 0xf906, 0x43dd, 0xa9, 0x2b, 0xb0, 0x3, 0xbf,\r
+ 0x27, 0x65, 0xda }</Guid>\r
+ </Entry>\r
+</PpiDeclarations>\r
+\r
\r
----------------------------------\r
6) Declare a new GUID in a package:\r
- This release requires manual editing of the SPD file to include the new\r
- Guid.\r
+ Guid. This is identical to adding a ProtocolDeclaration or PpiDeclaration\r
+ element as described above.\r
\r
--------------------------------------- \r
-7) Declare a new PCD entry in a package:\r
+7) Define a new PCD entry in a package:\r
- This release requires manual editing of the SPD file to include the new\r
- PCD.\r
+ PCD. New Pcd entries are added to the PcdDefinitions section of the\r
+ <PackageName>.spd file using the following example for the format:\r
+ NOTE: The hex <Token> value must be unique.\r
+\r
+<PcdDefinitions>\r
+ <PcdEntry ItemType="FIXED_AT_BUILD">\r
+ <C_Name>PcdMaximumUnicodeStringLength</C_Name>\r
+ <Token>0x00000001</Token>\r
+ <DatumType>UINT32</DatumType>\r
+ <DefaultValue>1000000</DefaultValue>\r
+ </PcdEntry>\r
+</PcdDefinition>\r
\r
------------------------------\r
8) Declare a new Library Class:\r
- This release requires manual editing of the SPD file to include the new\r
- Library Class.\r
+ Library Class. New Library Class entries are added to the \r
+ LibraryClassDeclarations seection of the <PackageName>.spd file using\r
+ the following example for the format:\r
+\r
+<LibraryClassDeclarations>\r
+ <LibraryClassDeclaration>\r
+ <LibraryClass>BaseLib</LibraryClass>\r
+ <IncludeHeader>Include/Library/BaseLib.h</IncludeHeader>\r
+ </LibraryClassDeclaration>\r
+</LibraryClassDeclarations>\r
\r
--------------------------------------\r
9) Add a library instance to a package:\r