From 0284e90cc1fa6d2551874e66a662278a08b8055c Mon Sep 17 00:00:00 2001 From: lgao4 Date: Thu, 1 Dec 2011 01:57:27 +0000 Subject: Add Acpi50 FPDT and BGRT module into MdeModulePkg. Signed-off-by: lgao4 Reviewed-by: hhtian git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12804 6f19259b-4bc3-4df7-8a09-765794883524 --- MdeModulePkg/Include/Guid/FirmwarePerformance.h | 98 +++++++++++++++++++++++++ 1 file changed, 98 insertions(+) create mode 100644 MdeModulePkg/Include/Guid/FirmwarePerformance.h (limited to 'MdeModulePkg/Include') diff --git a/MdeModulePkg/Include/Guid/FirmwarePerformance.h b/MdeModulePkg/Include/Guid/FirmwarePerformance.h new file mode 100644 index 0000000000..411a03a9d8 --- /dev/null +++ b/MdeModulePkg/Include/Guid/FirmwarePerformance.h @@ -0,0 +1,98 @@ +/** @file + ACPI Firmware Performance Data Table (FPDT) implementation specific definitions. + + Copyright (c) 2011, Intel Corporation. All rights reserved.
+ 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. + +**/ + +#ifndef _FIRMWARE_PERFORMANCE_GUID_H_ +#define _FIRMWARE_PERFORMANCE_GUID_H_ + +#include +#include +#include + +/// +/// This GUID is used for FPDT implementation specific EFI Variable, LockBox and Hob. +/// +/// EFI Variable: +/// GUID - gEfiFirmwarePerformanceGuid +/// Name - EFI_FIRMWARE_PERFORMANCE_VARIABLE_NAME +/// Data - FIRMWARE_PERFORMANCE_VARIABLE +/// +/// LockBox: +/// GUID - gEfiFirmwarePerformanceGuid +/// Data - EFI_ACPI_BASIC_S3_SUSPEND_PERFORMANCE_RECORD +/// +/// Hob: +/// GUID - gEfiFirmwarePerformanceGuid +/// Data - FIRMWARE_SEC_PERFORMANCE (defined in ) +/// +#define EFI_FIRMWARE_PERFORMANCE_GUID \ + { \ + 0xc095791a, 0x3001, 0x47b2, {0x80, 0xc9, 0xea, 0xc7, 0x31, 0x9f, 0x2f, 0xa4 } \ + } + +#define EFI_FIRMWARE_PERFORMANCE_VARIABLE_NAME L"FirmwarePerformance" + +#pragma pack(1) + +/// +/// Firmware Performance Data Table. +/// This structure will be installed into ACPI table as FPDT in normal boot path. +/// +typedef struct { + EFI_ACPI_DESCRIPTION_HEADER Header; ///< Common ACPI description table header. + EFI_ACPI_5_0_FPDT_BOOT_PERFORMANCE_TABLE_POINTER_RECORD BootPointerRecord; ///< Basic Boot Performance Table Pointer record. + EFI_ACPI_5_0_FPDT_S3_PERFORMANCE_TABLE_POINTER_RECORD S3PointerRecord; ///< S3 Performance Table Pointer record. +} FIRMWARE_PERFORMANCE_TABLE; + +/// +/// S3 Performance Data Table. +/// This structure contains S3 performance records which will be updated in S3 +/// suspend and S3 resume boot path. +/// +typedef struct { + EFI_ACPI_5_0_FPDT_PERFORMANCE_TABLE_HEADER Header; ///< Common ACPI table header. + EFI_ACPI_5_0_FPDT_S3_RESUME_RECORD S3Resume; ///< Basic S3 Resume performance record. + EFI_ACPI_5_0_FPDT_S3_SUSPEND_RECORD S3Suspend; ///< Basic S3 Suspend performance record. +} S3_PERFORMANCE_TABLE; + +/// +/// Basic Boot Performance Data Table. +/// This structure contains BasicBoot performance record. +/// +typedef struct { + EFI_ACPI_5_0_FPDT_PERFORMANCE_TABLE_HEADER Header; ///< Common ACPI table header. + EFI_ACPI_5_0_FPDT_FIRMWARE_BASIC_BOOT_RECORD BasicBoot; ///< Basic Boot Resume performance record. +} BOOT_PERFORMANCE_TABLE; + +/// +/// Performance data pointed by Performance Pointer Record. +/// +typedef struct { + BOOT_PERFORMANCE_TABLE BootPerformance; ///< Basic Boot Performance. + S3_PERFORMANCE_TABLE S3Performance; ///< S3 performance. +} FIRMWARE_PERFORMANCE_RUNTIME_DATA; + +/// +/// Variable defined for FPDT implementation. +/// This Variable is produced by FPDT DXE module and consumed by FPDT PEIM. +/// +typedef struct { + EFI_PHYSICAL_ADDRESS BootPerformanceTablePointer; ///< Pointer to Boot Performance Table. + EFI_PHYSICAL_ADDRESS S3PerformanceTablePointer; ///< Pointer to S3 Performance Table. +} FIRMWARE_PERFORMANCE_VARIABLE; + +#pragma pack() + +extern EFI_GUID gEfiFirmwarePerformanceGuid; + +#endif -- cgit v1.2.3