edk2-stable202005/IntelFsp2Pkg: Add FSP*_ARCH_UPD.
Introduce FSPT_ARCH_UPD and FSPS_ARCH_UPD to support debug events and multi-phase silicon initialization. For backward compatibility the original structures are kept and new ARCH_UPD structures will be included only when UPD header revision equal or greater than 2. ref: - https://bugzilla.tianocore.org/show_bug.cgi?id=2781 BUG=b:162184827 BRANCH=None TEST=Build and boot JSLRVP Cq-Depend: chrome-internal:3221772 Signed-off-by: Ronak Kanabar <ronak.kanabar@intel.com> Change-Id: I728aff1df3d361e21e4617647c4ec0e2d345a8c2 Reviewed-on: https://review.coreboot.org/c/coreboot/+/44577 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aamir Bohra <aamir.bohra@intel.com> Reviewed-by: Maulik V Vaghela <maulik.v.vaghela@intel.com>
This commit is contained in:
parent
d3a74bb4fe
commit
78546c5134
|
@ -99,12 +99,35 @@ typedef struct {
|
|||
///
|
||||
UINT64 Signature;
|
||||
///
|
||||
/// Revision of the Data structure. For FSP v2.0 value is 1.
|
||||
/// Revision of the Data structure.
|
||||
/// For FSP spec 2.0/2.1 value is 1.
|
||||
/// For FSP spec 2.2 value is 2.
|
||||
///
|
||||
UINT8 Revision;
|
||||
UINT8 Reserved[23];
|
||||
} FSP_UPD_HEADER;
|
||||
|
||||
///
|
||||
/// FSPT_ARCH_UPD Configuration.
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
/// Revision Revision of the structure is 1 for this version of the specification.
|
||||
///
|
||||
UINT8 Revision;
|
||||
UINT8 Reserved[3];
|
||||
///
|
||||
/// Length Length of the structure in bytes. The current value for this field is 32.
|
||||
///
|
||||
UINT32 Length;
|
||||
///
|
||||
/// FspDebugHandler Optional debug handler for the bootloader to receive debug messages
|
||||
/// occurring during FSP execution.
|
||||
///
|
||||
FSP_DEBUG_HANDLER FspDebugHandler;
|
||||
UINT8 Reserved1[20];
|
||||
} FSPT_ARCH_UPD;
|
||||
|
||||
///
|
||||
/// FSPM_ARCH_UPD Configuration.
|
||||
///
|
||||
|
@ -146,6 +169,32 @@ typedef struct {
|
|||
UINT8 Reserved1[4];
|
||||
} FSPM_ARCH_UPD;
|
||||
|
||||
typedef struct {
|
||||
///
|
||||
/// Revision Revision of the structure is 1 for this version of the specification.
|
||||
///
|
||||
UINT8 Revision;
|
||||
UINT8 Reserved[3];
|
||||
///
|
||||
/// Length Length of the structure in bytes. The current value for this field is 32.
|
||||
///
|
||||
UINT32 Length;
|
||||
///
|
||||
/// FspEventHandler Optional event handler for the bootloader to be informed of events
|
||||
/// occurring during FSP execution.
|
||||
///
|
||||
FSP_EVENT_HANDLER FspEventHandler;
|
||||
///
|
||||
/// A FSP binary may optionally implement multi-phase silicon initialization,
|
||||
/// This is only supported if the FspMultiPhaseSiInitEntryOffset field in FSP_INFO_HEADER
|
||||
/// is non-zero.
|
||||
/// To enable multi-phase silicon initialization, the bootloader must set
|
||||
/// EnableMultiPhaseSiliconInit to a non-zero value.
|
||||
///
|
||||
UINT8 EnableMultiPhaseSiliconInit;
|
||||
UINT8 Reserved1[19];
|
||||
} FSPS_ARCH_UPD;
|
||||
|
||||
///
|
||||
/// FSPT_UPD_COMMON Configuration.
|
||||
///
|
||||
|
@ -156,6 +205,21 @@ typedef struct {
|
|||
FSP_UPD_HEADER FspUpdHeader;
|
||||
} FSPT_UPD_COMMON;
|
||||
|
||||
///
|
||||
/// FSPT_UPD_COMMON Configuration for FSP spec. 2.2 and above.
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
/// FSP_UPD_HEADER Configuration.
|
||||
///
|
||||
FSP_UPD_HEADER FspUpdHeader;
|
||||
|
||||
///
|
||||
/// FSPT_ARCH_UPD Configuration.
|
||||
///
|
||||
FSPT_ARCH_UPD FsptArchUpd;
|
||||
} FSPT_UPD_COMMON_FSP22;
|
||||
|
||||
///
|
||||
/// FSPM_UPD_COMMON Configuration.
|
||||
///
|
||||
|
@ -180,6 +244,21 @@ typedef struct {
|
|||
FSP_UPD_HEADER FspUpdHeader;
|
||||
} FSPS_UPD_COMMON;
|
||||
|
||||
///
|
||||
/// FSPS_UPD_COMMON Configuration for FSP spec. 2.2 and above.
|
||||
///
|
||||
typedef struct {
|
||||
///
|
||||
/// FSP_UPD_HEADER Configuration.
|
||||
///
|
||||
FSP_UPD_HEADER FspUpdHeader;
|
||||
|
||||
///
|
||||
/// FSPS_ARCH_UPD Configuration.
|
||||
///
|
||||
FSPS_ARCH_UPD FspsArchUpd;
|
||||
} FSPS_UPD_COMMON_FSP22;
|
||||
|
||||
///
|
||||
/// Enumeration of FSP_INIT_PHASE for NOTIFY_PHASE.
|
||||
///
|
||||
|
|
Loading…
Reference in New Issue