summaryrefslogtreecommitdiffstats
path: root/IntelFsp2Pkg/Include/Library/FspMultiPhaseLib.h
diff options
context:
space:
mode:
authorChasel Chiu <chasel.chiu@intel.com>2022-07-25 12:03:51 -0700
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>2022-08-31 16:48:07 +0000
commitdf25a5457f04ec465dce97428cfee96f462676e7 (patch)
tree7ebc2087c7473f98f8c7cd8832c2633c1788c6bd /IntelFsp2Pkg/Include/Library/FspMultiPhaseLib.h
parent4b7bd4c591a81a290b31e9d1a94c4b8be787989e (diff)
downloadedk2-df25a5457f04ec465dce97428cfee96f462676e7.tar.gz
edk2-df25a5457f04ec465dce97428cfee96f462676e7.tar.bz2
edk2-df25a5457f04ec465dce97428cfee96f462676e7.zip
IntelFsp2Pkg: Add FSP 2.4 MultiPhase interface.
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3916 Provide FSP 2.4 MultiPhase interface and scripts support. Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Star Zeng <star.zeng@intel.com> Signed-off-by: Chasel Chiu <chasel.chiu@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
Diffstat (limited to 'IntelFsp2Pkg/Include/Library/FspMultiPhaseLib.h')
-rw-r--r--IntelFsp2Pkg/Include/Library/FspMultiPhaseLib.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/IntelFsp2Pkg/Include/Library/FspMultiPhaseLib.h b/IntelFsp2Pkg/Include/Library/FspMultiPhaseLib.h
new file mode 100644
index 0000000000..9c6973ceb1
--- /dev/null
+++ b/IntelFsp2Pkg/Include/Library/FspMultiPhaseLib.h
@@ -0,0 +1,55 @@
+/** @file
+ FSP MultiPhase Library.
+
+ Copyright (c) 2022, Intel Corporation. All rights reserved.<BR>
+ SPDX-License-Identifier: BSD-2-Clause-Patent
+
+**/
+
+#ifndef _FSP_MULTIPHASE_LIB_H_
+#define _FSP_MULTIPHASE_LIB_H_
+
+EFI_STATUS
+EFIAPI
+FspMultiPhaseSwitchStack (
+ );
+
+EFI_STATUS
+EFIAPI
+FspVariableRequestSwitchStack (
+ IN FSP_MULTI_PHASE_VARIABLE_REQUEST_INFO_PARAMS *FspVariableRequestParams
+ );
+
+/**
+ This function handles FspMultiPhaseMemInitApi.
+
+ @param[in] ApiIdx Internal index of the FSP API.
+ @param[in] ApiParam Parameter of the FSP API.
+
+ @retval EFI_SUCCESS FSP execution was successful.
+ @retval EFI_INVALID_PARAMETER Input parameters are invalid.
+ @retval EFI_UNSUPPORTED The FSP calling conditions were not met.
+ @retval EFI_DEVICE_ERROR FSP initialization failed.
+**/
+EFI_STATUS
+EFIAPI
+FspMultiPhaseMemInitApiHandler (
+ IN UINT32 ApiIdx,
+ IN VOID *ApiParam
+ );
+
+/**
+ This function handles FspMultiPhaseSiInitApi.
+
+ @param[in] ApiIdx Internal index of the FSP API.
+ @param[in] ApiParam Parameter of the FSP API.
+
+**/
+EFI_STATUS
+EFIAPI
+FspMultiPhaseSiInitApiHandlerV2 (
+ IN UINT32 ApiIdx,
+ IN VOID *ApiParam
+ );
+
+#endif