Separate memory allocation for FPDT S3 performance table and boot performance table, save S3 performance table pointer to LockBox in FirmwarePerformanceDxe. Then FirmwarePerformancePei can use the pointer in LockBox.

Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14369 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
lzeng14
2013-05-16 07:35:30 +00:00
parent e643951bc5
commit db91c62082
6 changed files with 196 additions and 91 deletions

View File

@@ -1,7 +1,7 @@
/** @file
ACPI Firmware Performance Data Table (FPDT) implementation specific definitions.
Copyright (c) 2011 - 2012, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2011 - 2013, 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
@@ -50,6 +50,15 @@
#define EFI_FIRMWARE_PERFORMANCE_VARIABLE_NAME L"FirmwarePerformance"
/// LockBox:
/// GUID - gFirmwarePerformanceS3PointerGuid
/// Data - S3 performance table pointer
///
#define FIRMWARE_PERFORMANCE_S3_POINTER_GUID \
{ \
0xdc65adc, 0xa973, 0x4130, { 0x8d, 0xf0, 0x2a, 0xdb, 0xeb, 0x9e, 0x4a, 0x31 } \
}
#pragma pack(1)
///
@@ -95,7 +104,7 @@ typedef struct {
///
/// Variable defined for FPDT implementation.
/// This Variable is produced by FPDT DXE module and consumed by FPDT PEIM.
/// This Variable is produced by FPDT DXE module.
///
typedef struct {
EFI_PHYSICAL_ADDRESS BootPerformanceTablePointer; ///< Pointer to Boot Performance Table.
@@ -118,5 +127,6 @@ typedef struct {
} SMM_BOOT_RECORD_COMMUNICATE;
extern EFI_GUID gEfiFirmwarePerformanceGuid;
extern EFI_GUID gFirmwarePerformanceS3PointerGuid;
#endif