Refine code for MdePkg/Include/Ppi according to code review comments.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5951 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
xli24
2008-09-23 07:55:57 +00:00
parent c7c308ad48
commit 13c3803149
7 changed files with 157 additions and 168 deletions

View File

@ -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;
};