to fill the gap between Framework and code to fix the bug #202405, #202419, #202418, #202435,#202437, #202439, #202440

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8817 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
jchen20
2009-07-08 09:38:08 +00:00
parent fa70a2c4cc
commit 40038403ea
3 changed files with 137 additions and 4 deletions

View File

@ -18,6 +18,24 @@
#include <PiPei.h>
#include <Ppi/PciCfg.h>
//
// Framework PEI Specification Revision information
//
#define FRAMEWORK_PEI_SPECIFICATION_MAJOR_REVISION 0
#define FRAMEWORK_PEI_SPECIFICATION_MINOR_REVISION 91
///
/// Inconsistent with specification here:
/// In Framework Spec, PeiCis0.91, FRAMEWORK_PEI_SERVICES_SIGNATURE is defined as 0x5652455320494550. But
/// to pass multiple tool chain, it is append a ULL.
///
//
// PEI services signature and Revision defined in Framework PEI spec
//
#define FRAMEWORK_PEI_SERVICES_SIGNATURE 0x5652455320494550ULL
#define FRAMEWORK_PEI_SERVICES_REVISION ((FRAMEWORK_PEI_SPECIFICATION_MAJOR_REVISION<<16) | (FRAMEWORK_PEI_SPECIFICATION_MINOR_REVISION))
typedef struct _FRAMEWORK_EFI_PEI_SERVICES FRAMEWORK_EFI_PEI_SERVICES;
@ -156,6 +174,7 @@ struct _FRAMEWORK_EFI_PEI_SERVICES {
EFI_PEI_COPY_MEM CopyMem;
EFI_PEI_SET_MEM SetMem;
//
// (the following interfaces are installed by publishing PEIM)
// Status Code
//
EFI_PEI_REPORT_STATUS_CODE ReportStatusCode;
@ -164,13 +183,29 @@ struct _FRAMEWORK_EFI_PEI_SERVICES {
//
EFI_PEI_RESET_SYSTEM ResetSystem;
//
// (the following interfaces are installed by publishing PEIM)
//
// I/O Abstractions
//
EFI_PEI_CPU_IO_PPI *CpuIo;
EFI_PEI_PCI_CFG_PPI *PciCfg;
};
///
/// Enumeration of reset types defined in Framework Spec PeiCis
///
typedef enum {
///
/// Used to induce a system-wide reset. This sets all circuitry within the
/// system to its initial state. This type of reset is asynchronous to system
/// operation and operates withgout regard to cycle boundaries. EfiColdReset
/// is tantamount to a system power cycle.
///
EfiPeiResetCold,
///
/// Used to induce a system-wide initialization. The processors are set to their
/// initial state, and pending cycles are not corrupted. If the system does
/// not support this reset type, then an EfiResetCold must be performed.
///
EfiPeiResetWarm,
} EFI_PEI_RESET_TYPE;
#endif