for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
If Guid is NULL, then ASSERT().\r
If there is no additional space for HOB creation, then ASSERT().\r
- If DataLength > (0x10000 - sizeof (EFI_HOB_TYPE_GUID)), then ASSERT().\r
+ If DataLength >= (0x10000 - sizeof (EFI_HOB_GUID_TYPE)), then ASSERT().\r
\r
@param Guid The GUID to tag the customized HOB.\r
@param DataLength The size of the data payload for the GUID HOB.\r
If Guid is NULL, then ASSERT().\r
If Data is NULL and DataLength > 0, then ASSERT().\r
If there is no additional space for HOB creation, then ASSERT().\r
- If DataLength > (0x10000 - sizeof (EFI_HOB_TYPE_GUID)), then ASSERT().\r
+ If DataLength >= (0x10000 - sizeof (EFI_HOB_GUID_TYPE)), then ASSERT().\r
\r
@param Guid The GUID to tag the customized HOB.\r
@param Data The data to be copied into the data field of the GUID HOB.\r
--- /dev/null
+/** @file\r
+ Report Status Code Library public .h file\r
+\r
+ Copyright (c) 2006, Intel Corporation \r
+ All rights reserved. This program and the accompanying materials \r
+ are licensed and made available under the terms and conditions of the BSD License \r
+ which accompanies this distribution. The full text of the license may be found at \r
+ http://opensource.org/licenses/bsd-license.php \r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+**/\r
+\r
+#ifndef __POST_CODE_LIB_H__\r
+#define __POST_CODE_LIB_H__\r
+\r
+#define POST_CODE_PROPERTY_POST_CODE_ENABLED 0x00000008\r
+#define POST_CODE_PROPERTY_POST_CODE_DESCRIPTION_ENABLED 0x00000010\r
+\r
+/**\r
+ Sends an 32-bit value to a POST card.\r
+\r
+ Sends the 32-bit value specified by Value to a POST card, and returns Value. \r
+ Some implementations of this library function may perform I/O operations \r
+ directly to a POST card device. Other implementations may send Value to \r
+ ReportStatusCode(), and the status code reporting mechanism will eventually \r
+ display the 32-bit value on the status reporting device.\r
+ \r
+ PostCode() must actively prevent recursion. If PostCode() is called while \r
+ processing another any other Report Status Code Library function, then \r
+ PostCode() must return Value immediately.\r
+\r
+ @param Value The 32-bit value to write to the POST card.\r
+\r
+ @return Value\r
+\r
+**/\r
+UINT32\r
+EFIAPI\r
+PostCode (\r
+ IN UINT32 Value\r
+ );\r
+\r
+\r
+/**\r
+ Sends an 32-bit value to a POST and associated ASCII string.\r
+\r
+ Sends the 32-bit value specified by Value to a POST card, and returns Value.\r
+ If Description is not NULL, then the ASCII string specified by Description is \r
+ also passed to the handler that displays the POST card value. Some \r
+ implementations of this library function may perform I/O operations directly \r
+ to a POST card device. Other implementations may send Value to ReportStatusCode(), \r
+ and the status code reporting mechanism will eventually display the 32-bit \r
+ value on the status reporting device. \r
+\r
+ PostCodeWithDescription()must actively prevent recursion. If \r
+ PostCodeWithDescription() is called while processing another any other Report \r
+ Status Code Library function, then PostCodeWithDescription() must return Value \r
+ immediately.\r
+\r
+ @param Value The 32-bit value to write to the POST card.\r
+ @param Description Pointer to an ASCII string that is a description of the \r
+ POST code value. This is an optional parameter that may \r
+ be NULL.\r
+\r
+ @return Value\r
+\r
+**/\r
+UINT32\r
+EFIAPI\r
+PostCodeWithDescription (\r
+ IN UINT32 Value,\r
+ IN CONST CHAR8 *Description OPTIONAL\r
+ );\r
+\r
+\r
+/**\r
+ Returns TRUE if POST Codes are enabled.\r
+\r
+ This function returns TRUE if the POST_CODE_PROPERTY_POST_CODE_ENABLED \r
+ bit of PcdPostCodePropertyMask is set. Otherwise FALSE is returned.\r
+\r
+ @retval TRUE The POST_CODE_PROPERTY_POST_CODE_ENABLED bit of \r
+ PcdPostCodeProperyMask is set.\r
+ @retval FALSE The POST_CODE_PROPERTY_POST_CODE_ENABLED bit of \r
+ PcdPostCodeProperyMask is clear.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+PostCodeEnabled (\r
+ VOID\r
+ );\r
+\r
+\r
+/**\r
+ Returns TRUE if POST code descriptions are enabled.\r
+\r
+ This function returns TRUE if the \r
+ POST_CODE_PROPERTY_POST_CODE_ENABLED bit of \r
+ PcdPostCodePropertyMask is set. Otherwise FALSE is returned.\r
+\r
+ @retval TRUE The POST_CODE_PROPERTY_POST_CODE_ENABLED \r
+ bit of PcdPostCodeProperyMask is set.\r
+ @retval FALSE The POST_CODE_PROPERTY_POST_CODE_ENABLED \r
+ bit of PcdPostCodeProperyMask is clear.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+PostCodeDescriptionEnabled (\r
+ VOID\r
+ );\r
+\r
+\r
+/**\r
+ Sends an 32-bit value to a POST card.\r
+\r
+ If POST codes are enabled in PcdPostCodeProperyMask, then call PostCode() \r
+ passing in Value. Value is returned.\r
+\r
+ @param Value The 32-bit value to write to the POST card.\r
+\r
+ @return Value\r
+\r
+**/\r
+#define POST_CODE(Value) ReportPostCodeEnabled() ? PostCode(Value) : Value\r
+\r
+/**\r
+ Sends an 32-bit value to a POST and associated ASCII string.\r
+\r
+ If POST codes and POST code descriptions are enabled in \r
+ PcdPostCodeProperyMask, then call PostCodeWithDescription() passing in \r
+ Value and Description. If only POST codes are enabled, then call PostCode() \r
+ passing in Value. Value is returned.\r
+\r
+ @param Value The 32-bit value to write to the POST card.\r
+ @param Description Pointer to an ASCII string that is a description of the \r
+ POST code value.\r
+\r
+**/\r
+#define POST_CODE_WITH_DESCRIPTION(Value,Description) \\r
+ ReportPostCodeEnabled() ? \\r
+ (ReportPostCodeDescriptionEnabled() ? \\r
+ PostCodeWithDescription(Value,Description) : \\r
+ PostCode(Value)) : \\r
+ Value\r
+\r
+#endif\r
IN UINT16 Value\r
)\r
{\r
- ASSERT (Buffer != NULL);\r
+ ASSERT (!(Buffer == NULL && Length > 0));\r
ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
- ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) != 0);\r
- ASSERT ((Length & (sizeof (Value) - 1)) != 0);\r
+ ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0);\r
+ ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
\r
if ((Length /= sizeof (Value)) == 0) {\r
return Buffer;\r
IN UINT32 Value\r
)\r
{\r
- ASSERT (Buffer != NULL);\r
+ ASSERT (!(Buffer == NULL && Length > 0));\r
ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
- ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) != 0);\r
- ASSERT ((Length & (sizeof (Value) - 1)) != 0);\r
+ ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0);\r
+ ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
\r
if ((Length /= sizeof (Value)) == 0) {\r
return Buffer;\r
IN UINT64 Value\r
)\r
{\r
- ASSERT (Buffer != NULL);\r
+ ASSERT (!(Buffer == NULL && Length > 0));\r
ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
- ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) != 0);\r
- ASSERT ((Length & (sizeof (Value) - 1)) != 0);\r
+ ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0);\r
+ ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
\r
if ((Length /= sizeof (Value)) == 0) {\r
return Buffer;\r
IN UINT16 Value\r
)\r
{\r
- ASSERT (Buffer != NULL);\r
+ ASSERT (!(Buffer == NULL && Length > 0));\r
ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
- ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) != 0);\r
- ASSERT ((Length & (sizeof (Value) - 1)) != 0);\r
+ ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0);\r
+ ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
\r
if ((Length /= sizeof (Value)) == 0) {\r
return Buffer;\r
IN UINT32 Value\r
)\r
{\r
- ASSERT (Buffer != NULL);\r
+ ASSERT (!(Buffer == NULL && Length > 0));\r
ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
- ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) != 0);\r
- ASSERT ((Length & (sizeof (Value) - 1)) != 0);\r
+ ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0);\r
+ ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
\r
if ((Length /= sizeof (Value)) == 0) {\r
return Buffer;\r
IN UINT64 Value\r
)\r
{\r
- ASSERT (Buffer != NULL);\r
+ ASSERT (!(Buffer == NULL && Length > 0));\r
ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
- ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) != 0);\r
- ASSERT ((Length & (sizeof (Value) - 1)) != 0);\r
+ ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0);\r
+ ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
\r
if ((Length /= sizeof (Value)) == 0) {\r
return Buffer;\r
IN UINT16 Value\r
)\r
{\r
- ASSERT (Buffer != NULL);\r
+ ASSERT (!(Buffer == NULL && Length > 0));\r
ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
- ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) != 0);\r
- ASSERT ((Length & (sizeof (Value) - 1)) != 0);\r
+ ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0);\r
+ ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
\r
if ((Length /= sizeof (Value)) == 0) {\r
return Buffer;\r
IN UINT32 Value\r
)\r
{\r
- ASSERT (Buffer != NULL);\r
+ ASSERT (!(Buffer == NULL && Length > 0));\r
ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
- ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) != 0);\r
- ASSERT ((Length & (sizeof (Value) - 1)) != 0);\r
+ ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0);\r
+ ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
\r
if ((Length /= sizeof (Value)) == 0) {\r
return Buffer;\r
IN UINT64 Value\r
)\r
{\r
- ASSERT (Buffer != NULL);\r
+ ASSERT (!(Buffer == NULL && Length > 0));\r
ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
- ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) != 0);\r
- ASSERT ((Length & (sizeof (Value) - 1)) != 0);\r
+ ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0);\r
+ ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
\r
if ((Length /= sizeof (Value)) == 0) {\r
return Buffer;\r
IN UINT16 Value\r
)\r
{\r
- ASSERT (Buffer != NULL);\r
+ ASSERT (!(Buffer == NULL && Length > 0));\r
ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
- ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) != 0);\r
- ASSERT ((Length & (sizeof (Value) - 1)) != 0);\r
+ ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0);\r
+ ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
\r
if ((Length /= sizeof (Value)) == 0) {\r
return Buffer;\r
IN UINT32 Value\r
)\r
{\r
- ASSERT (Buffer != NULL);\r
+ ASSERT (!(Buffer == NULL && Length > 0));\r
ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
- ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) != 0);\r
- ASSERT ((Length & (sizeof (Value) - 1)) != 0);\r
+ ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0);\r
+ ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
\r
if ((Length /= sizeof (Value)) == 0) {\r
return Buffer;\r
IN UINT64 Value\r
)\r
{\r
- ASSERT (Buffer != NULL);\r
+ ASSERT (!(Buffer == NULL && Length > 0));\r
ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
- ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) != 0);\r
- ASSERT ((Length & (sizeof (Value) - 1)) != 0);\r
+ ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0);\r
+ ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
\r
if ((Length /= sizeof (Value)) == 0) {\r
return Buffer;\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+-->\r
+<LibraryModuleBuildDescription xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.TianoCore.org/2006/Edk2.0 http://www.TianoCore.org/2006/Edk2.0/SurfaceArea.xsd">\r
+ <MbdLibHeader>\r
+ <BaseName>BasePostCodeLib80</BaseName>\r
+ <Guid>55c61087-7367-4546-bc32-4937c5e6aff3</Guid>\r
+ <Version>0</Version>\r
+ <Description>FIX ME!</Description>\r
+ <Copyright>Copyright (c) 2004-2006, Intel Corporation</Copyright>\r
+ <License>\r
+ All rights reserved. This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions of the BSD License\r
+ which accompanies this distribution. The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ </License>\r
+ <Created>2006-03-09 23:16</Created>\r
+ <Modified>2006-03-19 15:17</Modified>\r
+ </MbdLibHeader>\r
+</LibraryModuleBuildDescription>\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+-->\r
+<LibraryModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.TianoCore.org/2006/Edk2.0 http://www.TianoCore.org/2006/Edk2.0/SurfaceArea.xsd">\r
+ <MsaLibHeader>\r
+ <BaseName>BasePostCodeLib80</BaseName>\r
+ <ModuleType>BASE</ModuleType>\r
+ <ComponentType>LIBRARY</ComponentType>\r
+ <Guid>55c61087-7367-4546-bc32-4937c5e6aff3</Guid>\r
+ <Version>0</Version>\r
+ <Abstract>Component description file for the entry point to a EFIDXE Drivers</Abstract>\r
+ <Description>FIX ME!</Description>\r
+ <Copyright>Copyright (c) 2004-2006, Intel Corporation</Copyright>\r
+ <License>\r
+ All rights reserved. This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions of the BSD License\r
+ which accompanies this distribution. The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ </License>\r
+ <Created>2006-03-09 23:16</Created>\r
+ <Updated>2006-03-19 15:17</Updated>\r
+ <Specification>0</Specification>\r
+ </MsaLibHeader>\r
+ <LibraryClassDefinitions>\r
+ <LibraryClass Usage="ALWAYS_PRODUCED">PostCodeLib</LibraryClass>\r
+ <LibraryClass Usage="ALWAYS_CONSUMED">PcdLib</LibraryClass>\r
+ <LibraryClass Usage="ALWAYS_CONSUMED">IoLib</LibraryClass>\r
+ </LibraryClassDefinitions>\r
+ <SourceFiles>\r
+ <Filename>PostCode.c</Filename>\r
+ </SourceFiles>\r
+ <Includes>\r
+ <PackageName>MdePkg</PackageName>\r
+ </Includes>\r
+ <PCDs>\r
+ <PcdData ItemType="FIXED_AT_BUILD">\r
+ <C_Name>PcdPostCodePropertyMask</C_Name>\r
+ <Token>0x0000000b</Token>\r
+ <DatumType>UINT8</DatumType>\r
+ </PcdData>\r
+ </PCDs>\r
+</LibraryModuleSurfaceArea>\r
--- /dev/null
+/** @file\r
+ Report Status Code Library Post Code functions for DXE Phase.\r
+\r
+ Copyright (c) 2006, Intel Corporation<BR>\r
+ All rights reserved. This program and the accompanying materials \r
+ are licensed and made available under the terms and conditions of the BSD License \r
+ which accompanies this distribution. The full text of the license may be found at \r
+ http://opensource.org/licenses/bsd-license.php \r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+**/\r
+\r
+\r
+/**\r
+ Sends an 32-bit value to a POST card.\r
+\r
+ Sends the 32-bit value specified by Value to a POST card, and returns Value. \r
+ Some implementations of this library function may perform I/O operations \r
+ directly to a POST card device. Other implementations may send Value to \r
+ ReportStatusCode(), and the status code reporting mechanism will eventually \r
+ display the 32-bit value on the status reporting device.\r
+ \r
+ PostCode() must actively prevent recursion. If PostCode() is called while \r
+ processing another any other Report Status Code Library function, then \r
+ PostCode() must return Value immediately.\r
+\r
+ @param Value The 32-bit value to write to the POST card.\r
+\r
+ @return Value\r
+\r
+**/\r
+UINT32\r
+EFIAPI\r
+PostCode (\r
+ IN UINT32 Value\r
+ )\r
+{\r
+ IoWrite8 (0x80, (UINT8)(Value));\r
+ return Value;\r
+}\r
+\r
+\r
+/**\r
+ Sends an 32-bit value to a POST and associated ASCII string.\r
+\r
+ Sends the 32-bit value specified by Value to a POST card, and returns Value.\r
+ If Description is not NULL, then the ASCII string specified by Description is \r
+ also passed to the handler that displays the POST card value. Some \r
+ implementations of this library function may perform I/O operations directly \r
+ to a POST card device. Other implementations may send Value to ReportStatusCode(), \r
+ and the status code reporting mechanism will eventually display the 32-bit \r
+ value on the status reporting device. \r
+\r
+ PostCodeWithDescription()must actively prevent recursion. If \r
+ PostCodeWithDescription() is called while processing another any other Report \r
+ Status Code Library function, then PostCodeWithDescription() must return Value \r
+ immediately.\r
+\r
+ @param Value The 32-bit value to write to the POST card.\r
+ @param Description Pointer to an ASCII string that is a description of the \r
+ POST code value. This is an optional parameter that may \r
+ be NULL.\r
+\r
+ @return Value\r
+\r
+**/\r
+UINT32\r
+EFIAPI\r
+PostCodeWithDescription (\r
+ IN UINT32 Value,\r
+ IN CONST CHAR8 *Description OPTIONAL\r
+ )\r
+{\r
+ IoWrite8 (0x80, (UINT8)(Value));\r
+ return Value;\r
+}\r
+\r
+\r
+/**\r
+ Returns TRUE if POST Codes are enabled.\r
+\r
+ This function returns TRUE if the POST_CODE_PROPERTY_POST_CODE_ENABLED \r
+ bit of PcdPostCodePropertyMask is set. Otherwise FALSE is returned.\r
+\r
+ @retval TRUE The POST_CODE_PROPERTY_POST_CODE_ENABLED bit of \r
+ PcdPostCodeProperyMask is set.\r
+ @retval FALSE The POST_CODE_PROPERTY_POST_CODE_ENABLED bit of \r
+ PcdPostCodeProperyMask is clear.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+PostCodeEnabled (\r
+ VOID\r
+ )\r
+{\r
+ return ((PcdGet8(PcdPostCodePropertyMask) & POST_CODE_PROPERTY_POST_CODE_ENABLED) != 0);\r
+}\r
+\r
+\r
+/**\r
+ Returns TRUE if POST code descriptions are enabled.\r
+\r
+ This function returns TRUE if the \r
+ POST_CODE_PROPERTY_POST_CODE_ENABLED bit of \r
+ PcdPostCodePropertyMask is set. Otherwise FALSE is returned.\r
+\r
+ @retval TRUE The POST_CODE_PROPERTY_POST_CODE_ENABLED \r
+ bit of PcdPostCodeProperyMask is set.\r
+ @retval FALSE The POST_CODE_PROPERTY_POST_CODE_ENABLED \r
+ bit of PcdPostCodeProperyMask is clear.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+PostCodeDescriptionEnabled (\r
+ VOID\r
+ )\r
+{\r
+ return ((PcdGet8(PcdPostCodePropertyMask) & POST_CODE_PROPERTY_POST_CODE_ENABLED) != 0);\r
+}\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?><!-- Copyright (c) 2006, Intel Corporation \r
+All rights reserved. This program and the accompanying materials \r
+are licensed and made available under the terms and conditions of the BSD License \r
+which accompanies this distribution. The full text of the license may be found at \r
+http://opensource.org/licenses/bsd-license.php \r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->\r
+<project basedir="." default="BasePostCodeLib80"><!--Apply external ANT tasks-->\r
+ <taskdef resource="GenBuild.tasks"/>\r
+ <taskdef resource="net/sf/antcontrib/antlib.xml"/>\r
+ <property environment="env"/>\r
+ <property name="WORKSPACE_DIR" value="${env.WORKSPACE}"/>\r
+ <import file="${WORKSPACE_DIR}/Tools/Conf/BuildMacro.xml"/><!--MODULE_RELATIVE PATH is relative to PACKAGE_DIR-->\r
+ <property name="MODULE_RELATIVE_PATH" value="Library/BasePostCodeLib80"/>\r
+ <property name="MODULE_DIR" value="${PACKAGE_DIR}/${MODULE_RELATIVE_PATH}"/>\r
+ <property name="COMMON_FILE" value="${WORKSPACE_DIR}/Tools/Conf/Common.xml"/>\r
+ <target name="BasePostCodeLib80">\r
+ <GenBuild baseName="BasePostCodeLib80" mbdFilename="${MODULE_DIR}/BasePostCodeLib80.mbd" msaFilename="${MODULE_DIR}/BasePostCodeLib80.msa"/>\r
+ </target>\r
+ <target depends="BasePostCodeLib80_clean" name="clean"/>\r
+ <target depends="BasePostCodeLib80_cleanall" name="cleanall"/>\r
+ <target name="BasePostCodeLib80_clean">\r
+ <OutputDirSetup baseName="BasePostCodeLib80" mbdFilename="${MODULE_DIR}/BasePostCodeLib80.mbd" msaFilename="${MODULE_DIR}/BasePostCodeLib80.msa"/>\r
+ <if>\r
+ <available file="${DEST_DIR_OUTPUT}/BasePostCodeLib80_build.xml"/>\r
+ <then>\r
+ <ant antfile="${DEST_DIR_OUTPUT}/BasePostCodeLib80_build.xml" target="clean"/>\r
+ </then>\r
+ </if>\r
+ <delete dir="${DEST_DIR_OUTPUT}" excludes="*.xml"/>\r
+ </target>\r
+ <target name="BasePostCodeLib80_cleanall">\r
+ <OutputDirSetup baseName="BasePostCodeLib80" mbdFilename="${MODULE_DIR}/BasePostCodeLib80.mbd" msaFilename="${MODULE_DIR}/BasePostCodeLib80.msa"/>\r
+ <if>\r
+ <available file="${DEST_DIR_OUTPUT}/BasePostCodeLib80_build.xml"/>\r
+ <then>\r
+ <ant antfile="${DEST_DIR_OUTPUT}/BasePostCodeLib80_build.xml" target="cleanall"/>\r
+ </then>\r
+ </if>\r
+ <delete dir="${DEST_DIR_OUTPUT}"/>\r
+ <delete dir="${DEST_DIR_DEBUG}"/>\r
+ <delete>\r
+ <fileset dir="${BIN_DIR}" includes="**BasePostCodeLib80*"/>\r
+ </delete>\r
+ </target>\r
+</project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+-->\r
+<LibraryModuleBuildDescription xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.TianoCore.org/2006/Edk2.0 http://www.TianoCore.org/2006/Edk2.0/SurfaceArea.xsd">\r
+ <MbdLibHeader>\r
+ <BaseName>BasePostCodeLibDebug</BaseName>\r
+ <Guid>55c61087-7367-4546-bc32-4937c5e6aff3</Guid>\r
+ <Version>0</Version>\r
+ <Description>FIX ME!</Description>\r
+ <Copyright>Copyright (c) 2004-2006, Intel Corporation</Copyright>\r
+ <License>\r
+ All rights reserved. This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions of the BSD License\r
+ which accompanies this distribution. The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ </License>\r
+ <Created>2006-03-09 23:16</Created>\r
+ <Modified>2006-03-19 15:17</Modified>\r
+ </MbdLibHeader>\r
+</LibraryModuleBuildDescription>\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+-->\r
+<LibraryModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.TianoCore.org/2006/Edk2.0 http://www.TianoCore.org/2006/Edk2.0/SurfaceArea.xsd">\r
+ <MsaLibHeader>\r
+ <BaseName>BasePostCodeLibDebug</BaseName>\r
+ <ModuleType>BASE</ModuleType>\r
+ <ComponentType>LIBRARY</ComponentType>\r
+ <Guid>55c61087-7367-4546-bc32-4937c5e6aff3</Guid>\r
+ <Version>0</Version>\r
+ <Abstract>Component description file for the entry point to a EFIDXE Drivers</Abstract>\r
+ <Description>FIX ME!</Description>\r
+ <Copyright>Copyright (c) 2004-2006, Intel Corporation</Copyright>\r
+ <License>\r
+ All rights reserved. This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions of the BSD License\r
+ which accompanies this distribution. The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ </License>\r
+ <Created>2006-03-09 23:16</Created>\r
+ <Updated>2006-03-19 15:17</Updated>\r
+ <Specification>0</Specification>\r
+ </MsaLibHeader>\r
+ <LibraryClassDefinitions>\r
+ <LibraryClass Usage="ALWAYS_PRODUCED">PostCodeLib</LibraryClass>\r
+ <LibraryClass Usage="ALWAYS_CONSUMED">DebugLib</LibraryClass>\r
+ <LibraryClass Usage="ALWAYS_CONSUMED">PcdLib</LibraryClass>\r
+ </LibraryClassDefinitions>\r
+ <SourceFiles>\r
+ <Filename>PostCode.c</Filename>\r
+ </SourceFiles>\r
+ <Includes>\r
+ <PackageName>MdePkg</PackageName>\r
+ </Includes>\r
+ <PCDs>\r
+ <PcdData ItemType="FIXED_AT_BUILD">\r
+ <C_Name>PcdPostCodePropertyMask</C_Name>\r
+ <Token>0x0000000b</Token>\r
+ <DatumType>UINT8</DatumType>\r
+ </PcdData>\r
+ </PCDs>\r
+</LibraryModuleSurfaceArea>\r
--- /dev/null
+/** @file\r
+ Report Status Code Library Post Code functions for DXE Phase.\r
+\r
+ Copyright (c) 2006, Intel Corporation<BR>\r
+ All rights reserved. This program and the accompanying materials \r
+ are licensed and made available under the terms and conditions of the BSD License \r
+ which accompanies this distribution. The full text of the license may be found at \r
+ http://opensource.org/licenses/bsd-license.php \r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+**/\r
+\r
+\r
+/**\r
+ Sends an 32-bit value to a POST card.\r
+\r
+ Sends the 32-bit value specified by Value to a POST card, and returns Value. \r
+ Some implementations of this library function may perform I/O operations \r
+ directly to a POST card device. Other implementations may send Value to \r
+ ReportStatusCode(), and the status code reporting mechanism will eventually \r
+ display the 32-bit value on the status reporting device.\r
+ \r
+ PostCode() must actively prevent recursion. If PostCode() is called while \r
+ processing another any other Report Status Code Library function, then \r
+ PostCode() must return Value immediately.\r
+\r
+ @param Value The 32-bit value to write to the POST card.\r
+\r
+ @return Value\r
+\r
+**/\r
+UINT32\r
+EFIAPI\r
+PostCode (\r
+ IN UINT32 Value\r
+ )\r
+{\r
+ DEBUG((EFI_D_INFO, "POST %08x\n", Value));\r
+ return Value;\r
+}\r
+\r
+\r
+/**\r
+ Sends an 32-bit value to a POST and associated ASCII string.\r
+\r
+ Sends the 32-bit value specified by Value to a POST card, and returns Value.\r
+ If Description is not NULL, then the ASCII string specified by Description is \r
+ also passed to the handler that displays the POST card value. Some \r
+ implementations of this library function may perform I/O operations directly \r
+ to a POST card device. Other implementations may send Value to ReportStatusCode(), \r
+ and the status code reporting mechanism will eventually display the 32-bit \r
+ value on the status reporting device. \r
+\r
+ PostCodeWithDescription()must actively prevent recursion. If \r
+ PostCodeWithDescription() is called while processing another any other Report \r
+ Status Code Library function, then PostCodeWithDescription() must return Value \r
+ immediately.\r
+\r
+ @param Value The 32-bit value to write to the POST card.\r
+ @param Description Pointer to an ASCII string that is a description of the \r
+ POST code value. This is an optional parameter that may \r
+ be NULL.\r
+\r
+ @return Value\r
+\r
+**/\r
+UINT32\r
+EFIAPI\r
+PostCodeWithDescription (\r
+ IN UINT32 Value,\r
+ IN CONST CHAR8 *Description OPTIONAL\r
+ )\r
+{\r
+ DEBUG((EFI_D_INFO, "POST %08x - %s\n", Value, Description));\r
+ return Value;\r
+}\r
+\r
+\r
+/**\r
+ Returns TRUE if POST Codes are enabled.\r
+\r
+ This function returns TRUE if the POST_CODE_PROPERTY_POST_CODE_ENABLED \r
+ bit of PcdPostCodePropertyMask is set. Otherwise FALSE is returned.\r
+\r
+ @retval TRUE The POST_CODE_PROPERTY_POST_CODE_ENABLED bit of \r
+ PcdPostCodeProperyMask is set.\r
+ @retval FALSE The POST_CODE_PROPERTY_POST_CODE_ENABLED bit of \r
+ PcdPostCodeProperyMask is clear.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+PostCodeEnabled (\r
+ VOID\r
+ )\r
+{\r
+ return ((PcdGet8(PcdPostCodePropertyMask) & POST_CODE_PROPERTY_POST_CODE_ENABLED) != 0);\r
+}\r
+\r
+\r
+/**\r
+ Returns TRUE if POST code descriptions are enabled.\r
+\r
+ This function returns TRUE if the POST_CODE_PROPERTY_POST_CODE_ENABLED\r
+ bit of PcdPostCodePropertyMask is set. Otherwise FALSE is returned.\r
+\r
+ @retval TRUE The POST_CODE_PROPERTY_POST_CODE_ENABLED bit of\r
+ PcdPostCodeProperyMask is set.\r
+ @retval FALSE The POST_CODE_PROPERTY_POST_CODE_ENABLED bit of\r
+ PcdPostCodeProperyMask is clear.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+PostCodeDescriptionEnabled (\r
+ VOID\r
+ )\r
+{\r
+ return ((PcdGet8(PcdPostCodePropertyMask) & POST_CODE_PROPERTY_POST_CODE_ENABLED) != 0);\r
+}\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?><!-- Copyright (c) 2006, Intel Corporation \r
+All rights reserved. This program and the accompanying materials \r
+are licensed and made available under the terms and conditions of the BSD License \r
+which accompanies this distribution. The full text of the license may be found at \r
+http://opensource.org/licenses/bsd-license.php \r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->\r
+<project basedir="." default="BasePostCodeLibDebug"><!--Apply external ANT tasks-->\r
+ <taskdef resource="GenBuild.tasks"/>\r
+ <taskdef resource="net/sf/antcontrib/antlib.xml"/>\r
+ <property environment="env"/>\r
+ <property name="WORKSPACE_DIR" value="${env.WORKSPACE}"/>\r
+ <import file="${WORKSPACE_DIR}/Tools/Conf/BuildMacro.xml"/><!--MODULE_RELATIVE PATH is relative to PACKAGE_DIR-->\r
+ <property name="MODULE_RELATIVE_PATH" value="Library/BasePostCodeLibDebug"/>\r
+ <property name="MODULE_DIR" value="${PACKAGE_DIR}/${MODULE_RELATIVE_PATH}"/>\r
+ <property name="COMMON_FILE" value="${WORKSPACE_DIR}/Tools/Conf/Common.xml"/>\r
+ <target name="BasePostCodeLibDebug">\r
+ <GenBuild baseName="BasePostCodeLibDebug" mbdFilename="${MODULE_DIR}/BasePostCodeLibDebug.mbd" msaFilename="${MODULE_DIR}/BasePostCodeLibDebug.msa"/>\r
+ </target>\r
+ <target depends="BasePostCodeLibDebug_clean" name="clean"/>\r
+ <target depends="BasePostCodeLibDebug_cleanall" name="cleanall"/>\r
+ <target name="BasePostCodeLibDebug_clean">\r
+ <OutputDirSetup baseName="BasePostCodeLibDebug" mbdFilename="${MODULE_DIR}/BasePostCodeLibDebug.mbd" msaFilename="${MODULE_DIR}/BasePostCodeLibDebug.msa"/>\r
+ <if>\r
+ <available file="${DEST_DIR_OUTPUT}/BasePostCodeLibDebug_build.xml"/>\r
+ <then>\r
+ <ant antfile="${DEST_DIR_OUTPUT}/BasePostCodeLibDebug_build.xml" target="clean"/>\r
+ </then>\r
+ </if>\r
+ <delete dir="${DEST_DIR_OUTPUT}" excludes="*.xml"/>\r
+ </target>\r
+ <target name="BasePostCodeLibDebug_cleanall">\r
+ <OutputDirSetup baseName="BasePostCodeLibDebug" mbdFilename="${MODULE_DIR}/BasePostCodeLibDebug.mbd" msaFilename="${MODULE_DIR}/BasePostCodeLibDebug.msa"/>\r
+ <if>\r
+ <available file="${DEST_DIR_OUTPUT}/BasePostCodeLibDebug_build.xml"/>\r
+ <then>\r
+ <ant antfile="${DEST_DIR_OUTPUT}/BasePostCodeLibDebug_build.xml" target="cleanall"/>\r
+ </then>\r
+ </if>\r
+ <delete dir="${DEST_DIR_OUTPUT}"/>\r
+ <delete dir="${DEST_DIR_DEBUG}"/>\r
+ <delete>\r
+ <fileset dir="${BIN_DIR}" includes="**BasePostCodeLibDebug*"/>\r
+ </delete>\r
+ </target>\r
+</project>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+-->\r
+<LibraryModuleBuildDescription xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.TianoCore.org/2006/Edk2.0 http://www.TianoCore.org/2006/Edk2.0/SurfaceArea.xsd">\r
+ <MbdLibHeader>\r
+ <BaseName>BasePostCodeLibReportStatusCode</BaseName>\r
+ <Guid>55c61087-7367-4546-bc32-4937c5e6aff3</Guid>\r
+ <Version>0</Version>\r
+ <Description>FIX ME!</Description>\r
+ <Copyright>Copyright (c) 2004-2006, Intel Corporation</Copyright>\r
+ <License>\r
+ All rights reserved. This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions of the BSD License\r
+ which accompanies this distribution. The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ </License>\r
+ <Created>2006-03-09 23:16</Created>\r
+ <Modified>2006-03-19 15:17</Modified>\r
+ </MbdLibHeader>\r
+</LibraryModuleBuildDescription>\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>\r
+<!--\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+-->\r
+<LibraryModuleSurfaceArea xmlns="http://www.TianoCore.org/2006/Edk2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.TianoCore.org/2006/Edk2.0 http://www.TianoCore.org/2006/Edk2.0/SurfaceArea.xsd">\r
+ <MsaLibHeader>\r
+ <BaseName>BasePostCodeLibReportStatusCode</BaseName>\r
+ <ModuleType>BASE</ModuleType>\r
+ <ComponentType>LIBRARY</ComponentType>\r
+ <Guid>55c61087-7367-4546-bc32-4937c5e6aff3</Guid>\r
+ <Version>0</Version>\r
+ <Abstract>Component description file for the entry point to a EFIDXE Drivers</Abstract>\r
+ <Description>FIX ME!</Description>\r
+ <Copyright>Copyright (c) 2004-2006, Intel Corporation</Copyright>\r
+ <License>\r
+ All rights reserved. This program and the accompanying materials\r
+ are licensed and made available under the terms and conditions of the BSD License\r
+ which accompanies this distribution. The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+ </License>\r
+ <Created>2006-03-09 23:16</Created>\r
+ <Updated>2006-03-19 15:17</Updated>\r
+ <Specification>0</Specification>\r
+ </MsaLibHeader>\r
+ <LibraryClassDefinitions>\r
+ <LibraryClass Usage="ALWAYS_PRODUCED">PostCodeLib</LibraryClass>\r
+ <LibraryClass Usage="ALWAYS_CONSUMED">PcdLib</LibraryClass>\r
+ </LibraryClassDefinitions>\r
+ <SourceFiles>\r
+ <Filename>PostCode.c</Filename>\r
+ </SourceFiles>\r
+ <Includes>\r
+ <PackageName>MdePkg</PackageName>\r
+ </Includes>\r
+ <PCDs>\r
+ <PcdData ItemType="FIXED_AT_BUILD">\r
+ <C_Name>PcdPostCodePropertyMask</C_Name>\r
+ <Token>0x0000000b</Token>\r
+ <DatumType>UINT8</DatumType>\r
+ </PcdData>\r
+ </PCDs>\r
+</LibraryModuleSurfaceArea>\r
--- /dev/null
+/** @file\r
+ Report Status Code Library Post Code functions for DXE Phase.\r
+\r
+ Copyright (c) 2006, Intel Corporation<BR>\r
+ All rights reserved. This program and the accompanying materials \r
+ are licensed and made available under the terms and conditions of the BSD License \r
+ which accompanies this distribution. The full text of the license may be found at \r
+ http://opensource.org/licenses/bsd-license.php \r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+**/\r
+\r
+\r
+/**\r
+ Sends an 32-bit value to a POST card.\r
+\r
+ Sends the 32-bit value specified by Value to a POST card, and returns Value. \r
+ Some implementations of this library function may perform I/O operations \r
+ directly to a POST card device. Other implementations may send Value to \r
+ ReportStatusCode(), and the status code reporting mechanism will eventually \r
+ display the 32-bit value on the status reporting device.\r
+ \r
+ PostCode() must actively prevent recursion. If PostCode() is called while \r
+ processing another any other Report Status Code Library function, then \r
+ PostCode() must return Value immediately.\r
+\r
+ @param Value The 32-bit value to write to the POST card.\r
+\r
+ @return Value\r
+\r
+**/\r
+UINT32\r
+EFIAPI\r
+PostCode (\r
+ IN UINT32 Value\r
+ )\r
+{\r
+ //\r
+ // Todo: Use approapriate ReportStatusCode\r
+ //\r
+ return Value;\r
+}\r
+\r
+\r
+/**\r
+ Sends an 32-bit value to a POST and associated ASCII string.\r
+\r
+ Sends the 32-bit value specified by Value to a POST card, and returns Value.\r
+ If Description is not NULL, then the ASCII string specified by Description is \r
+ also passed to the handler that displays the POST card value. Some \r
+ implementations of this library function may perform I/O operations directly \r
+ to a POST card device. Other implementations may send Value to ReportStatusCode(), \r
+ and the status code reporting mechanism will eventually display the 32-bit \r
+ value on the status reporting device. \r
+\r
+ PostCodeWithDescription()must actively prevent recursion. If \r
+ PostCodeWithDescription() is called while processing another any other Report \r
+ Status Code Library function, then PostCodeWithDescription() must return Value \r
+ immediately.\r
+\r
+ @param Value The 32-bit value to write to the POST card.\r
+ @param Description Pointer to an ASCII string that is a description of the \r
+ POST code value. This is an optional parameter that may \r
+ be NULL.\r
+\r
+ @return Value\r
+\r
+**/\r
+UINT32\r
+EFIAPI\r
+PostCodeWithDescription (\r
+ IN UINT32 Value,\r
+ IN CONST CHAR8 *Description OPTIONAL\r
+ )\r
+{\r
+ //\r
+ // Todo: Use approapriate ReportStatusCode\r
+ //\r
+ return Value;\r
+}\r
+\r
+\r
+/**\r
+ Returns TRUE if POST Codes are enabled.\r
+\r
+ This function returns TRUE if the POST_CODE_PROPERTY_POST_CODE_ENABLED \r
+ bit of PcdPostCodePropertyMask is set. Otherwise FALSE is returned.\r
+\r
+ @retval TRUE The POST_CODE_PROPERTY_POST_CODE_ENABLED bit of \r
+ PcdPostCodeProperyMask is set.\r
+ @retval FALSE The POST_CODE_PROPERTY_POST_CODE_ENABLED bit of \r
+ PcdPostCodeProperyMask is clear.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+PostCodeEnabled (\r
+ VOID\r
+ )\r
+{\r
+ return ((PcdGet8(PcdPostCodePropertyMask) & POST_CODE_PROPERTY_POST_CODE_ENABLED) != 0);\r
+}\r
+\r
+\r
+/**\r
+ Returns TRUE if POST code descriptions are enabled.\r
+\r
+ This function returns TRUE if the \r
+ POST_CODE_PROPERTY_POST_CODE_ENABLED bit of \r
+ PcdPostCodePropertyMask is set. Otherwise FALSE is returned.\r
+\r
+ @retval TRUE The POST_CODE_PROPERTY_POST_CODE_ENABLED \r
+ bit of PcdPostCodeProperyMask is set.\r
+ @retval FALSE The POST_CODE_PROPERTY_POST_CODE_ENABLED \r
+ bit of PcdPostCodeProperyMask is clear.\r
+\r
+**/\r
+BOOLEAN\r
+EFIAPI\r
+PostCodeDescriptionEnabled (\r
+ VOID\r
+ )\r
+{\r
+ return ((PcdGet8(PcdPostCodePropertyMask) & POST_CODE_PROPERTY_POST_CODE_ENABLED) != 0);\r
+}\r
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?><!-- Copyright (c) 2006, Intel Corporation \r
+All rights reserved. This program and the accompanying materials \r
+are licensed and made available under the terms and conditions of the BSD License \r
+which accompanies this distribution. The full text of the license may be found at \r
+http://opensource.org/licenses/bsd-license.php \r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.-->\r
+<project basedir="." default="BasePostCodeLibReportStatusCode"><!--Apply external ANT tasks-->\r
+ <taskdef resource="GenBuild.tasks"/>\r
+ <taskdef resource="net/sf/antcontrib/antlib.xml"/>\r
+ <property environment="env"/>\r
+ <property name="WORKSPACE_DIR" value="${env.WORKSPACE}"/>\r
+ <import file="${WORKSPACE_DIR}/Tools/Conf/BuildMacro.xml"/><!--MODULE_RELATIVE PATH is relative to PACKAGE_DIR-->\r
+ <property name="MODULE_RELATIVE_PATH" value="Library/BasePostCodeLibReportStatusCode"/>\r
+ <property name="MODULE_DIR" value="${PACKAGE_DIR}/${MODULE_RELATIVE_PATH}"/>\r
+ <property name="COMMON_FILE" value="${WORKSPACE_DIR}/Tools/Conf/Common.xml"/>\r
+ <target name="BasePostCodeLibReportStatusCode">\r
+ <GenBuild baseName="BasePostCodeLibReportStatusCode" mbdFilename="${MODULE_DIR}/BasePostCodeLibReportStatusCode.mbd" msaFilename="${MODULE_DIR}/BasePostCodeLibReportStatusCode.msa"/>\r
+ </target>\r
+ <target depends="BasePostCodeLibReportStatusCode_clean" name="clean"/>\r
+ <target depends="BasePostCodeLibReportStatusCode_cleanall" name="cleanall"/>\r
+ <target name="BasePostCodeLibReportStatusCode_clean">\r
+ <OutputDirSetup baseName="BasePostCodeLibReportStatusCode" mbdFilename="${MODULE_DIR}/BasePostCodeLibReportStatusCode.mbd" msaFilename="${MODULE_DIR}/BasePostCodeLibReportStatusCode.msa"/>\r
+ <if>\r
+ <available file="${DEST_DIR_OUTPUT}/BasePostCodeLibReportStatusCode_build.xml"/>\r
+ <then>\r
+ <ant antfile="${DEST_DIR_OUTPUT}/BasePostCodeLibReportStatusCode_build.xml" target="clean"/>\r
+ </then>\r
+ </if>\r
+ <delete dir="${DEST_DIR_OUTPUT}" excludes="*.xml"/>\r
+ </target>\r
+ <target name="BasePostCodeLibReportStatusCode_cleanall">\r
+ <OutputDirSetup baseName="BasePostCodeLibReportStatusCode" mbdFilename="${MODULE_DIR}/BasePostCodeLibReportStatusCode.mbd" msaFilename="${MODULE_DIR}/BasePostCodeLibReportStatusCode.msa"/>\r
+ <if>\r
+ <available file="${DEST_DIR_OUTPUT}/BasePostCodeLibReportStatusCode_build.xml"/>\r
+ <then>\r
+ <ant antfile="${DEST_DIR_OUTPUT}/BasePostCodeLibReportStatusCode_build.xml" target="cleanall"/>\r
+ </then>\r
+ </if>\r
+ <delete dir="${DEST_DIR_OUTPUT}"/>\r
+ <delete dir="${DEST_DIR_DEBUG}"/>\r
+ <delete>\r
+ <fileset dir="${BIN_DIR}" includes="**BasePostCodeLibReportStatusCode*"/>\r
+ </delete>\r
+ </target>\r
+</project>
\ No newline at end of file
<LibraryClassDefinitions>\r
<LibraryClass Usage="ALWAYS_PRODUCED">PrintLib</LibraryClass>\r
<LibraryClass Usage="ALWAYS_CONSUMED">BaseLib</LibraryClass>\r
+ <LibraryClass Usage="ALWAYS_CONSUMED">DebugLib</LibraryClass>\r
</LibraryClassDefinitions>\r
<SourceFiles>\r
<Filename>PrintLib.c</Filename>\r
UINTN Radix;\r
RETURN_STATUS Status;\r
\r
+ ASSERT (Buffer != NULL);\r
+ ASSERT (Format != NULL);\r
+\r
OriginalBuffer = Buffer;\r
\r
if ((Flags & OUTPUT_UNICODE) != 0) {\r
for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
If Guid is NULL, then ASSERT().\r
If there is no additional space for HOB creation, then ASSERT().\r
- If DataLength > (0x10000 - sizeof (EFI_HOB_TYPE_GUID)), then ASSERT().\r
+ If DataLength >= (0x10000 - sizeof (EFI_HOB_GUID_TYPE)), then ASSERT().\r
\r
@param Guid The GUID to tag the customized HOB.\r
@param DataLength The size of the data payload for the GUID HOB.\r
If Guid is NULL, then ASSERT().\r
If Data is NULL and DataLength > 0, then ASSERT().\r
If there is no additional space for HOB creation, then ASSERT().\r
- If DataLength > (0x10000 - sizeof (EFI_HOB_TYPE_GUID)), then ASSERT().\r
+ If DataLength >= (0x10000 - sizeof (EFI_HOB_GUID_TYPE)), then ASSERT().\r
\r
@param Guid The GUID to tag the customized HOB.\r
@param Data The data to be copied into the data field of the GUID HOB.\r
for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
If Guid is NULL, then ASSERT().\r
If there is no additional space for HOB creation, then ASSERT().\r
- If DataLength > (0x10000 - sizeof (EFI_HOB_TYPE_GUID)), then ASSERT().\r
+ If DataLength >= (0x10000 - sizeof (EFI_HOB_GUID_TYPE)), then ASSERT().\r
\r
@param Guid The GUID to tag the customized HOB.\r
@param DataLength The size of the data payload for the GUID HOB.\r
If Guid is NULL, then ASSERT().\r
If Data is NULL and DataLength > 0, then ASSERT().\r
If there is no additional space for HOB creation, then ASSERT().\r
- If DataLength > (0x10000 - sizeof (EFI_HOB_TYPE_GUID)), then ASSERT().\r
+ If DataLength >= (0x10000 - sizeof (EFI_HOB_GUID_TYPE)), then ASSERT().\r
\r
@param Guid The GUID to tag the customized HOB.\r
@param Data The data to be copied into the data field of the GUID HOB.\r
for DXE phase, it will ASSERT() since PEI HOB is read-only for DXE phase.\r
If Guid is NULL, then ASSERT().\r
If there is no additional space for HOB creation, then ASSERT().\r
- If DataLength > (0x10000 - sizeof (EFI_HOB_TYPE_GUID)), then ASSERT().\r
+ If DataLength >= (0x10000 - sizeof (EFI_HOB_GUID_TYPE)), then ASSERT().\r
\r
@param Guid The GUID to tag the customized HOB.\r
@param DataLength The size of the data payload for the GUID HOB.\r
If Guid is NULL, then ASSERT().\r
If Data is NULL and DataLength > 0, then ASSERT().\r
If there is no additional space for HOB creation, then ASSERT().\r
- If DataLength > (0x10000 - sizeof (EFI_HOB_TYPE_GUID)), then ASSERT().\r
+ If DataLength >= (0x10000 - sizeof (EFI_HOB_GUID_TYPE)), then ASSERT().\r
\r
@param Guid The GUID to tag the customized HOB.\r
@param Data The data to be copied into the data field of the GUID HOB.\r
{\r
VOID *HobData;\r
\r
+ ASSERT (Data != NULL || DataLength == 0);\r
+\r
HobData = BuildGuidHob (Guid, DataLength);\r
\r
return CopyMem (HobData, Data, DataLength);\r
IN UINT16 Value\r
)\r
{\r
- ASSERT (Buffer != NULL);\r
+ ASSERT (!(Buffer == NULL && Length > 0));\r
ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
- ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) != 0);\r
- ASSERT ((Length & (sizeof (Value) - 1)) != 0);\r
+ ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0);\r
+ ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
\r
if ((Length /= sizeof (Value)) == 0) {\r
return Buffer;\r
IN UINT32 Value\r
)\r
{\r
- ASSERT (Buffer != NULL);\r
+ ASSERT (!(Buffer == NULL && Length > 0));\r
ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
- ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) != 0);\r
- ASSERT ((Length & (sizeof (Value) - 1)) != 0);\r
+ ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0);\r
+ ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
\r
if ((Length /= sizeof (Value)) == 0) {\r
return Buffer;\r
IN UINT64 Value\r
)\r
{\r
- ASSERT (Buffer != NULL);\r
+ ASSERT (!(Buffer == NULL && Length > 0));\r
ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
- ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) != 0);\r
- ASSERT ((Length & (sizeof (Value) - 1)) != 0);\r
+ ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0);\r
+ ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
\r
if ((Length /= sizeof (Value)) == 0) {\r
return Buffer;\r
IN UINT16 Value\r
)\r
{\r
- ASSERT (Buffer != NULL);\r
+ ASSERT (!(Buffer == NULL && Length > 0));\r
ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
- ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) != 0);\r
- ASSERT ((Length & (sizeof (Value) - 1)) != 0);\r
+ ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0);\r
+ ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
\r
if ((Length /= sizeof (Value)) == 0) {\r
return Buffer;\r
IN UINT32 Value\r
)\r
{\r
- ASSERT (Buffer != NULL);\r
+ ASSERT (!(Buffer == NULL && Length > 0));\r
ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
- ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) != 0);\r
- ASSERT ((Length & (sizeof (Value) - 1)) != 0);\r
+ ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0);\r
+ ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
\r
if ((Length /= sizeof (Value)) == 0) {\r
return Buffer;\r
IN UINT64 Value\r
)\r
{\r
- ASSERT (Buffer != NULL);\r
+ ASSERT (!(Buffer == NULL && Length > 0));\r
ASSERT (Length <= MAX_ADDRESS - (UINTN)Buffer + 1);\r
- ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) != 0);\r
- ASSERT ((Length & (sizeof (Value) - 1)) != 0);\r
+ ASSERT ((((UINTN)Buffer) & (sizeof (Value) - 1)) == 0);\r
+ ASSERT ((Length & (sizeof (Value) - 1)) == 0);\r
\r
if ((Length /= sizeof (Value)) == 0) {\r
return Buffer;\r
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="PeiIoLibCpuIo" />\r
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="DxeReportStatusCodeLib" />\r
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BaseReportStatusCodeLibNull" />\r
+\r
+ <ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLib80" />\r
+ <ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLibDebug" />\r
+ <ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLibReportStatusCode" />\r
+\r
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="UefiDriverEntryPoint" />\r
\r
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="DxeSmmDriverEntryPoint" />\r
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="DxeReportStatusCodeLib" />\r
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="BaseReportStatusCodeLibNull" />\r
\r
+ <ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="BasePostCodeLib80" />\r
+ <ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="BasePostCodeLibDebug" />\r
+ <ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="BasePostCodeLibReportStatusCode" />\r
+\r
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="DxeSmmDriverEntryPoint" />\r
\r
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="UefiBootServicesTableLib" />\r
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="PeiIoLibCpuIo" />\r
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="DxeReportStatusCodeLib" />\r
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="BaseReportStatusCodeLibNull" />\r
+\r
+ <ModuleSA Arch="X64" FvBinding="NULL" ModuleName="BasePostCodeLib80" />\r
+ <ModuleSA Arch="X64" FvBinding="NULL" ModuleName="BasePostCodeLibDebug" />\r
+ <ModuleSA Arch="X64" FvBinding="NULL" ModuleName="BasePostCodeLibReportStatusCode" />\r
\r
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="UefiDriverEntryPoint" />\r
\r
<ModuleSA Arch="EBC" FvBinding="NULL" ModuleName="PeiIoLibCpuIo" />\r
<ModuleSA Arch="EBC" FvBinding="NULL" ModuleName="DxeReportStatusCodeLib" />\r
<ModuleSA Arch="EBC" FvBinding="NULL" ModuleName="BaseReportStatusCodeLibNull" />\r
+\r
+ <ModuleSA Arch="EBC" FvBinding="NULL" ModuleName="BasePostCodeLib80" />\r
+ <ModuleSA Arch="EBC" FvBinding="NULL" ModuleName="BasePostCodeLibDebug" />\r
+ <ModuleSA Arch="EBC" FvBinding="NULL" ModuleName="BasePostCodeLibReportStatusCode" />\r
\r
<ModuleSA Arch="EBC" FvBinding="NULL" ModuleName="DxeSmmDriverEntryPoint" />\r
\r
<DefaultValue>0x07</DefaultValue>\r
</PcdBuildData>\r
</PcdBuildDeclarations>\r
+ </ModuleSA>\r
+ <ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLib80" >\r
+ <PcdBuildDeclarations>\r
+ <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+ <C_Name>PcdPostCodePropertyMask</C_Name>\r
+ <Token>0x0000000b</Token>\r
+ <DatumType>UINT8</DatumType>\r
+ <HiiEnable>false</HiiEnable>\r
+ <VpdEnable>false</VpdEnable>\r
+ <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+ <SkuEnable>false</SkuEnable>\r
+ <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+ <MaxSku>0x00</MaxSku>\r
+ <SkuId>0x00</SkuId>\r
+ <DatumSize>1</DatumSize>\r
+ <VariableGuid>0</VariableGuid>\r
+ <VariableName>L""</VariableName>\r
+ <DataOffset>0</DataOffset>\r
+ <DefaultValue>0x00</DefaultValue>\r
+ </PcdBuildData>\r
+ </PcdBuildDeclarations>\r
+ </ModuleSA>\r
+ <ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLibReportStatusCode" >\r
+ <PcdBuildDeclarations>\r
+ <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+ <C_Name>PcdPostCodePropertyMask</C_Name>\r
+ <Token>0x0000000b</Token>\r
+ <DatumType>UINT8</DatumType>\r
+ <HiiEnable>false</HiiEnable>\r
+ <VpdEnable>false</VpdEnable>\r
+ <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+ <SkuEnable>false</SkuEnable>\r
+ <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+ <MaxSku>0x00</MaxSku>\r
+ <SkuId>0x00</SkuId>\r
+ <DatumSize>1</DatumSize>\r
+ <VariableGuid>0</VariableGuid>\r
+ <VariableName>L""</VariableName>\r
+ <DataOffset>0</DataOffset>\r
+ <DefaultValue>0x00</DefaultValue>\r
+ </PcdBuildData>\r
+ </PcdBuildDeclarations>\r
</ModuleSA> \r
+ <ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLibDebug" >\r
+ <PcdBuildDeclarations>\r
+ <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+ <C_Name>PcdPostCodePropertyMask</C_Name>\r
+ <Token>0x0000000b</Token>\r
+ <DatumType>UINT8</DatumType>\r
+ <HiiEnable>false</HiiEnable>\r
+ <VpdEnable>false</VpdEnable>\r
+ <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+ <SkuEnable>false</SkuEnable>\r
+ <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+ <MaxSku>0x00</MaxSku>\r
+ <SkuId>0x00</SkuId>\r
+ <DatumSize>1</DatumSize>\r
+ <VariableGuid>0</VariableGuid>\r
+ <VariableName>L""</VariableName>\r
+ <DataOffset>0</DataOffset>\r
+ <DefaultValue>0x00</DefaultValue>\r
+ </PcdBuildData>\r
+ </PcdBuildDeclarations>\r
+ </ModuleSA> \r
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="UefiDriverEntryPoint" >\r
</ModuleSA> \r
\r
<DefaultValue>0x07</DefaultValue>\r
</PcdBuildData>\r
</PcdBuildDeclarations>\r
+ </ModuleSA>\r
+ <ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="BasePostCodeLib80" >\r
+ <PcdBuildDeclarations>\r
+ <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+ <C_Name>PcdPostCodePropertyMask</C_Name>\r
+ <Token>0x0000000b</Token>\r
+ <DatumType>UINT8</DatumType>\r
+ <HiiEnable>false</HiiEnable>\r
+ <VpdEnable>false</VpdEnable>\r
+ <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+ <SkuEnable>false</SkuEnable>\r
+ <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+ <MaxSku>0x00</MaxSku>\r
+ <SkuId>0x00</SkuId>\r
+ <DatumSize>1</DatumSize>\r
+ <VariableGuid>0</VariableGuid>\r
+ <VariableName>L""</VariableName>\r
+ <DataOffset>0</DataOffset>\r
+ <DefaultValue>0x00</DefaultValue>\r
+ </PcdBuildData>\r
+ </PcdBuildDeclarations>\r
+ </ModuleSA>\r
+ <ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="BasePostCodeLibReportStatusCode" >\r
+ <PcdBuildDeclarations>\r
+ <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+ <C_Name>PcdPostCodePropertyMask</C_Name>\r
+ <Token>0x0000000b</Token>\r
+ <DatumType>UINT8</DatumType>\r
+ <HiiEnable>false</HiiEnable>\r
+ <VpdEnable>false</VpdEnable>\r
+ <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+ <SkuEnable>false</SkuEnable>\r
+ <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+ <MaxSku>0x00</MaxSku>\r
+ <SkuId>0x00</SkuId>\r
+ <DatumSize>1</DatumSize>\r
+ <VariableGuid>0</VariableGuid>\r
+ <VariableName>L""</VariableName>\r
+ <DataOffset>0</DataOffset>\r
+ <DefaultValue>0x00</DefaultValue>\r
+ </PcdBuildData>\r
+ </PcdBuildDeclarations>\r
</ModuleSA> \r
+ <ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="BasePostCodeLibDebug" >\r
+ <PcdBuildDeclarations>\r
+ <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+ <C_Name>PcdPostCodePropertyMask</C_Name>\r
+ <Token>0x0000000b</Token>\r
+ <DatumType>UINT8</DatumType>\r
+ <HiiEnable>false</HiiEnable>\r
+ <VpdEnable>false</VpdEnable>\r
+ <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+ <SkuEnable>false</SkuEnable>\r
+ <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+ <MaxSku>0x00</MaxSku>\r
+ <SkuId>0x00</SkuId>\r
+ <DatumSize>1</DatumSize>\r
+ <VariableGuid>0</VariableGuid>\r
+ <VariableName>L""</VariableName>\r
+ <DataOffset>0</DataOffset>\r
+ <DefaultValue>0x00</DefaultValue>\r
+ </PcdBuildData>\r
+ </PcdBuildDeclarations>\r
+ </ModuleSA> \r
<ModuleSA Arch="IPF" FvBinding="NULL" ModuleName="UefiDriverEntryPoint" >\r
</ModuleSA> \r
\r
<DefaultValue>0x07</DefaultValue>\r
</PcdBuildData>\r
</PcdBuildDeclarations>\r
+ </ModuleSA> \r
+ <ModuleSA Arch="X64" FvBinding="NULL" ModuleName="BasePostCodeLib80" >\r
+ <PcdBuildDeclarations>\r
+ <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+ <C_Name>PcdPostCodePropertyMask</C_Name>\r
+ <Token>0x0000000b</Token>\r
+ <DatumType>UINT8</DatumType>\r
+ <HiiEnable>false</HiiEnable>\r
+ <VpdEnable>false</VpdEnable>\r
+ <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+ <SkuEnable>false</SkuEnable>\r
+ <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+ <MaxSku>0x00</MaxSku>\r
+ <SkuId>0x00</SkuId>\r
+ <DatumSize>1</DatumSize>\r
+ <VariableGuid>0</VariableGuid>\r
+ <VariableName>L""</VariableName>\r
+ <DataOffset>0</DataOffset>\r
+ <DefaultValue>0x00</DefaultValue>\r
+ </PcdBuildData>\r
+ </PcdBuildDeclarations>\r
+ </ModuleSA>\r
+ <ModuleSA Arch="X64" FvBinding="NULL" ModuleName="BasePostCodeLibReportStatusCode" >\r
+ <PcdBuildDeclarations>\r
+ <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+ <C_Name>PcdPostCodePropertyMask</C_Name>\r
+ <Token>0x0000000b</Token>\r
+ <DatumType>UINT8</DatumType>\r
+ <HiiEnable>false</HiiEnable>\r
+ <VpdEnable>false</VpdEnable>\r
+ <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+ <SkuEnable>false</SkuEnable>\r
+ <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+ <MaxSku>0x00</MaxSku>\r
+ <SkuId>0x00</SkuId>\r
+ <DatumSize>1</DatumSize>\r
+ <VariableGuid>0</VariableGuid>\r
+ <VariableName>L""</VariableName>\r
+ <DataOffset>0</DataOffset>\r
+ <DefaultValue>0x00</DefaultValue>\r
+ </PcdBuildData>\r
+ </PcdBuildDeclarations>\r
</ModuleSA> \r
+ <ModuleSA Arch="X64" FvBinding="NULL" ModuleName="BasePostCodeLibDebug" >\r
+ <PcdBuildDeclarations>\r
+ <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+ <C_Name>PcdPostCodePropertyMask</C_Name>\r
+ <Token>0x0000000b</Token>\r
+ <DatumType>UINT8</DatumType>\r
+ <HiiEnable>false</HiiEnable>\r
+ <VpdEnable>false</VpdEnable>\r
+ <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+ <SkuEnable>false</SkuEnable>\r
+ <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+ <MaxSku>0x00</MaxSku>\r
+ <SkuId>0x00</SkuId>\r
+ <DatumSize>1</DatumSize>\r
+ <VariableGuid>0</VariableGuid>\r
+ <VariableName>L""</VariableName>\r
+ <DataOffset>0</DataOffset>\r
+ <DefaultValue>0x00</DefaultValue>\r
+ </PcdBuildData>\r
+ </PcdBuildDeclarations>\r
+ </ModuleSA> \r
<ModuleSA Arch="X64" FvBinding="NULL" ModuleName="UefiDriverEntryPoint" >\r
</ModuleSA> \r
\r
</PcdBuildData>\r
</PcdBuildDeclarations>\r
</ModuleSA> \r
+ <ModuleSA Arch="EBC" FvBinding="NULL" ModuleName="BasePostCodeLib80" >\r
+ <PcdBuildDeclarations>\r
+ <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+ <C_Name>PcdPostCodePropertyMask</C_Name>\r
+ <Token>0x0000000b</Token>\r
+ <DatumType>UINT8</DatumType>\r
+ <HiiEnable>false</HiiEnable>\r
+ <VpdEnable>false</VpdEnable>\r
+ <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+ <SkuEnable>false</SkuEnable>\r
+ <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+ <MaxSku>0x00</MaxSku>\r
+ <SkuId>0x00</SkuId>\r
+ <DatumSize>1</DatumSize>\r
+ <VariableGuid>0</VariableGuid>\r
+ <VariableName>L""</VariableName>\r
+ <DataOffset>0</DataOffset>\r
+ <DefaultValue>0x00</DefaultValue>\r
+ </PcdBuildData>\r
+ </PcdBuildDeclarations>\r
+ </ModuleSA>\r
+ <ModuleSA Arch="EBC" FvBinding="NULL" ModuleName="BasePostCodeLibReportStatusCode" >\r
+ <PcdBuildDeclarations>\r
+ <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+ <C_Name>PcdPostCodePropertyMask</C_Name>\r
+ <Token>0x0000000b</Token>\r
+ <DatumType>UINT8</DatumType>\r
+ <HiiEnable>false</HiiEnable>\r
+ <VpdEnable>false</VpdEnable>\r
+ <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+ <SkuEnable>false</SkuEnable>\r
+ <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+ <MaxSku>0x00</MaxSku>\r
+ <SkuId>0x00</SkuId>\r
+ <DatumSize>1</DatumSize>\r
+ <VariableGuid>0</VariableGuid>\r
+ <VariableName>L""</VariableName>\r
+ <DataOffset>0</DataOffset>\r
+ <DefaultValue>0x00</DefaultValue>\r
+ </PcdBuildData>\r
+ </PcdBuildDeclarations>\r
+ </ModuleSA> \r
+ <ModuleSA Arch="EBC" FvBinding="NULL" ModuleName="BasePostCodeLibDebug" >\r
+ <PcdBuildDeclarations>\r
+ <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+ <C_Name>PcdPostCodePropertyMask</C_Name>\r
+ <Token>0x0000000b</Token>\r
+ <DatumType>UINT8</DatumType>\r
+ <HiiEnable>false</HiiEnable>\r
+ <VpdEnable>false</VpdEnable>\r
+ <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+ <SkuEnable>false</SkuEnable>\r
+ <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+ <MaxSku>0x00</MaxSku>\r
+ <SkuId>0x00</SkuId>\r
+ <DatumSize>1</DatumSize>\r
+ <VariableGuid>0</VariableGuid>\r
+ <VariableName>L""</VariableName>\r
+ <DataOffset>0</DataOffset>\r
+ <DefaultValue>0x00</DefaultValue>\r
+ </PcdBuildData>\r
+ </PcdBuildDeclarations>\r
+ </ModuleSA> \r
<ModuleSA Arch="EBC" FvBinding="NULL" ModuleName="UefiDriverEntryPoint" >\r
</ModuleSA> \r
\r
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="PeiIoLibCpuIo" />\r
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="DxeReportStatusCodeLib" />\r
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BaseReportStatusCodeLibNull" />\r
+ <ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLib80" />\r
+ <ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLibDebug" />\r
+ <ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLibReportStatusCode" />\r
+\r
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="UefiDriverEntryPoint" />\r
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="DxeSmmDriverEntryPoint" />\r
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="UefiBootServicesTableLib" />\r
</PcdBuildData>\r
</PcdBuildDeclarations>\r
</ModuleSA> \r
+ <ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLib80" >\r
+ <PcdBuildDeclarations>\r
+ <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+ <C_Name>PcdPostCodePropertyMask</C_Name>\r
+ <Token>0x0000000b</Token>\r
+ <DatumType>UINT8</DatumType>\r
+ <HiiEnable>false</HiiEnable>\r
+ <VpdEnable>false</VpdEnable>\r
+ <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+ <SkuEnable>false</SkuEnable>\r
+ <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+ <MaxSku>0x00</MaxSku>\r
+ <SkuId>0x00</SkuId>\r
+ <DatumSize>1</DatumSize>\r
+ <VariableGuid>0</VariableGuid>\r
+ <VariableName>L""</VariableName>\r
+ <DataOffset>0</DataOffset>\r
+ <DefaultValue>0x00</DefaultValue>\r
+ </PcdBuildData>\r
+ </PcdBuildDeclarations>\r
+ </ModuleSA>\r
+ <ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLibReportStatusCode" >\r
+ <PcdBuildDeclarations>\r
+ <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+ <C_Name>PcdPostCodePropertyMask</C_Name>\r
+ <Token>0x0000000b</Token>\r
+ <DatumType>UINT8</DatumType>\r
+ <HiiEnable>false</HiiEnable>\r
+ <VpdEnable>false</VpdEnable>\r
+ <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+ <SkuEnable>false</SkuEnable>\r
+ <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+ <MaxSku>0x00</MaxSku>\r
+ <SkuId>0x00</SkuId>\r
+ <DatumSize>1</DatumSize>\r
+ <VariableGuid>0</VariableGuid>\r
+ <VariableName>L""</VariableName>\r
+ <DataOffset>0</DataOffset>\r
+ <DefaultValue>0x00</DefaultValue>\r
+ </PcdBuildData>\r
+ </PcdBuildDeclarations>\r
+ </ModuleSA> \r
+ <ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="BasePostCodeLibDebug" >\r
+ <PcdBuildDeclarations>\r
+ <PcdBuildData ItemType="FIXED_AT_BUILD">\r
+ <C_Name>PcdPostCodePropertyMask</C_Name>\r
+ <Token>0x0000000b</Token>\r
+ <DatumType>UINT8</DatumType>\r
+ <HiiEnable>false</HiiEnable>\r
+ <VpdEnable>false</VpdEnable>\r
+ <AlternateNameSpaceEnable>false</AlternateNameSpaceEnable>\r
+ <SkuEnable>false</SkuEnable>\r
+ <SkuDataArrayEnable>false</SkuDataArrayEnable>\r
+ <MaxSku>0x00</MaxSku>\r
+ <SkuId>0x00</SkuId>\r
+ <DatumSize>1</DatumSize>\r
+ <VariableGuid>0</VariableGuid>\r
+ <VariableName>L""</VariableName>\r
+ <DataOffset>0</DataOffset>\r
+ <DefaultValue>0x00</DefaultValue>\r
+ </PcdBuildData>\r
+ </PcdBuildDeclarations>\r
+ </ModuleSA> \r
<ModuleSA Arch="IA32" FvBinding="NULL" ModuleName="UefiDriverEntryPoint" >\r
</ModuleSA> \r
\r
<LibraryClass>ReportStatusCodeLib</LibraryClass>\r
<IncludeHeader>Include/Library/ReportStatusCodeLib.h</IncludeHeader>\r
</LibraryClassDeclaration>\r
+ <LibraryClassDeclaration>\r
+ <LibraryClass>PostCodeLib</LibraryClass>\r
+ <IncludeHeader>Include/Library/PostCodeLib.h</IncludeHeader>\r
+ </LibraryClassDeclaration>\r
<LibraryClassDeclaration>\r
<LibraryClass>ResourcePublicationLib</LibraryClass>\r
<IncludeHeader>Include/Library/ResourcePublicationLib.h</IncludeHeader>\r
<MsaFile>\r
<Filename>Library/BaseReportStatusCodeLibNull/BaseReportStatusCodeLibNull.msa</Filename>\r
</MsaFile>\r
+ <MsaFile>\r
+ <Filename>Library/BasePostCodeLib80/BasePostCodeLib80.msa</Filename>\r
+ </MsaFile>\r
+ <MsaFile>\r
+ <Filename>Library/BasePostCodeLibDebug/BasePostCodeLibDebug.msa</Filename>\r
+ </MsaFile>\r
+ <MsaFile>\r
+ <Filename>Library/BasePostCodeLibReportStatusCode/BasePostCodeLibReportStatusCode.msa</Filename>\r
+ </MsaFile>\r
<MsaFile>\r
<Filename>Library/BaseSmbusLib/BaseSmbusLib.msa</Filename>\r
</MsaFile>\r
<DatumType>UINT8</DatumType>\r
<DefaultValue>0x0</DefaultValue>\r
</PcdEntry>\r
+ <PcdEntry ItemType="FIXED_AT_BUILD">\r
+ <C_Name>PcdPostCodePropertyMask</C_Name>\r
+ <Token>0x0000000b</Token>\r
+ <DatumType>UINT8</DatumType>\r
+ <DefaultValue>0</DefaultValue>\r
+ </PcdEntry>\r
</PcdDefinitions>\r
</PackageSurfaceArea>\r