summaryrefslogtreecommitdiffstats
path: root/MdePkg/Include/Ppi/SecPlatformInformation.h
diff options
context:
space:
mode:
Diffstat (limited to 'MdePkg/Include/Ppi/SecPlatformInformation.h')
-rw-r--r--MdePkg/Include/Ppi/SecPlatformInformation.h73
1 files changed, 60 insertions, 13 deletions
diff --git a/MdePkg/Include/Ppi/SecPlatformInformation.h b/MdePkg/Include/Ppi/SecPlatformInformation.h
index fc5c366869..573939af3d 100644
--- a/MdePkg/Include/Ppi/SecPlatformInformation.h
+++ b/MdePkg/Include/Ppi/SecPlatformInformation.h
@@ -39,13 +39,47 @@ typedef struct _EFI_SEC_PLATFORM_INFORMATION_PPI EFI_SEC_PLATFORM_INFORMATION_PP
///
typedef union {
struct {
+ ///
+ /// A 2-bit field indicating self-test state after reset.
+ ///
UINT32 Status : 2;
+ ///
+ /// A 1-bit field indicating whether testing has occurred.
+ /// If this field is zero, the processor has not been tested,
+ /// and no further fields in the self-test State parameter are valid.
+ ///
UINT32 Tested : 1;
+ ///
+ /// Reserved 13 bits.
+ ///
UINT32 Reserved1 :13;
+ ///
+ /// A 1-bit field. If set to 1, indicates that virtual
+ /// memory features are not available.
+ ///
UINT32 VirtualMemoryUnavailable : 1;
+ ///
+ /// A 1-bit field. If set to 1, indicates that IA-32 execution
+ /// is not available.
+ ///
UINT32 Ia32ExecutionUnavailable : 1;
+ ///
+ /// A 1-bit field. If set to 1, indicates that the floating
+ /// point unit is not available.
+ ///
UINT32 FloatingPointUnavailable : 1;
+ ///
+ /// A 1-bit field. If set to 1, indicates miscellaneous
+ /// functional failure other than vm, ia, or fp.
+ /// The test status field provides additional information on
+ /// test failures when the State field returns a value of
+ /// performance restricted or functionally restricted.
+ /// The value returned is implementation dependent.
+ ///
UINT32 MiscFeaturesUnavailable : 1;
+ ///
+ /// Reserved 12 bits.
+ ///
UINT32 Reserved2 :12;
} Bits;
UINT32 Uint32;
@@ -74,8 +108,15 @@ typedef struct {
} IPF_HANDOFF_STATUS;
-
+///
+/// EFI_SEC_PLATFORM_INFORMATION_RECORD
+///
typedef struct {
+ ///
+ /// Contains information generated by microcode, hardware,
+ /// and/or the Itanium processor PAL code about the state
+ /// of the processor upon reset.
+ ///
EFI_HEALTH_FLAGS HealthFlags;
} EFI_SEC_PLATFORM_INFORMATION_RECORD;
@@ -84,12 +125,20 @@ typedef struct {
/**
This interface conveys state information out of the Security (SEC) phase into PEI.
+ This service is published by the SEC phase. The SEC phase handoff has an optional
+ EFI_PEI_PPI_DESCRIPTOR list as its final argument when control is passed from SEC into the
+ PEI Foundation. As such, if the platform supports the built-in self test (BIST) on IA-32 Intel
+ architecture or the PAL-A handoff state for Itanium architecture, this information is encapsulated
+ into the data structure abstracted by this service. This information is collected for the boot-strap
+ processor (BSP) on IA-32, and for Itanium architecture, it is available on all processors that execute
+ the PEI Foundation.
+
@param PeiServices Pointer to the PEI Services Table.
@param StructureSize Pointer to the variable describing size of the input buffer.
@param PlatformInformationRecord Pointer to the EFI_SEC_PLATFORM_INFORMATION_RECORD.
- @retval EFI_SUCCESS The data was successfully returned.
- @retval EFI_BUFFER_TOO_SMALL The buffer was too small.
+ @retval EFI_SUCCESS The data was successfully returned.
+ @retval EFI_BUFFER_TOO_SMALL The buffer was too small.
**/
typedef
@@ -101,17 +150,15 @@ EFI_STATUS
);
-/**
- @par Ppi Description:
- This service abstracts platform-specific information. It is necessary
- to convey this information to the PEI Foundation so that it can
- discover where to begin dispatching PEIMs.
-
- @param PlatformInformation
- Conveys state information out of the SEC phase into PEI.
-
-**/
+///
+/// This service abstracts platform-specific information. It is necessary
+/// to convey this information to the PEI Foundation so that it can
+/// discover where to begin dispatching PEIMs.
+///
struct _EFI_SEC_PLATFORM_INFORMATION_PPI {
+ ///
+ /// Conveys state information out of the SEC phase into PEI.
+ ///
EFI_SEC_PLATFORM_INFORMATION PlatformInformation;
};