XenevaOS
Loading...
Searching...
No Matches
PiPeiCis.h
Go to the documentation of this file.
1
19#ifndef __PI_PEICIS_H__
20#define __PI_PEICIS_H__
21
22#include <Uefi/UefiMultiPhase.h>
23#include <Pi/PiMultiPhase.h>
24
29
34
39
44
45
46#include <Ppi/CpuIo.h>
47#include <Ppi/PciCfg2.h>
48
49
61typedef
64 IN EFI_PEI_FILE_HANDLE FileHandle,
65 IN CONST EFI_PEI_SERVICES **PeiServices
66 );
67
78typedef
81 IN EFI_PEI_SERVICES **PeiServices,
82 IN EFI_PEI_NOTIFY_DESCRIPTOR *NotifyDescriptor,
83 IN VOID *Ppi
84 );
85
86//
87// PEI Ppi Services List Descriptors
88//
89#define EFI_PEI_PPI_DESCRIPTOR_PIC 0x00000001
90#define EFI_PEI_PPI_DESCRIPTOR_PPI 0x00000010
91#define EFI_PEI_PPI_DESCRIPTOR_NOTIFY_CALLBACK 0x00000020
92#define EFI_PEI_PPI_DESCRIPTOR_NOTIFY_DISPATCH 0x00000040
93#define EFI_PEI_PPI_DESCRIPTOR_NOTIFY_TYPES 0x00000060
94#define EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST 0x80000000
95
114
133
148
166typedef
169 IN CONST EFI_PEI_SERVICES **PeiServices,
171 );
172
191typedef
194 IN CONST EFI_PEI_SERVICES **PeiServices,
197 );
198
212typedef
215 IN CONST EFI_PEI_SERVICES **PeiServices,
216 IN CONST EFI_GUID *Guid,
218 IN OUT EFI_PEI_PPI_DESCRIPTOR **PpiDescriptor OPTIONAL,
219 IN OUT VOID **Ppi
220 );
221
237typedef
240 IN CONST EFI_PEI_SERVICES **PeiServices,
242 );
243
253typedef
256 IN CONST EFI_PEI_SERVICES **PeiServices,
257 OUT EFI_BOOT_MODE *BootMode
258 );
259
269typedef
272 IN CONST EFI_PEI_SERVICES **PeiServices,
273 IN EFI_BOOT_MODE BootMode
274 );
275
286typedef
289 IN CONST EFI_PEI_SERVICES **PeiServices,
290 OUT VOID **HobList
291 );
292
305typedef
308 IN CONST EFI_PEI_SERVICES **PeiServices,
309 IN UINT16 Type,
311 IN OUT VOID **Hob
312 );
313
333typedef
336 IN CONST EFI_PEI_SERVICES **PeiServices,
338 OUT EFI_PEI_FV_HANDLE *VolumeHandle
339 );
340
362typedef
365 IN CONST EFI_PEI_SERVICES **PeiServices,
366 IN EFI_FV_FILETYPE SearchType,
367 IN CONST EFI_PEI_FV_HANDLE FvHandle,
368 IN OUT EFI_PEI_FILE_HANDLE *FileHandle
369 );
370
390typedef
393 IN CONST EFI_PEI_SERVICES **PeiServices,
394 IN EFI_SECTION_TYPE SectionType,
395 IN EFI_PEI_FILE_HANDLE FileHandle,
396 OUT VOID **SectionData
397 );
398
420typedef
423 IN CONST EFI_PEI_SERVICES **PeiServices,
424 IN EFI_SECTION_TYPE SectionType,
425 IN UINTN SectionInstance,
426 IN EFI_PEI_FILE_HANDLE FileHandle,
427 OUT VOID **SectionData,
428 OUT UINT32 *AuthenticationStatus
429 );
430
443typedef
446 IN CONST EFI_PEI_SERVICES **PeiServices,
447 IN EFI_PHYSICAL_ADDRESS MemoryBegin,
448 IN UINT64 MemoryLength
449 );
450
473typedef
476 IN CONST EFI_PEI_SERVICES **PeiServices,
477 IN EFI_MEMORY_TYPE MemoryType,
478 IN UINTN Pages,
480 );
481
495typedef
498 IN CONST EFI_PEI_SERVICES **PeiServices,
500 IN UINTN Pages
501 );
502
515typedef
518 IN CONST EFI_PEI_SERVICES **PeiServices,
519 IN UINTN Size,
520 OUT VOID **Buffer
521 );
522
531typedef
534 IN VOID *Destination,
535 IN VOID *Source,
537 );
538
547typedef
550 IN VOID *Buffer,
551 IN UINTN Size,
552 IN UINT8 Value
553 );
554
584typedef
587 IN CONST EFI_PEI_SERVICES **PeiServices,
591 IN CONST EFI_GUID *CallerId OPTIONAL,
593 );
594
608typedef
611 IN CONST EFI_PEI_SERVICES **PeiServices
612 );
613
629typedef
632 IN EFI_RESET_TYPE ResetType,
633 IN EFI_STATUS ResetStatus,
634 IN UINTN DataSize,
635 IN VOID *ResetData OPTIONAL
636 );
637
658typedef
661 IN CONST EFI_GUID *FileName,
662 IN EFI_PEI_FV_HANDLE VolumeHandle,
663 OUT EFI_PEI_FILE_HANDLE *FileHandle
664 );
665
693
725
744typedef
747 IN EFI_PEI_FILE_HANDLE FileHandle,
748 OUT EFI_FV_FILE_INFO *FileInfo
749 );
750
768typedef
771 IN EFI_PEI_FILE_HANDLE FileHandle,
772 OUT EFI_FV_FILE_INFO2 *FileInfo
773 );
774
802
820typedef
823 IN EFI_PEI_FV_HANDLE VolumeHandle,
824 OUT EFI_FV_INFO *VolumeInfo
825 );
826
851typedef
854 IN EFI_PEI_FILE_HANDLE FileHandle
855 );
856
857
858//
859// PEI Specification Revision information
860//
861#define PEI_SPECIFICATION_MAJOR_REVISION 1
862#define PEI_SPECIFICATION_MINOR_REVISION 60
868//
869// PEI Services Table
870//
871#define PEI_SERVICES_SIGNATURE 0x5652455320494550ULL
878#define PEI_SERVICES_REVISION ((PEI_SPECIFICATION_MAJOR_REVISION<<16) | (PEI_SPECIFICATION_MINOR_REVISION))
879
894
895 //
896 // PPI Functions
897 //
902
903 //
904 // Boot Mode Functions
905 //
908
909 //
910 // HOB Functions
911 //
914
915 //
916 // Firmware Volume Functions
917 //
921
922 //
923 // PEI Memory Functions
924 //
930
931 //
932 // Status Code
933 //
935
936 //
937 // Reset
938 //
940
941 //
942 // (the following interfaces are installed by publishing PEIM)
943 // I/O Abstractions
944 //
947
948 //
949 // Future Installed Services
950 //
959};
960
961
1025
1026
1063typedef
1066 IN CONST EFI_SEC_PEI_HAND_OFF *SecCoreData,
1068);
1069
1070#endif
UINT64 UINTN
Definition ProcessorBind.h:118
#define EFIAPI
Definition ProcessorBind.h:172
unsigned int UINT32
Definition ProcessorBind.h:102
#define CONST
Definition Base.h:327
#define IN
Definition Base.h:347
#define OUT
Definition Base.h:352
#define OPTIONAL
Definition Base.h:358
uint32_t Size
Definition pe.h:1
UINT32 EFI_BOOT_MODE
Definition PiBootMode.h:24
UINT8 EFI_SECTION_TYPE
Definition PiFirmwareFile.h:194
UINT8 EFI_FV_FILETYPE
Definition PiFirmwareFile.h:57
UINT32 EFI_FV_FILE_ATTRIBUTES
Definition PiFirmwareVolume.h:24
UINT32 EFI_FVB_ATTRIBUTES_2
Definition PiFirmwareVolume.h:36
VOID(EFIAPI * EFI_PEI_RESET2_SYSTEM)(IN EFI_RESET_TYPE ResetType, IN EFI_STATUS ResetStatus, IN UINTN DataSize, IN VOID *ResetData OPTIONAL)
Definition PiPeiCis.h:631
EFI_STATUS(EFIAPI * EFI_PEI_ALLOCATE_POOL)(IN CONST EFI_PEI_SERVICES **PeiServices, IN UINTN Size, OUT VOID **Buffer)
Definition PiPeiCis.h:517
EFI_STATUS(EFIAPI * EFI_PEI_INSTALL_PEI_MEMORY)(IN CONST EFI_PEI_SERVICES **PeiServices, IN EFI_PHYSICAL_ADDRESS MemoryBegin, IN UINT64 MemoryLength)
Definition PiPeiCis.h:445
VOID(EFIAPI * EFI_PEI_COPY_MEM)(IN VOID *Destination, IN VOID *Source, IN UINTN Length)
Definition PiPeiCis.h:533
EFI_STATUS(EFIAPI * EFI_PEI_CREATE_HOB)(IN CONST EFI_PEI_SERVICES **PeiServices, IN UINT16 Type, IN UINT16 Length, IN OUT VOID **Hob)
Definition PiPeiCis.h:307
EFI_STATUS(EFIAPI * EFI_PEI_FFS_FIND_SECTION_DATA2)(IN CONST EFI_PEI_SERVICES **PeiServices, IN EFI_SECTION_TYPE SectionType, IN EFI_PEI_FILE_HANDLE FileHandle, OUT VOID **SectionData)
Definition PiPeiCis.h:392
EFI_STATUS(EFIAPI * EFI_PEI_FREE_PAGES)(IN CONST EFI_PEI_SERVICES **PeiServices, IN EFI_PHYSICAL_ADDRESS Memory, IN UINTN Pages)
Definition PiPeiCis.h:497
EFI_STATUS(EFIAPI * EFI_PEI_REPORT_STATUS_CODE)(IN CONST EFI_PEI_SERVICES **PeiServices, IN EFI_STATUS_CODE_TYPE Type, IN EFI_STATUS_CODE_VALUE Value, IN UINT32 Instance, IN CONST EFI_GUID *CallerId OPTIONAL, IN CONST EFI_STATUS_CODE_DATA *Data OPTIONAL)
Definition PiPeiCis.h:586
EFI_STATUS(EFIAPI * EFI_PEI_NOTIFY_PPI)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_NOTIFY_DESCRIPTOR *NotifyList)
Definition PiPeiCis.h:239
EFI_STATUS(EFIAPI * EFI_PEI_REGISTER_FOR_SHADOW)(IN EFI_PEI_FILE_HANDLE FileHandle)
Definition PiPeiCis.h:853
EFI_STATUS(EFIAPI * EFI_PEIM_ENTRY_POINT2)(IN EFI_PEI_FILE_HANDLE FileHandle, IN CONST EFI_PEI_SERVICES **PeiServices)
Definition PiPeiCis.h:63
EFI_STATUS(EFIAPI * EFI_PEI_FFS_GET_FILE_INFO2)(IN EFI_PEI_FILE_HANDLE FileHandle, OUT EFI_FV_FILE_INFO2 *FileInfo)
Definition PiPeiCis.h:770
EFI_STATUS(EFIAPI * EFI_PEI_GET_HOB_LIST)(IN CONST EFI_PEI_SERVICES **PeiServices, OUT VOID **HobList)
Definition PiPeiCis.h:288
EFI_STATUS(EFIAPI * EFI_PEI_FFS_FIND_BY_NAME)(IN CONST EFI_GUID *FileName, IN EFI_PEI_FV_HANDLE VolumeHandle, OUT EFI_PEI_FILE_HANDLE *FileHandle)
Definition PiPeiCis.h:660
EFI_STATUS(EFIAPI * EFI_PEI_INSTALL_PPI)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_PPI_DESCRIPTOR *PpiList)
Definition PiPeiCis.h:168
EFI_STATUS(EFIAPI * EFI_PEI_LOCATE_PPI)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_GUID *Guid, IN UINTN Instance, IN OUT EFI_PEI_PPI_DESCRIPTOR **PpiDescriptor OPTIONAL, IN OUT VOID **Ppi)
Definition PiPeiCis.h:214
EFI_STATUS(EFIAPI * EFI_PEI_REINSTALL_PPI)(IN CONST EFI_PEI_SERVICES **PeiServices, IN CONST EFI_PEI_PPI_DESCRIPTOR *OldPpi, IN CONST EFI_PEI_PPI_DESCRIPTOR *NewPpi)
Definition PiPeiCis.h:193
VOID * EFI_PEI_FILE_HANDLE
Definition PiPeiCis.h:33
EFI_STATUS(EFIAPI * EFI_PEI_FFS_FIND_NEXT_FILE2)(IN CONST EFI_PEI_SERVICES **PeiServices, IN EFI_FV_FILETYPE SearchType, IN CONST EFI_PEI_FV_HANDLE FvHandle, IN OUT EFI_PEI_FILE_HANDLE *FileHandle)
Definition PiPeiCis.h:364
EFI_STATUS(EFIAPI * EFI_PEIM_NOTIFY_ENTRY_POINT)(IN EFI_PEI_SERVICES **PeiServices, IN EFI_PEI_NOTIFY_DESCRIPTOR *NotifyDescriptor, IN VOID *Ppi)
Definition PiPeiCis.h:80
VOID * EFI_PEI_FV_HANDLE
Definition PiPeiCis.h:28
VOID(EFIAPI * EFI_PEI_SET_MEM)(IN VOID *Buffer, IN UINTN Size, IN UINT8 Value)
Definition PiPeiCis.h:549
EFI_STATUS(EFIAPI * EFI_PEI_FFS_GET_VOLUME_INFO)(IN EFI_PEI_FV_HANDLE VolumeHandle, OUT EFI_FV_INFO *VolumeInfo)
Definition PiPeiCis.h:822
EFI_STATUS(EFIAPI * EFI_PEI_FFS_FIND_NEXT_VOLUME2)(IN CONST EFI_PEI_SERVICES **PeiServices, IN UINTN Instance, OUT EFI_PEI_FV_HANDLE *VolumeHandle)
Definition PiPeiCis.h:335
EFI_STATUS(EFIAPI * EFI_PEI_ALLOCATE_PAGES)(IN CONST EFI_PEI_SERVICES **PeiServices, IN EFI_MEMORY_TYPE MemoryType, IN UINTN Pages, OUT EFI_PHYSICAL_ADDRESS *Memory)
Definition PiPeiCis.h:475
EFI_STATUS(EFIAPI * EFI_PEI_FFS_FIND_SECTION_DATA3)(IN CONST EFI_PEI_SERVICES **PeiServices, IN EFI_SECTION_TYPE SectionType, IN UINTN SectionInstance, IN EFI_PEI_FILE_HANDLE FileHandle, OUT VOID **SectionData, OUT UINT32 *AuthenticationStatus)
Definition PiPeiCis.h:422
EFI_STATUS(EFIAPI * EFI_PEI_SET_BOOT_MODE)(IN CONST EFI_PEI_SERVICES **PeiServices, IN EFI_BOOT_MODE BootMode)
Definition PiPeiCis.h:271
VOID(EFIAPI * EFI_PEI_CORE_ENTRY_POINT)(IN CONST EFI_SEC_PEI_HAND_OFF *SecCoreData, IN CONST EFI_PEI_PPI_DESCRIPTOR *PpiList)
Definition PiPeiCis.h:1065
EFI_STATUS(EFIAPI * EFI_PEI_RESET_SYSTEM)(IN CONST EFI_PEI_SERVICES **PeiServices)
Definition PiPeiCis.h:610
EFI_STATUS(EFIAPI * EFI_PEI_FFS_GET_FILE_INFO)(IN EFI_PEI_FILE_HANDLE FileHandle, OUT EFI_FV_FILE_INFO *FileInfo)
Definition PiPeiCis.h:746
struct _EFI_SEC_PEI_HAND_OFF EFI_SEC_PEI_HAND_OFF
EFI_STATUS(EFIAPI * EFI_PEI_GET_BOOT_MODE)(IN CONST EFI_PEI_SERVICES **PeiServices, OUT EFI_BOOT_MODE *BootMode)
Definition PiPeiCis.h:255
UINT32 EFI_STATUS_CODE_VALUE
Definition PiStatusCode.h:73
UINT32 EFI_STATUS_CODE_TYPE
Definition PiStatusCode.h:30
UINT64 EFI_PHYSICAL_ADDRESS
Definition UefiBaseType.h:54
RETURN_STATUS EFI_STATUS
Definition UefiBaseType.h:33
EFI_MEMORY_TYPE
Definition UefiMultiPhase.h:44
EFI_RESET_TYPE
Definition UefiMultiPhase.h:118
#define VOID
Definition acefi.h:190
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical UINT32 Instance
Definition acpixf.h:691
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn BOOLEAN Physical UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE ACPI_HANDLE ACPI_HANDLE *OutHandle ACPI_HANDLE *OutHandle void *Context void *Context ACPI_EVENT_HANDLER Handler UINT32 UINT32 Type
Definition acpixf.h:894
ACPI_PHYSICAL_ADDRESS ACPI_SIZE Length
Definition acpixf.h:638
unsigned short UINT16
Definition actypes.h:237
unsigned char UINT8
Definition actypes.h:236
COMPILER_DEPENDENT_UINT64 UINT64
Definition actypes.h:239
Definition PiPeiCis.h:697
UINT32 BufferSize
Definition PiPeiCis.h:719
UINT32 AuthenticationStatus
Definition PiPeiCis.h:723
EFI_GUID FileName
Definition PiPeiCis.h:701
VOID * Buffer
Definition PiPeiCis.h:715
EFI_FV_FILETYPE FileType
Definition PiPeiCis.h:705
EFI_FV_FILE_ATTRIBUTES FileAttributes
Definition PiPeiCis.h:709
Definition PiPeiCis.h:669
VOID * Buffer
Definition PiPeiCis.h:687
EFI_GUID FileName
Definition PiPeiCis.h:673
EFI_FV_FILE_ATTRIBUTES FileAttributes
Definition PiPeiCis.h:681
UINT32 BufferSize
Definition PiPeiCis.h:691
EFI_FV_FILETYPE FileType
Definition PiPeiCis.h:677
Definition PiPeiCis.h:778
EFI_GUID FvFormat
Definition PiPeiCis.h:786
UINT64 FvSize
Definition PiPeiCis.h:800
EFI_GUID FvName
Definition PiPeiCis.h:790
EFI_FVB_ATTRIBUTES_2 FvAttributes
Definition PiPeiCis.h:782
VOID * FvStart
Definition PiPeiCis.h:796
Definition PiPeiCis.h:99
VOID * Ppi
Definition PiPeiCis.h:112
EFI_GUID * Guid
Definition PiPeiCis.h:108
UINTN Flags
Definition PiPeiCis.h:104
Definition PiStatusCode.h:90
Definition UefiMultiPhase.h:151
Definition Base.h:281
Definition CpuIo.h:395
Definition PiPeiCis.h:119
UINTN Flags
Definition PiPeiCis.h:123
EFI_GUID * Guid
Definition PiPeiCis.h:127
EFI_PEIM_NOTIFY_ENTRY_POINT Notify
Definition PiPeiCis.h:131
Definition PciCfg2.h:171
Definition PiPeiCis.h:889
EFI_PEI_FFS_FIND_SECTION_DATA2 FfsFindSectionData
Definition PiPeiCis.h:920
EFI_PEI_CREATE_HOB CreateHob
Definition PiPeiCis.h:913
EFI_PEI_NOTIFY_PPI NotifyPpi
Definition PiPeiCis.h:901
EFI_PEI_SET_MEM SetMem
Definition PiPeiCis.h:929
EFI_PEI_REINSTALL_PPI ReInstallPpi
Definition PiPeiCis.h:899
EFI_PEI_RESET_SYSTEM ResetSystem
Definition PiPeiCis.h:939
EFI_PEI_PCI_CFG2_PPI * PciCfg
Definition PiPeiCis.h:946
EFI_PEI_FREE_PAGES FreePages
Definition PiPeiCis.h:958
EFI_TABLE_HEADER Hdr
Definition PiPeiCis.h:893
EFI_PEI_LOCATE_PPI LocatePpi
Definition PiPeiCis.h:900
EFI_PEI_FFS_GET_FILE_INFO2 FfsGetFileInfo2
Definition PiPeiCis.h:956
EFI_PEI_FFS_FIND_SECTION_DATA3 FindSectionData3
Definition PiPeiCis.h:955
EFI_PEI_FFS_FIND_NEXT_VOLUME2 FfsFindNextVolume
Definition PiPeiCis.h:918
EFI_PEI_INSTALL_PPI InstallPpi
Definition PiPeiCis.h:898
EFI_PEI_FFS_GET_FILE_INFO FfsGetFileInfo
Definition PiPeiCis.h:952
EFI_PEI_REGISTER_FOR_SHADOW RegisterForShadow
Definition PiPeiCis.h:954
EFI_PEI_RESET2_SYSTEM ResetSystem2
Definition PiPeiCis.h:957
EFI_PEI_GET_HOB_LIST GetHobList
Definition PiPeiCis.h:912
EFI_PEI_FFS_FIND_BY_NAME FfsFindFileByName
Definition PiPeiCis.h:951
EFI_PEI_FFS_FIND_NEXT_FILE2 FfsFindNextFile
Definition PiPeiCis.h:919
EFI_PEI_SET_BOOT_MODE SetBootMode
Definition PiPeiCis.h:907
EFI_PEI_GET_BOOT_MODE GetBootMode
Definition PiPeiCis.h:906
EFI_PEI_COPY_MEM CopyMem
Definition PiPeiCis.h:928
EFI_PEI_ALLOCATE_POOL AllocatePool
Definition PiPeiCis.h:927
EFI_PEI_REPORT_STATUS_CODE ReportStatusCode
Definition PiPeiCis.h:934
EFI_PEI_CPU_IO_PPI * CpuIo
Definition PiPeiCis.h:945
EFI_PEI_INSTALL_PEI_MEMORY InstallPeiMemory
Definition PiPeiCis.h:925
EFI_PEI_ALLOCATE_PAGES AllocatePages
Definition PiPeiCis.h:926
EFI_PEI_FFS_GET_VOLUME_INFO FfsGetVolumeInfo
Definition PiPeiCis.h:953
Definition PiPeiCis.h:967
VOID * StackBase
Definition PiPeiCis.h:1018
UINTN TemporaryRamSize
Definition PiPeiCis.h:993
UINTN PeiTemporaryRamSize
Definition PiPeiCis.h:1010
VOID * BootFirmwareVolumeBase
Definition PiPeiCis.h:978
UINTN StackSize
Definition PiPeiCis.h:1023
UINT16 DataSize
Definition PiPeiCis.h:971
UINTN BootFirmwareVolumeSize
Definition PiPeiCis.h:983
VOID * TemporaryRamBase
Definition PiPeiCis.h:988
VOID * PeiTemporaryRamBase
Definition PiPeiCis.h:1004
Definition PiPeiCis.h:138
EFI_PEI_PPI_DESCRIPTOR Ppi
Definition PiPeiCis.h:146
EFI_PEI_NOTIFY_DESCRIPTOR Notify
Definition PiPeiCis.h:142