]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkPkg/Include/Framework/PeiCis.h
Clean the public header files to remove the unnecessary include files.
[mirror_edk2.git] / IntelFrameworkPkg / Include / Framework / PeiCis.h
index 90a1a91f434fffe23464c72e4487c94eca639f04..db0b185a1faabaa989dc97d7218108894243b165 100644 (file)
 #ifndef __PEICIS_H__\r
 #define __PEICIS_H__\r
 \r
-#include <PiPei.h>\r
 #include <Ppi/PciCfg.h>\r
+//\r
+// Framework PEI Specification Revision information\r
+//\r
+#define FRAMEWORK_PEI_SPECIFICATION_MAJOR_REVISION    0\r
+#define FRAMEWORK_PEI_SPECIFICATION_MINOR_REVISION    91\r
+\r
+\r
+//\r
+// PEI services signature and Revision defined in Framework PEI spec\r
+//\r
+#define FRAMEWORK_PEI_SERVICES_SIGNATURE               0x5652455320494550ULL\r
+#define FRAMEWORK_PEI_SERVICES_REVISION               ((FRAMEWORK_PEI_SPECIFICATION_MAJOR_REVISION<<16) | (FRAMEWORK_PEI_SPECIFICATION_MINOR_REVISION))\r
+\r
+\r
 \r
 typedef struct _FRAMEWORK_EFI_PEI_SERVICES FRAMEWORK_EFI_PEI_SERVICES;\r
 \r
@@ -156,6 +169,7 @@ struct _FRAMEWORK_EFI_PEI_SERVICES {
   EFI_PEI_COPY_MEM                  CopyMem;\r
   EFI_PEI_SET_MEM                   SetMem;\r
   //\r
+  // (the following interfaces are installed by publishing PEIM)\r
   // Status Code\r
   //\r
   EFI_PEI_REPORT_STATUS_CODE        ReportStatusCode;\r
@@ -163,14 +177,35 @@ struct _FRAMEWORK_EFI_PEI_SERVICES {
   // Reset\r
   //\r
   EFI_PEI_RESET_SYSTEM              ResetSystem;\r
-  //\r
-  // (the following interfaces are installed by publishing PEIM)\r
+  ///\r
+  /// Inconsistent with specification here: \r
+  /// In Framework Spec, PeiCis0.91, CpuIo and PciCfg is NOT pointers. \r
+  ///\r
+  \r
   //\r
   // I/O Abstractions\r
   //\r
   EFI_PEI_CPU_IO_PPI                *CpuIo;\r
   EFI_PEI_PCI_CFG_PPI               *PciCfg;\r
 };\r
+///\r
+/// Enumeration of reset types defined in Framework Spec PeiCis\r
+///\r
+typedef enum {\r
+  ///\r
+  /// Used to induce a system-wide reset. This sets all circuitry within the \r
+  /// system to its initial state.  This type of reset is asynchronous to system\r
+  /// operation and operates withgout regard to cycle boundaries.  EfiColdReset \r
+  /// is tantamount to a system power cycle.\r
+  ///\r
+  EfiPeiResetCold,\r
+  ///\r
+  /// Used to induce a system-wide initialization. The processors are set to their\r
+  /// initial state, and pending cycles are not corrupted.  If the system does \r
+  /// not support this reset type, then an EfiResetCold must be performed.\r
+  ///\r
+  EfiPeiResetWarm,\r
+} EFI_PEI_RESET_TYPE;\r
 \r
 #endif  \r
 \r