From 124ed0f6d83ad5548a4d8f3e436aad0fa4230f76 Mon Sep 17 00:00:00 2001 From: Hongbin1 Zhang Date: Tue, 17 Dec 2024 16:12:20 +0800 Subject: [PATCH] IntelFsp2Pkg : Add FSP-I arch config PPI Add FSP-I arch config PPI header file and GUID for supporting FSP-I to get Bootloader MM FV address and length, Bootloader MM FV context Data address and length under dispatch mode Signed-off-by: Hongbin1 Zhang Cc: Chasel Chiu Cc: Ray Ni Cc: Star Zeng Cc: Jiaxin Wu Cc: Duggapu Chinni B Cc: Ted Kuo Cc: Ashraf Ali S Cc: Nate DeSimone --- IntelFsp2Pkg/Include/Ppi/FspiArchConfigPpi.h | 54 ++++++++++++++++++++ IntelFsp2Pkg/IntelFsp2Pkg.dec | 6 ++- 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 IntelFsp2Pkg/Include/Ppi/FspiArchConfigPpi.h diff --git a/IntelFsp2Pkg/Include/Ppi/FspiArchConfigPpi.h b/IntelFsp2Pkg/Include/Ppi/FspiArchConfigPpi.h new file mode 100644 index 0000000000..7f2d4a817d --- /dev/null +++ b/IntelFsp2Pkg/Include/Ppi/FspiArchConfigPpi.h @@ -0,0 +1,54 @@ +/** @file + Header file for FSP-I Arch Config PPI for Dispatch mode + + Copyright (c) 2024, Intel Corporation. All rights reserved.
+ + SPDX-License-Identifier: BSD-2-Clause-Patent + +**/ + +#ifndef _FSPI_ARCH_CONFIG_PPI_H_ +#define _FSPI_ARCH_CONFIG_PPI_H_ + +#define FSPI_ARCH_CONFIG_PPI_REVISION 0x1 + +/// +/// Global ID for the FSPI_ARCH_CONFIG_PPI. +/// +#define FSPI_ARCH_CONFIG_GUID \ + { \ + 0x15735ef9, 0x84ac, 0x4e34, { 0x98, 0x86, 0x56, 0xee, 0xcf, 0x73, 0xec, 0x0f } \ + } + +/// +/// This PPI provides FSP-I Arch Config PPI. +/// +typedef struct { + /// + /// Revision of the structure is 1 for this version of the specification. + /// + UINT8 Revision; + UINT8 Reserved[3]; + /// + /// Pointer to the bootloader SMM firmware volume (FV). + /// + VOID *BootloaderSmmFvBaseAddress; + /// + /// The length in bytes of the bootloader SMM firmware volume (FV). + /// + UINTN BootloaderSmmFvLength; + /// + /// Pointer to the bootloader SMM FV context data. + /// This data is provided to bootloader SMM drivers through a HOB by the FSP MM Foundation. + /// + VOID *BootloaderSmmFvContextData; + /// + /// The length in bytes of the bootloader SMM FV context data. + /// This data is provided to bootloader SMM drivers through a HOB by the FSP MM Foundation. + /// + UINT16 BootloaderSmmFvContextDataLength; +} FSPI_ARCH_CONFIG_PPI; + +extern EFI_GUID gFspiArchConfigPpiGuid; + +#endif // _FSPI_ARCH_CONFIG_PPI_H_ diff --git a/IntelFsp2Pkg/IntelFsp2Pkg.dec b/IntelFsp2Pkg/IntelFsp2Pkg.dec index 8fe6b64f99..889fb783d4 100644 --- a/IntelFsp2Pkg/IntelFsp2Pkg.dec +++ b/IntelFsp2Pkg/IntelFsp2Pkg.dec @@ -1,7 +1,7 @@ ## @file # Provides driver and definitions to build fsp in EDKII bios. # -# Copyright (c) 2014 - 2022, Intel Corporation. All rights reserved.
+# Copyright (c) 2014 - 2024, Intel Corporation. All rights reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent # ## @@ -67,6 +67,10 @@ # gEdkiiPeiVariablePpiGuid = { 0xe7b2cd04, 0x4b14, 0x44c2, {0xb7, 0x48, 0xce, 0xaf, 0x2b, 0x66, 0x4a, 0xb0}} + # + # PPI for Architectural configuration data for FSP-I + # + gFspiArchConfigPpiGuid = { 0x15735ef9, 0x84ac, 0x4e34, {0x98, 0x86, 0x56, 0xee, 0xcf, 0x73, 0xec, 0x0f}} [Guids] #