#include <Library/MemoryAllocationLib.h>\r
#include <Library/UefiBootServicesTableLib.h>\r
#include <Library/DebugLib.h>\r
-\r
-//\r
-// ACPI table information used to initialize tables.\r
-//\r
-#define EFI_ACPI_OEM_ID "INTEL"\r
-#define EFI_ACPI_OEM_TABLE_ID 0x2020204F4E414954ULL // "TIANO "\r
-#define EFI_ACPI_OEM_REVISION 0x00000001\r
-#define EFI_ACPI_CREATOR_ID 0x5446534D // TBD "MSFT"\r
-#define EFI_ACPI_CREATOR_REVISION 0x01000013 // TBD\r
+#include <Library/PcdLib.h>\r
\r
//\r
// Module globals.\r
EFI_ACPI_5_0_BOOT_GRAPHICS_RESOURCE_TABLE_REVISION, // Revision\r
0x00, // Checksum will be updated at runtime\r
//\r
- // It is expected that these values will be updated at runtime.\r
+ // It is expected that these values will be updated at EntryPoint.\r
//\r
- EFI_ACPI_OEM_ID, // OEMID is a 6 bytes long field\r
- EFI_ACPI_OEM_TABLE_ID, // OEM table identification(8 bytes long)\r
- EFI_ACPI_OEM_REVISION, // OEM revision number\r
- EFI_ACPI_CREATOR_ID, // ASL compiler vendor ID\r
- EFI_ACPI_CREATOR_REVISION, // ASL compiler revision number\r
+ {0x00}, // OEM ID is a 6 bytes long field\r
+ 0x00, // OEM Table ID(8 bytes long)\r
+ 0x00, // OEM Revision\r
+ 0x00, // Creator ID\r
+ 0x00, // Creator Revision\r
},\r
EFI_ACPI_5_0_BGRT_VERSION, // Version\r
EFI_ACPI_5_0_BGRT_STATUS_VALID, // Status\r
)\r
{\r
EFI_STATUS Status;\r
+ UINT64 OemTableId;\r
+\r
+ CopyMem (\r
+ mBootGraphicsResourceTableTemplate.Header.OemId,\r
+ PcdGetPtr (PcdAcpiDefaultOemId),\r
+ sizeof (mBootGraphicsResourceTableTemplate.Header.OemId)\r
+ );\r
+ OemTableId = PcdGet64 (PcdAcpiDefaultOemTableId);\r
+ CopyMem (&mBootGraphicsResourceTableTemplate.Header.OemTableId, &OemTableId, sizeof (UINT64));\r
+ mBootGraphicsResourceTableTemplate.Header.OemRevision = PcdGet32 (PcdAcpiDefaultOemRevision);\r
+ mBootGraphicsResourceTableTemplate.Header.CreatorId = PcdGet32 (PcdAcpiDefaultCreatorId);\r
+ mBootGraphicsResourceTableTemplate.Header.CreatorRevision = PcdGet32 (PcdAcpiDefaultCreatorRevision);\r
\r
//\r
// Install Boot Logo protocol.\r