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,
59 // ///
60 // /// A memory region that describes system memory that has not been accepted
61 // /// by a corresponding call to the underlying isolation architecture.
62 // ///
63 // /// Please be noted:
64 // /// EfiGcdMemoryTypeUnaccepted is defined in PrePiDxeCis.h because it has not been
65 // /// defined in PI spec.
66 // EfiGcdMemoryTypeUnaccepted,
67 EfiGcdMemoryTypeMaximum = 7
69
73typedef enum {
89 EfiGcdIoTypeMaximum
91
95typedef enum {
121 EfiGcdMaxAllocateType
123
127typedef struct {
134
138 UINT64 Length;
139
156
164
174
178typedef struct {
185
189 UINT64 Length;
190
196
204
214
246typedef
248(EFIAPI *EFI_ADD_MEMORY_SPACE)(
249 IN EFI_GCD_MEMORY_TYPE GcdMemoryType,
250 IN EFI_PHYSICAL_ADDRESS BaseAddress,
251 IN UINT64 Length,
252 IN UINT64 Capabilities
253 );
254
285typedef
288 IN EFI_GCD_ALLOCATE_TYPE GcdAllocateType,
289 IN EFI_GCD_MEMORY_TYPE GcdMemoryType,
290 IN UINTN Alignment,
291 IN UINT64 Length,
292 IN OUT EFI_PHYSICAL_ADDRESS *BaseAddress,
293 IN EFI_HANDLE ImageHandle,
294 IN EFI_HANDLE DeviceHandle OPTIONAL
295 );
296
315typedef
317(EFIAPI *EFI_FREE_MEMORY_SPACE)(
318 IN EFI_PHYSICAL_ADDRESS BaseAddress,
319 IN UINT64 Length
320 );
321
343typedef
346 IN EFI_PHYSICAL_ADDRESS BaseAddress,
347 IN UINT64 Length
348 );
349
362typedef
365 IN EFI_PHYSICAL_ADDRESS BaseAddress,
367 );
368
390typedef
393 IN EFI_PHYSICAL_ADDRESS BaseAddress,
394 IN UINT64 Length,
395 IN UINT64 Attributes
396 );
397
415typedef
418 IN EFI_PHYSICAL_ADDRESS BaseAddress,
419 IN UINT64 Length,
420 IN UINT64 Capabilities
421 );
422
438typedef
441 OUT UINTN *NumberOfDescriptors,
442 OUT EFI_GCD_MEMORY_SPACE_DESCRIPTOR **MemorySpaceMap
443 );
444
469typedef
471(EFIAPI *EFI_ADD_IO_SPACE)(
472 IN EFI_GCD_IO_TYPE GcdIoType,
473 IN EFI_PHYSICAL_ADDRESS BaseAddress,
474 IN UINT64 Length
475 );
476
501typedef
503(EFIAPI *EFI_ALLOCATE_IO_SPACE)(
504 IN EFI_GCD_ALLOCATE_TYPE GcdAllocateType,
505 IN EFI_GCD_IO_TYPE GcdIoType,
506 IN UINTN Alignment,
507 IN UINT64 Length,
508 IN OUT EFI_PHYSICAL_ADDRESS *BaseAddress,
509 IN EFI_HANDLE ImageHandle,
510 IN EFI_HANDLE DeviceHandle OPTIONAL
511 );
512
531typedef
533(EFIAPI *EFI_FREE_IO_SPACE)(
534 IN EFI_PHYSICAL_ADDRESS BaseAddress,
535 IN UINT64 Length
536 );
537
561typedef
563(EFIAPI *EFI_REMOVE_IO_SPACE)(
564 IN EFI_PHYSICAL_ADDRESS BaseAddress,
565 IN UINT64 Length
566 );
567
580typedef
583 IN EFI_PHYSICAL_ADDRESS BaseAddress,
585 );
586
602typedef
604(EFIAPI *EFI_GET_IO_SPACE_MAP)(
605 OUT UINTN *NumberOfDescriptors,
607 );
608
625typedef
627(EFIAPI *EFI_DISPATCH)(
628 VOID
629 );
630
642typedef
644(EFIAPI *EFI_SCHEDULE)(
645 IN EFI_HANDLE FirmwareVolumeHandle,
646 IN CONST EFI_GUID *FileName
647 );
648
660typedef
662(EFIAPI *EFI_TRUST)(
663 IN EFI_HANDLE FirmwareVolumeHandle,
664 IN CONST EFI_GUID *FileName
665 );
666
685typedef
688 IN CONST VOID *FirmwareVolumeHeader,
689 IN UINTN Size,
690 OUT EFI_HANDLE *FirmwareVolumeHandle
691 );
692
693//
694// DXE Services Table
695//
696#define DXE_SERVICES_SIGNATURE 0x565245535f455844ULL
697#define DXE_SPECIFICATION_MAJOR_REVISION 1
698#define DXE_SPECIFICATION_MINOR_REVISION 70
699#define DXE_SERVICES_REVISION ((DXE_SPECIFICATION_MAJOR_REVISION<<16) | (DXE_SPECIFICATION_MINOR_REVISION))
700
701typedef struct {
707
708 //
709 // Global Coherency Domain Services
710 //
711 EFI_ADD_MEMORY_SPACE AddMemorySpace;
712 EFI_ALLOCATE_MEMORY_SPACE AllocateMemorySpace;
713 EFI_FREE_MEMORY_SPACE FreeMemorySpace;
714 EFI_REMOVE_MEMORY_SPACE RemoveMemorySpace;
715 EFI_GET_MEMORY_SPACE_DESCRIPTOR GetMemorySpaceDescriptor;
716 EFI_SET_MEMORY_SPACE_ATTRIBUTES SetMemorySpaceAttributes;
717 EFI_GET_MEMORY_SPACE_MAP GetMemorySpaceMap;
719 EFI_ALLOCATE_IO_SPACE AllocateIoSpace;
720 EFI_FREE_IO_SPACE FreeIoSpace;
721 EFI_REMOVE_IO_SPACE RemoveIoSpace;
722 EFI_GET_IO_SPACE_DESCRIPTOR GetIoSpaceDescriptor;
723 EFI_GET_IO_SPACE_MAP GetIoSpaceMap;
724
725 //
726 // Dispatcher Services
727 //
728 EFI_DISPATCH Dispatch;
729 EFI_SCHEDULE Schedule;
730 EFI_TRUST Trust;
731 //
732 // Service to process a single firmware volume found in a capsule
733 //
734 EFI_PROCESS_FIRMWARE_VOLUME ProcessFirmwareVolume;
735 //
736 // Extensions to Global Coherency Domain Services
737 //
738 EFI_SET_MEMORY_SPACE_CAPABILITIES SetMemorySpaceCapabilities;
740
742
743#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:417
EFI_STATUS(EFIAPI * EFI_SCHEDULE)(IN EFI_HANDLE FirmwareVolumeHandle, IN CONST EFI_GUID *FileName)
Definition: PiDxeCis.h:644
EFI_STATUS(EFIAPI * EFI_FREE_IO_SPACE)(IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length)
Definition: PiDxeCis.h:533
EFI_STATUS(EFIAPI * EFI_GET_MEMORY_SPACE_MAP)(OUT UINTN *NumberOfDescriptors, OUT EFI_GCD_MEMORY_SPACE_DESCRIPTOR **MemorySpaceMap)
Definition: PiDxeCis.h:440
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
@ 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:687
EFI_GCD_ALLOCATE_TYPE
Definition: PiDxeCis.h:95
@ EfiGcdAllocateMaxAddressSearchBottomUp
Definition: PiDxeCis.h:105
@ EfiGcdAllocateMaxAddressSearchTopDown
Definition: PiDxeCis.h:120
@ EfiGcdAllocateAnySearchTopDown
Definition: PiDxeCis.h:115
@ EfiGcdAllocateAddress
Definition: PiDxeCis.h:110
@ EfiGcdAllocateAnySearchBottomUp
Definition: PiDxeCis.h:100
EFI_STATUS(EFIAPI * EFI_SET_MEMORY_SPACE_ATTRIBUTES)(IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length, IN UINT64 Attributes)
Definition: PiDxeCis.h:392
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:248
EFI_STATUS(EFIAPI * EFI_REMOVE_IO_SPACE)(IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length)
Definition: PiDxeCis.h:563
EFI_GCD_IO_TYPE
Definition: PiDxeCis.h:73
@ EfiGcdIoTypeNonExistent
Definition: PiDxeCis.h:78
@ EfiGcdIoTypeReserved
Definition: PiDxeCis.h:83
@ EfiGcdIoTypeIo
Definition: PiDxeCis.h:88
EFI_STATUS(EFIAPI * EFI_GET_IO_SPACE_MAP)(OUT UINTN *NumberOfDescriptors, OUT EFI_GCD_IO_SPACE_DESCRIPTOR **IoSpaceMap)
Definition: PiDxeCis.h:604
EFI_STATUS(EFIAPI * EFI_DISPATCH)(VOID)
Definition: PiDxeCis.h:627
EFI_STATUS(EFIAPI * EFI_FREE_MEMORY_SPACE)(IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length)
Definition: PiDxeCis.h:317
EFI_STATUS(EFIAPI * EFI_REMOVE_MEMORY_SPACE)(IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length)
Definition: PiDxeCis.h:345
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:287
EFI_STATUS(EFIAPI * EFI_TRUST)(IN EFI_HANDLE FirmwareVolumeHandle, IN CONST EFI_GUID *FileName)
Definition: PiDxeCis.h:662
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:503
EFI_STATUS(EFIAPI * EFI_ADD_IO_SPACE)(IN EFI_GCD_IO_TYPE GcdIoType, IN EFI_PHYSICAL_ADDRESS BaseAddress, IN UINT64 Length)
Definition: PiDxeCis.h:471
EFI_STATUS(EFIAPI * EFI_GET_IO_SPACE_DESCRIPTOR)(IN EFI_PHYSICAL_ADDRESS BaseAddress, OUT EFI_GCD_IO_SPACE_DESCRIPTOR *Descriptor)
Definition: PiDxeCis.h:582
EFI_STATUS(EFIAPI * EFI_GET_MEMORY_SPACE_DESCRIPTOR)(IN EFI_PHYSICAL_ADDRESS BaseAddress, OUT EFI_GCD_MEMORY_SPACE_DESCRIPTOR *Descriptor)
Definition: PiDxeCis.h:364
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:706
EFI_PHYSICAL_ADDRESS BaseAddress
Definition: PiDxeCis.h:184
EFI_GCD_IO_TYPE GcdIoType
Definition: PiDxeCis.h:195
EFI_GCD_MEMORY_TYPE GcdMemoryType
Definition: PiDxeCis.h:155
EFI_PHYSICAL_ADDRESS BaseAddress
Definition: PiDxeCis.h:133
Definition: Base.h:213