From da7dd714aa63beb807f08a73e7daf4cc4985b4fe Mon Sep 17 00:00:00 2001 From: Olivier Martin Date: Fri, 29 May 2015 14:39:41 +0000 Subject: EmbeddedPkg/AcpiLib: Introduced LocateAndInstallAcpiFromFvConditional() This new helper function allows to install ACPI Table on condition. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin Reviewed-by: Ronald Cron git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17540 6f19259b-4bc3-4df7-8a09-765794883524 --- EmbeddedPkg/Include/Library/AcpiLib.h | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'EmbeddedPkg/Include') diff --git a/EmbeddedPkg/Include/Library/AcpiLib.h b/EmbeddedPkg/Include/Library/AcpiLib.h index b0cde9aed4..42710fd1fd 100644 --- a/EmbeddedPkg/Include/Library/AcpiLib.h +++ b/EmbeddedPkg/Include/Library/AcpiLib.h @@ -1,7 +1,7 @@ /** @file Helper Library for ACPI - Copyright (c) 2014, ARM Ltd. All rights reserved. + Copyright (c) 2014-2015, ARM Ltd. All rights reserved. This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -18,6 +18,8 @@ #include +#include + // // Macros for the Generic Address Space // @@ -69,6 +71,30 @@ WatchdogTimerGSIV, WatchdogTimerFlags \ } +typedef +BOOLEAN +(EFIAPI *EFI_LOCATE_ACPI_CHECK) ( + IN EFI_ACPI_DESCRIPTION_HEADER *AcpiHeader + ); + +/** + Locate and Install the ACPI tables from the Firmware Volume if it verifies + the function condition. + + @param AcpiFile Guid of the ACPI file into the Firmware Volume + @param CheckAcpiTableFunction Function that checks if the ACPI table should be installed + + @return EFI_SUCCESS The function completed successfully. + @return EFI_NOT_FOUND The protocol could not be located. + @return EFI_OUT_OF_RESOURCES There are not enough resources to find the protocol. + +**/ +EFI_STATUS +LocateAndInstallAcpiFromFvConditional ( + IN CONST EFI_GUID* AcpiFile, + IN EFI_LOCATE_ACPI_CHECK CheckAcpiTableFunction + ); + /** Locate and Install the ACPI tables from the Firmware Volume -- cgit v1.2.3