\r
#include "PrmAcpiTable.h"\r
\r
+#include <Guid/ZeroGuid.h>\r
#include <IndustryStandard/Acpi.h>\r
#include <Library/BaseLib.h>\r
#include <Library/BaseMemoryLib.h>\r
OUT PRM_ACPI_DESCRIPTION_TABLE **PrmAcpiDescriptionTable\r
)\r
{\r
+ EFI_GUID *PlatformGuid;\r
EFI_IMAGE_EXPORT_DIRECTORY *CurrentImageExportDirectory;\r
PRM_MODULE_EXPORT_DESCRIPTOR_STRUCT *CurrentExportDescriptorStruct;\r
PRM_ACPI_DESCRIPTION_TABLE *PrmAcpiTable;\r
}\r
*PrmAcpiDescriptionTable = NULL;\r
\r
+ PlatformGuid = (EFI_GUID *) PcdGetPtr (PcdPrmPlatformGuid);\r
+ //\r
+ // The platform should set PcdPrmPlatformGuid to a non-zero value\r
+ //\r
+ if (CompareGuid (PlatformGuid, &gZeroGuid)) {\r
+ DEBUG ((\r
+ DEBUG_ERROR,\r
+ " %a %a: PcdPrmPlatformGuid must be set to a unique value in the platform DSC file.\n",\r
+ _DBGMSGID_,\r
+ __FUNCTION__\r
+ ));\r
+ ASSERT (!CompareGuid (PlatformGuid, &gZeroGuid));\r
+ }\r
+\r
DEBUG ((DEBUG_INFO, " %a %a: %d total PRM modules to process.\n", _DBGMSGID_, __FUNCTION__, mPrmModuleCount));\r
DEBUG ((DEBUG_INFO, " %a %a: %d total PRM handlers to process.\n", _DBGMSGID_, __FUNCTION__, mPrmHandlerCount));\r
\r
PrmAcpiTable->Header.OemRevision = PcdGet32 (PcdAcpiDefaultOemRevision);\r
PrmAcpiTable->Header.CreatorId = PcdGet32 (PcdAcpiDefaultCreatorId);\r
PrmAcpiTable->Header.CreatorRevision = PcdGet32 (PcdAcpiDefaultCreatorRevision);\r
+ CopyGuid (&PrmAcpiTable->PrmPlatformGuid, PlatformGuid);\r
PrmAcpiTable->PrmModuleInfoOffset = OFFSET_OF (PRM_ACPI_DESCRIPTION_TABLE, PrmModuleInfoStructure);\r
PrmAcpiTable->PrmModuleInfoCount = (UINT32) mPrmModuleCount;\r
\r