TianoCore EDK2 master
Loading...
Searching...
No Matches
PiDxeCis.h
Go to the documentation of this file.
1
12#ifndef __PI_DXECIS_H__
13#define __PI_DXECIS_H__
14
15#include <Uefi/UefiMultiPhase.h>
16#include <Pi/PiMultiPhase.h>
17
21typedef enum {
50 //
51 // Keep original one for the compatibility.
52 //
53 EfiGcdMemoryTypePersistentMemory = EfiGcdMemoryTypePersistent,
64 EfiGcdMemoryTypeMaximum = 7
66
70typedef enum {
86 EfiGcdIoTypeMaximum
88
92typedef enum {
118 EfiGcdMaxAllocateType
120
124typedef struct {
131
135 UINT64 Length;
136
153
161
171
175typedef struct {
182
186 UINT64 Length;
187
193
201
211
243typedef
245(EFIAPI *EFI_ADD_MEMORY_SPACE)(
246 IN EFI_GCD_MEMORY_TYPE GcdMemoryType,
247 IN EFI_PHYSICAL_ADDRESS BaseAddress,
248 IN UINT64 Length,
249 IN UINT64 Capabilities
250 );
251
282typedef
285 IN EFI_GCD_ALLOCATE_TYPE GcdAllocateType,
286 IN EFI_GCD_MEMORY_TYPE GcdMemoryType,
287 IN UINTN Alignment,
288 IN UINT64 Length,
289 IN OUT EFI_PHYSICAL_ADDRESS *BaseAddress,
290 IN EFI_HANDLE ImageHandle,
291 IN EFI_HANDLE DeviceHandle OPTIONAL
292 );
293
312typedef
314(EFIAPI *EFI_FREE_MEMORY_SPACE)(
315 IN EFI_PHYSICAL_ADDRESS BaseAddress,
316 IN UINT64 Length
317 );
318
340typedef
343 IN EFI_PHYSICAL_ADDRESS BaseAddress,
344 IN UINT64 Length
345 );
346
359typedef
362 IN EFI_PHYSICAL_ADDRESS BaseAddress,
364 );
365
387typedef
390 IN EFI_PHYSICAL_ADDRESS BaseAddress,
391 IN UINT64 Length,
392 IN UINT64 Attributes
393 );
394
412typedef
415 IN EFI_PHYSICAL_ADDRESS BaseAddress,
416 IN UINT64 Length,
417 IN UINT64 Capabilities
418 );
419
435typedef
438 OUT UINTN *NumberOfDescriptors,
439 OUT EFI_GCD_MEMORY_SPACE_DESCRIPTOR **MemorySpaceMap
440 );
441
466typedef
468(EFIAPI *EFI_ADD_IO_SPACE)(
469 IN EFI_GCD_IO_TYPE GcdIoType,
470 IN EFI_PHYSICAL_ADDRESS BaseAddress,
471 IN UINT64 Length
472 );
473
498typedef
500(EFIAPI *EFI_ALLOCATE_IO_SPACE)(
501 IN EFI_GCD_ALLOCATE_TYPE GcdAllocateType,
502 IN EFI_GCD_IO_TYPE GcdIoType,
503 IN UINTN Alignment,
504 IN UINT64 Length,
505 IN OUT EFI_PHYSICAL_ADDRESS *BaseAddress,
506 IN EFI_HANDLE ImageHandle,
507 IN EFI_HANDLE DeviceHandle OPTIONAL
508 );
509
528typedef
530(EFIAPI *EFI_FREE_IO_SPACE)(
531 IN EFI_PHYSICAL_ADDRESS BaseAddress,
532 IN UINT64 Length
533 );
534
558typedef
560(EFIAPI *EFI_REMOVE_IO_SPACE)(
561 IN EFI_PHYSICAL_ADDRESS BaseAddress,
562 IN UINT64 Length
563 );
564
577typedef
580 IN EFI_PHYSICAL_ADDRESS BaseAddress,
582 );
583
599typedef
601(EFIAPI *EFI_GET_IO_SPACE_MAP)(
602 OUT UINTN *NumberOfDescriptors,
604 );
605
622typedef
624(EFIAPI *EFI_DISPATCH)(
625 VOID
626 );
627
639typedef
641(EFIAPI *EFI_SCHEDULE)(
642 IN EFI_HANDLE FirmwareVolumeHandle,
643 IN CONST EFI_GUID *FileName
644 );
645
657typedef
659(EFIAPI *EFI_TRUST)(
660 IN EFI_HANDLE FirmwareVolumeHandle,
661 IN CONST EFI_GUID *FileName
662 );
663
682typedef
685 IN CONST VOID *FirmwareVolumeHeader,
686 IN UINTN Size,
687 OUT EFI_HANDLE *FirmwareVolumeHandle
688 );
689
690//
691// DXE Services Table
692//
693#define DXE_SERVICES_SIGNATURE 0x565245535f455844ULL
694#define DXE_SPECIFICATION_MAJOR_REVISION PI_SPECIFICATION_MAJOR_REVISION
695#define DXE_SPECIFICATION_MINOR_REVISION PI_SPECIFICATION_MINOR_REVISION
696#define DXE_SERVICES_REVISION ((DXE_SPECIFICATION_MAJOR_REVISION<<16) | (DXE_SPECIFICATION_MINOR_REVISION))
697
698typedef struct {
704
705 //
706 // Global Coherency Domain Services
707 //
708 EFI_ADD_MEMORY_SPACE AddMemorySpace;
709 EFI_ALLOCATE_MEMORY_SPACE AllocateMemorySpace;
710 EFI_FREE_MEMORY_SPACE FreeMemorySpace;
711 EFI_REMOVE_MEMORY_SPACE RemoveMemorySpace;
712 EFI_GET_MEMORY_SPACE_DESCRIPTOR GetMemorySpaceDescriptor;
713 EFI_SET_MEMORY_SPACE_ATTRIBUTES SetMemorySpaceAttributes;
714 EFI_GET_MEMORY_SPACE_MAP GetMemorySpaceMap;
716 EFI_ALLOCATE_IO_SPACE AllocateIoSpace;
717 EFI_FREE_IO_SPACE FreeIoSpace;
718 EFI_REMOVE_IO_SPACE RemoveIoSpace;
719 EFI_GET_IO_SPACE_DESCRIPTOR GetIoSpaceDescriptor;
720 EFI_GET_IO_SPACE_MAP GetIoSpaceMap;
721
722 //
723 // Dispatcher Services
724 //
725 EFI_DISPATCH Dispatch;
726 EFI_SCHEDULE Schedule;
727 EFI_TRUST Trust;
728 //
729 // Service to process a single firmware volume found in a capsule
730 //
731 EFI_PROCESS_FIRMWARE_VOLUME ProcessFirmwareVolume;
732 //
733 // Extensions to Global Coherency Domain Services
734 //
735 EFI_SET_MEMORY_SPACE_CAPABILITIES SetMemorySpaceCapabilities;
737
739
740#endif
UINT64 UINTN
#define CONST
Definition: Base.h:259
#define OPTIONAL
Definition: Base.h:290
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
EFI_STATUS AddIoSpace(IN UINT64 Base, IN UINT64 Length)
EFI_STATUS(EFIAPI * EFI_SET_MEMORY_SPACE_CAPABILITIES)(IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length, IN UINT64 Capabilities)
Definition: PiDxeCis.h:414
EFI_STATUS(EFIAPI * EFI_SCHEDULE)(IN EFI_HANDLE FirmwareVolumeHandle, IN CONST EFI_GUID *FileName)
Definition: PiDxeCis.h:641
EFI_STATUS(EFIAPI * EFI_FREE_IO_SPACE)(IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length)
Definition: PiDxeCis.h:530
EFI_STATUS(EFIAPI * EFI_GET_MEMORY_SPACE_MAP)(OUT UINTN *NumberOfDescriptors, OUT EFI_GCD_MEMORY_SPACE_DESCRIPTOR **MemorySpaceMap)
Definition: PiDxeCis.h:437
EFI_GCD_MEMORY_TYPE
Definition: PiDxeCis.h:21
@ EfiGcdMemoryTypeReserved
Definition: PiDxeCis.h:32
@ EfiGcdMemoryTypeNonExistent
Definition: PiDxeCis.h:26
@ EfiGcdMemoryTypePersistent
Definition: PiDxeCis.h:49
@ EfiGcdMemoryTypeMoreReliable
Definition: PiDxeCis.h:58
@ EfiGcdMemoryTypeUnaccepted
Definition: PiDxeCis.h:63
@ EfiGcdMemoryTypeSystemMemory
Definition: PiDxeCis.h:38
@ EfiGcdMemoryTypeMemoryMappedIo
Definition: PiDxeCis.h:44
EFI_STATUS(EFIAPI * EFI_PROCESS_FIRMWARE_VOLUME)(IN CONST VOID *FirmwareVolumeHeader, IN UINTN Size, OUT EFI_HANDLE *FirmwareVolumeHandle)
Definition: PiDxeCis.h:684
EFI_GCD_ALLOCATE_TYPE
Definition: PiDxeCis.h:92
@ EfiGcdAllocateMaxAddressSearchBottomUp
Definition: PiDxeCis.h:102
@ EfiGcdAllocateMaxAddressSearchTopDown
Definition: PiDxeCis.h:117
@ EfiGcdAllocateAnySearchTopDown
Definition: PiDxeCis.h:112
@ EfiGcdAllocateAddress
Definition: PiDxeCis.h:107
@ EfiGcdAllocateAnySearchBottomUp
Definition: PiDxeCis.h:97
EFI_STATUS(EFIAPI * EFI_SET_MEMORY_SPACE_ATTRIBUTES)(IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length, IN UINT64 Attributes)
Definition: PiDxeCis.h:389
EFI_STATUS(EFIAPI * EFI_ADD_MEMORY_SPACE)(IN EFI_GCD_MEMORY_TYPE GcdMemoryType, IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length, IN UINT64 Capabilities)
Definition: PiDxeCis.h:245
EFI_STATUS(EFIAPI * EFI_REMOVE_IO_SPACE)(IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length)
Definition: PiDxeCis.h:560
EFI_GCD_IO_TYPE
Definition: PiDxeCis.h:70
@ EfiGcdIoTypeNonExistent
Definition: PiDxeCis.h:75
@ EfiGcdIoTypeReserved
Definition: PiDxeCis.h:80
@ EfiGcdIoTypeIo
Definition: PiDxeCis.h:85
EFI_STATUS(EFIAPI * EFI_GET_IO_SPACE_MAP)(OUT UINTN *NumberOfDescriptors, OUT EFI_GCD_IO_SPACE_DESCRIPTOR **IoSpaceMap)
Definition: PiDxeCis.h:601
EFI_STATUS(EFIAPI * EFI_DISPATCH)(VOID)
Definition: PiDxeCis.h:624
EFI_STATUS(EFIAPI * EFI_FREE_MEMORY_SPACE)(IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length)
Definition: PiDxeCis.h:314
EFI_STATUS(EFIAPI * EFI_REMOVE_MEMORY_SPACE)(IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length)
Definition: PiDxeCis.h:342
EFI_STATUS(EFIAPI * EFI_ALLOCATE_MEMORY_SPACE)(IN EFI_GCD_ALLOCATE_TYPE GcdAllocateType, IN EFI_GCD_MEMORY_TYPE GcdMemoryType, IN UINTN Alignment, IN UINT64 Length, IN OUT EFI_PHYSICAL_ADDRESS *BaseAddress, IN EFI_HANDLE ImageHandle, IN EFI_HANDLE DeviceHandle OPTIONAL)
Definition: PiDxeCis.h:284
EFI_STATUS(EFIAPI * EFI_TRUST)(IN EFI_HANDLE FirmwareVolumeHandle, IN CONST EFI_GUID *FileName)
Definition: PiDxeCis.h:659
EFI_STATUS(EFIAPI * EFI_ALLOCATE_IO_SPACE)(IN EFI_GCD_ALLOCATE_TYPE GcdAllocateType, IN EFI_GCD_IO_TYPE GcdIoType, IN UINTN Alignment, IN UINT64 Length, IN OUT EFI_PHYSICAL_ADDRESS *BaseAddress, IN EFI_HANDLE ImageHandle, IN EFI_HANDLE DeviceHandle OPTIONAL)
Definition: PiDxeCis.h:500
EFI_STATUS(EFIAPI * EFI_ADD_IO_SPACE)(IN EFI_GCD_IO_TYPE GcdIoType, IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length)
Definition: PiDxeCis.h:468
EFI_STATUS(EFIAPI * EFI_GET_IO_SPACE_DESCRIPTOR)(IN EFI_PHYSICAL_ADDRESS BaseAddress, OUT EFI_GCD_IO_SPACE_DESCRIPTOR *Descriptor)
Definition: PiDxeCis.h:579
EFI_STATUS(EFIAPI * EFI_GET_MEMORY_SPACE_DESCRIPTOR)(IN EFI_PHYSICAL_ADDRESS BaseAddress, OUT EFI_GCD_MEMORY_SPACE_DESCRIPTOR *Descriptor)
Definition: PiDxeCis.h:361
UINT64 EFI_PHYSICAL_ADDRESS
Definition: UefiBaseType.h:50
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
VOID * EFI_HANDLE
Definition: UefiBaseType.h:33
EFI_TABLE_HEADER Hdr
Definition: PiDxeCis.h:703
EFI_PHYSICAL_ADDRESS BaseAddress
Definition: PiDxeCis.h:181
EFI_GCD_IO_TYPE GcdIoType
Definition: PiDxeCis.h:192
EFI_GCD_MEMORY_TYPE GcdMemoryType
Definition: PiDxeCis.h:152
EFI_PHYSICAL_ADDRESS BaseAddress
Definition: PiDxeCis.h:130
Definition: Base.h:213