D.1 EDK II Build System Output File Format

The output file generated by the EDK II build system (if a VPD_TOOL_GUID entry appears in the [Defines] section of the DSC file) is a text file.

Summary

The file is generated by the EDK II build system to be consumed by the tool, specified by GUID in the Conf/tools_def.txt file. The file is generated in the Platform FV directory using the GUID value of the VPD_TOOL_GUID for the filename. This is a registry format GUID.

Prototype

<GUID.txt>       ::= <AutoGenHeading> <PcdEntry>*
<PcdEntry>       ::= <PcdName> <FS> <Offset> <FS> <SizeValue> <EOL>
<Offset>         ::= {<HexNumber>} {"*"}
<SizeValue>      ::= if (pcddatumtype == "BOOLEAN"): {<one>} {"*"} {""} "|"
                     {"0x0"} {"0x1"} elif (pcddatumtype == "UINT8"): {<one>}
                     {"*"} {""} "|" <UINT8z> elif (pcddatumtype == "UINT16"):
                     {<two>} {"*"} {""} "|" {<UINT16z> elif (pcddatumtype ==
                     "UINT32"): {<four>} {"*"} {""} "|" {<UINT32z> elif
                     (pcddatumtype == "UINT64"): {<eight>} {"*"} {""} "|"
                     <UINT64z> else:
                     {<NumValUint32>} {"*"} {""} "|" <CArray>
<one>            ::= {"1"} {"0x1"} {"0x01"}
<two>            ::= {"2"} {"0x2"} {"0x02"}
<four>           ::= {"4"} {"0x4"} {"0x04"}
<eight>          ::= {"8"} {"0x8"} {"0x08"}
<CArray>         ::= "{" <Byte> ["," [<SP>] <Byte>]* "}"
<Byte>           ::= "0x" <Hex> [<Hex>]
<Hex>            ::= {<Num>} {"a"} {"A"} {"b"} {"B"} {"c"} {"C"} {"d"}
                     {"D"} {"e"} {"E"} {"f"} {"F"}
<Num>            ::= {"0"} {"1"} {"2"} {"3"} {"4"} {"5"} {"6"} {"7"} {"8"}
                     {"9"}
<SP>             ::= 0x020
<AutoGenHeading> ::= "## @file" <EOL> "#" <EOL>
                     "# THIS IS AUTO-GENERATED FILE BY BUILD TOOLS"
                     " AND PLEASE DO NOT MAKE MODIFICATION." <EOL>
                     "#" <EOL>
                     "# This file lists all VPD informations for a"
                     " platform collected by build.exe." <EOL>
                     "#" <EOL>
                     "# Copyright (c) 2010, Intel Corporation. All"
                     " rights reserved.<BR>"
                     Vpd Data Files
                     "# This program and the accompanying materials"
                     "# are licensed and made available under the" " terms and
                     conditions of the BSD License"
                     "# which accompanies this distribution. The"
                     " full text of the license may be found at"
                     "# "
                     "http://opensource.org/licenses/bsd-license.php"
                     <EOL> "#" <EOL>
                     "# THE PROGRAM IS DISTRIBUTED UNDER THE BSD"
                     " LICENSE ON AN \"AS IS\" BASIS,"
                     "# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY"
                     " KIND, EITHER EXPRESS OR IMPLIED."
                     "#" <EOL>

Example

## @file
#
# THIS IS AUTO-GENERATED FILE BY BUILD TOOLS AND PLEASE DO NOT MAKE MODIFICATION.
#
# This file lists all VPD informations for a platform collected by build.exe.
#
# Copyright (c) 2010, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution. The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|*|4|800
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|*|4|600
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow|*|4|25
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn|*|4|80