WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
\r
@par Revision Reference:\r
- This PPI is defined in PI.\r
- Version 1.00.\r
+ This PPI is introduced in PI Version 1.0.\r
\r
**/\r
\r
typedef struct _EFI_SEC_PLATFORM_INFORMATION_PPI EFI_SEC_PLATFORM_INFORMATION_PPI;\r
\r
\r
-//\r
-// EFI_HEALTH_FLAGS\r
-// Contains information generated by microcode, hardware, and/or the Itanium\r
-// processor PAL code about the state of the processor upon reset.\r
-//\r
+///\r
+/// EFI_HEALTH_FLAGS\r
+/// Contains information generated by microcode, hardware, and/or the Itanium\r
+/// processor PAL code about the state of the processor upon reset.\r
+///\r
typedef union {\r
struct {\r
+ ///\r
+ /// A 2-bit field indicating self-test state after reset.\r
+ ///\r
UINT32 Status : 2;\r
+ ///\r
+ /// A 1-bit field indicating whether testing has occurred.\r
+ /// If this field is zero, the processor has not been tested,\r
+ /// and no further fields in the self-test State parameter are valid.\r
+ ///\r
UINT32 Tested : 1;\r
+ ///\r
+ /// Reserved 13 bits.\r
+ ///\r
UINT32 Reserved1 :13;\r
+ ///\r
+ /// A 1-bit field. If set to 1, indicates that virtual\r
+ /// memory features are not available.\r
+ ///\r
UINT32 VirtualMemoryUnavailable : 1;\r
+ ///\r
+ /// A 1-bit field. If set to 1, indicates that IA-32 execution\r
+ /// is not available.\r
+ ///\r
UINT32 Ia32ExecutionUnavailable : 1;\r
+ ///\r
+ /// A 1-bit field. If set to 1, indicates that the floating\r
+ /// point unit is not available.\r
+ ///\r
UINT32 FloatingPointUnavailable : 1;\r
+ ///\r
+ /// A 1-bit field. If set to 1, indicates miscellaneous\r
+ /// functional failure other than vm, ia, or fp.\r
+ /// The test status field provides additional information on\r
+ /// test failures when the State field returns a value of\r
+ /// performance restricted or functionally restricted.\r
+ /// The value returned is implementation dependent.\r
+ ///\r
UINT32 MiscFeaturesUnavailable : 1;\r
+ ///\r
+ /// Reserved 12 bits.\r
+ ///\r
UINT32 Reserved2 :12;\r
} Bits;\r
UINT32 Uint32;\r
\r
} IPF_HANDOFF_STATUS;\r
\r
-\r
+///\r
+/// EFI_SEC_PLATFORM_INFORMATION_RECORD\r
+///\r
typedef struct {\r
+ ///\r
+ /// Contains information generated by microcode, hardware,\r
+ /// and/or the Itanium processor PAL code about the state\r
+ /// of the processor upon reset.\r
+ ///\r
EFI_HEALTH_FLAGS HealthFlags;\r
} EFI_SEC_PLATFORM_INFORMATION_RECORD;\r
\r
/**\r
This interface conveys state information out of the Security (SEC) phase into PEI.\r
\r
+ This service is published by the SEC phase. The SEC phase handoff has an optional\r
+ EFI_PEI_PPI_DESCRIPTOR list as its final argument when control is passed from SEC into the\r
+ PEI Foundation. As such, if the platform supports the built-in self test (BIST) on IA-32 Intel\r
+ architecture or the PAL-A handoff state for Itanium architecture, this information is encapsulated\r
+ into the data structure abstracted by this service. This information is collected for the boot-strap\r
+ processor (BSP) on IA-32, and for Itanium architecture, it is available on all processors that execute\r
+ the PEI Foundation.\r
+\r
@param PeiServices Pointer to the PEI Services Table.\r
@param StructureSize Pointer to the variable describing size of the input buffer.\r
@param PlatformInformationRecord Pointer to the EFI_SEC_PLATFORM_INFORMATION_RECORD.\r
\r
- @retval EFI_SUCCESS The data was successfully returned.\r
- @retval EFI_BUFFER_TOO_SMALL The buffer was too small.\r
+ @retval EFI_SUCCESS The data was successfully returned.\r
+ @retval EFI_BUFFER_TOO_SMALL The buffer was too small.\r
\r
**/\r
typedef\r
);\r
\r
\r
-/**\r
- @par Ppi Description:\r
- This service abstracts platform-specific information. It is necessary \r
- to convey this information to the PEI Foundation so that it can \r
- discover where to begin dispatching PEIMs.\r
-\r
- @param PlatformInformation \r
- Conveys state information out of the SEC phase into PEI.\r
-\r
-**/\r
+///\r
+/// This service abstracts platform-specific information. It is necessary \r
+/// to convey this information to the PEI Foundation so that it can \r
+/// discover where to begin dispatching PEIMs.\r
+///\r
struct _EFI_SEC_PLATFORM_INFORMATION_PPI {\r
EFI_SEC_PLATFORM_INFORMATION PlatformInformation;\r
};\r