\r
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.\r
(C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP<BR>\r
- 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
+ SPDX-License-Identifier: BSD-2-Clause-Patent\r
**/\r
\r
#include "Dp.h"\r
\r
#pragma pack()\r
\r
-EFI_HANDLE mDpHiiHandle;\r
+EFI_HII_HANDLE mDpHiiHandle;\r
\r
typedef struct {\r
EFI_HANDLE Handle;\r
PERF_INIT_CUM_DATA (LOAD_IMAGE_TOK),\r
PERF_INIT_CUM_DATA (START_IMAGE_TOK),\r
PERF_INIT_CUM_DATA (DRIVERBINDING_START_TOK),\r
- PERF_INIT_CUM_DATA (DRIVERBINDING_SUPPORT_TOK)\r
+ PERF_INIT_CUM_DATA (DRIVERBINDING_SUPPORT_TOK),\r
+ PERF_INIT_CUM_DATA (DRIVERBINDING_STOP_TOK)\r
};\r
\r
/// Number of items for which we are gathering cumulative statistics.\r
SHELL_FREE_NON_NULL (StringPtrUnknown);\r
}\r
\r
-/**\r
- This function scan ACPI table in RSDT.\r
-\r
- @param Rsdt ACPI RSDT\r
- @param Signature ACPI table signature\r
-\r
- @return ACPI table\r
-**/\r
-VOID *\r
-ScanTableInRSDT (\r
- IN RSDT_TABLE *Rsdt,\r
- IN UINT32 Signature\r
- )\r
-{\r
- UINTN Index;\r
- UINT32 EntryCount;\r
- UINT32 *EntryPtr;\r
- EFI_ACPI_DESCRIPTION_HEADER *Table;\r
-\r
- EntryCount = (Rsdt->Header.Length - sizeof (EFI_ACPI_DESCRIPTION_HEADER)) / sizeof(UINT32);\r
-\r
- EntryPtr = &Rsdt->Entry;\r
- for (Index = 0; Index < EntryCount; Index ++, EntryPtr ++) {\r
- Table = (EFI_ACPI_DESCRIPTION_HEADER*)((UINTN)(*EntryPtr));\r
- if (Table->Signature == Signature) {\r
- return Table;\r
- }\r
- }\r
-\r
- return NULL;\r
-}\r
-\r
-/**\r
- This function scan ACPI table in XSDT.\r
-\r
- @param Xsdt ACPI XSDT\r
- @param Signature ACPI table signature\r
-\r
- @return ACPI table\r
-**/\r
-VOID *\r
-ScanTableInXSDT (\r
- IN XSDT_TABLE *Xsdt,\r
- IN UINT32 Signature\r
- )\r
-{\r
- UINTN Index;\r
- UINT32 EntryCount;\r
- UINT64 EntryPtr;\r
- UINTN BasePtr;\r
- EFI_ACPI_DESCRIPTION_HEADER *Table;\r
-\r
- EntryCount = (Xsdt->Header.Length - sizeof (EFI_ACPI_DESCRIPTION_HEADER)) / sizeof(UINT64);\r
-\r
- BasePtr = (UINTN)(&(Xsdt->Entry));\r
- for (Index = 0; Index < EntryCount; Index ++) {\r
- CopyMem (&EntryPtr, (VOID *)(BasePtr + Index * sizeof(UINT64)), sizeof(UINT64));\r
- Table = (EFI_ACPI_DESCRIPTION_HEADER*)((UINTN)(EntryPtr));\r
- if (Table->Signature == Signature) {\r
- return Table;\r
- }\r
- }\r
-\r
- return NULL;\r
-}\r
-\r
-/**\r
- This function scan ACPI table in RSDP.\r
-\r
- @param Rsdp ACPI RSDP\r
- @param Signature ACPI table signature\r
-\r
- @return ACPI table\r
-**/\r
-VOID *\r
-FindAcpiPtr (\r
- IN EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_POINTER *Rsdp,\r
- IN UINT32 Signature\r
- )\r
-{\r
- EFI_ACPI_DESCRIPTION_HEADER *AcpiTable;\r
- RSDT_TABLE *Rsdt;\r
- XSDT_TABLE *Xsdt;\r
-\r
- AcpiTable = NULL;\r
-\r
- //\r
- // Check ACPI2.0 table\r
- //\r
- Rsdt = (RSDT_TABLE *)(UINTN)Rsdp->RsdtAddress;\r
- Xsdt = NULL;\r
- if ((Rsdp->Revision >= 2) && (Rsdp->XsdtAddress < (UINT64)(UINTN)-1)) {\r
- Xsdt = (XSDT_TABLE *)(UINTN)Rsdp->XsdtAddress;\r
- }\r
- //\r
- // Check Xsdt\r
- //\r
- if (Xsdt != NULL) {\r
- AcpiTable = ScanTableInXSDT (Xsdt, Signature);\r
- }\r
- //\r
- // Check Rsdt\r
- //\r
- if ((AcpiTable == NULL) && (Rsdt != NULL)) {\r
- AcpiTable = ScanTableInRSDT (Rsdt, Signature);\r
- }\r
-\r
- return AcpiTable;\r
-}\r
-\r
/**\r
Get Boot performance table form Acpi table.\r
\r
GetBootPerformanceTable (\r
)\r
{\r
- EFI_STATUS Status;\r
- VOID *AcpiTable;\r
FIRMWARE_PERFORMANCE_TABLE *FirmwarePerformanceTable;\r
\r
- AcpiTable = NULL;\r
-\r
- Status = EfiGetSystemConfigurationTable (\r
- &gEfiAcpi20TableGuid,\r
- &AcpiTable\r
- );\r
- if (EFI_ERROR (Status)) {\r
- Status = EfiGetSystemConfigurationTable (\r
- &gEfiAcpi10TableGuid,\r
- &AcpiTable\r
- );\r
- }\r
- if (EFI_ERROR(Status) || AcpiTable == NULL) {\r
- ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_GET_ACPI_TABLE_FAIL), mDpHiiHandle);\r
- return Status;\r
- }\r
-\r
- FirmwarePerformanceTable = FindAcpiPtr (\r
- (EFI_ACPI_5_0_ROOT_SYSTEM_DESCRIPTION_POINTER *)AcpiTable,\r
- EFI_ACPI_5_0_FIRMWARE_PERFORMANCE_DATA_TABLE_SIGNATURE\r
- );\r
+ FirmwarePerformanceTable = (FIRMWARE_PERFORMANCE_TABLE *) EfiLocateFirstAcpiTable (\r
+ EFI_ACPI_5_0_FIRMWARE_PERFORMANCE_DATA_TABLE_SIGNATURE\r
+ );\r
if (FirmwarePerformanceTable == NULL) {\r
ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_DP_GET_ACPI_FPDT_FAIL), mDpHiiHandle);\r
return EFI_NOT_FOUND;\r
\r
@return HII handle.\r
**/\r
-EFI_HANDLE\r
+EFI_HII_HANDLE\r
InitializeHiiPackage (\r
EFI_HANDLE ImageHandle\r
)\r
{\r
EFI_STATUS Status;\r
EFI_HII_PACKAGE_LIST_HEADER *PackageList;\r
- EFI_HANDLE HiiHandle;\r
+ EFI_HII_HANDLE HiiHandle;\r
\r
//\r
// Retrieve HII package list from ImageHandle\r