\r
#include <Pi/PiMultiPhase.h>\r
\r
-//\r
-// Global Coherencey Domain types\r
-//\r
+///\r
+/// Global Coherencey Domain types - Memory type\r
+///\r
typedef enum {\r
EfiGcdMemoryTypeNonExistent,\r
EfiGcdMemoryTypeReserved,\r
EfiGcdMemoryTypeMaximum\r
} EFI_GCD_MEMORY_TYPE;\r
\r
-\r
+///\r
+/// Global Coherencey Domain types - IO type\r
+///\r
typedef enum {\r
EfiGcdIoTypeNonExistent,\r
EfiGcdIoTypeReserved,\r
EfiGcdIoTypeMaximum\r
} EFI_GCD_IO_TYPE;\r
\r
-\r
+///\r
+/// The type of allocation to perform.\r
+/// \r
typedef enum {\r
EfiGcdAllocateAnySearchBottomUp,\r
EfiGcdAllocateMaxAddressSearchBottomUp,\r
EfiGcdMaxAllocateType\r
} EFI_GCD_ALLOCATE_TYPE;\r
\r
-\r
+///\r
+/// EFI_GCD_MEMORY_SPACE_DESCRIPTOR\r
+/// \r
typedef struct {\r
+ ///\r
+ /// The physical address of the first byte in the memory region. Type\r
+ /// EFI_PHYSICAL_ADDRESS is defined in the AllocatePages() function\r
+ /// description in the UEFI 2.0 specification\r
+ /// \r
EFI_PHYSICAL_ADDRESS BaseAddress;\r
+\r
+ ///\r
+ /// The number of bytes in the memory region.\r
+ /// \r
UINT64 Length;\r
+\r
+ ///\r
+ /// The bit mask of attributes that the memory region is capable of supporting. The bit\r
+ /// mask of available attributes is defined in the GetMemoryMap() function description\r
+ /// in the UEFI 2.0 specification.\r
+ /// \r
UINT64 Capabilities;\r
+ ///\r
+ /// The bit mask of attributes that the memory region is currently using. The bit mask of\r
+ /// available attributes is defined in GetMemoryMap().\r
+ /// \r
UINT64 Attributes;\r
+ ///\r
+ /// Type of the memory region. Type EFI_GCD_MEMORY_TYPE is defined in the\r
+ /// AddMemorySpace() function description\r
+ /// \r
EFI_GCD_MEMORY_TYPE GcdMemoryType;\r
+\r
+ ///\r
+ /// The image handle of the agent that allocated the memory resource described by\r
+ /// PhysicalStart and NumberOfBytes. If this field is NULL, then the memory\r
+ /// resource is not currently allocated. Type EFI_HANDLE is defined in\r
+ /// InstallProtocolInterface() in the UEFI 2.0 specification.\r
+ /// \r
EFI_HANDLE ImageHandle;\r
+\r
+ ///\r
+ /// The device handle for which the memory resource has been allocated. If\r
+ /// ImageHandle is NULL, then the memory resource is not currently allocated. If this\r
+ /// field is NULL, then the memory resource is not associated with a device that is\r
+ /// described by a device handle. Type EFI_HANDLE is defined in\r
+ /// InstallProtocolInterface() in the UEFI 2.0 specification.\r
+ /// \r
EFI_HANDLE DeviceHandle;\r
} EFI_GCD_MEMORY_SPACE_DESCRIPTOR;\r
\r
-\r
+///\r
+/// EFI_GCD_IO_SPACE_DESCRIPTOR\r
+/// \r
typedef struct {\r
+ ///\r
+ /// Physical address of the first byte in the I/O region. Type\r
+ /// EFI_PHYSICAL_ADDRESS is defined in the AllocatePages() function\r
+ /// description in the UEFI 2.0 specification.\r
+ /// \r
EFI_PHYSICAL_ADDRESS BaseAddress;\r
+\r
+ /// Number of bytes in the I/O region.\r
UINT64 Length;\r
+\r
+ /// \r
+ /// Type of the I/O region. Type EFI_GCD_IO_TYPE is defined in the\r
+ /// AddIoSpace() function description.\r
+ /// \r
EFI_GCD_IO_TYPE GcdIoType;\r
+\r
+ /// \r
+ /// The image handle of the agent that allocated the I/O resource described by\r
+ /// PhysicalStart and NumberOfBytes. If this field is NULL, then the I/O\r
+ /// resource is not currently allocated. Type EFI_HANDLE is defined in\r
+ /// InstallProtocolInterface() in the UEFI 2.0 specification.\r
+ /// \r
EFI_HANDLE ImageHandle;\r
+\r
+ ///\r
+ /// The device handle for which the I/O resource has been allocated. If ImageHandle\r
+ /// is NULL, then the I/O resource is not currently allocated. If this field is NULL, then\r
+ /// the I/O resource is not associated with a device that is described by a device handle.\r
+ /// Type EFI_HANDLE is defined in InstallProtocolInterface() in the UEFI\r
+ /// 2.0 specification.\r
+ /// \r
EFI_HANDLE DeviceHandle;\r
} EFI_GCD_IO_SPACE_DESCRIPTOR;\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_ADD_MEMORY_SPACE) (\r
+(EFIAPI *EFI_ADD_MEMORY_SPACE)(\r
IN EFI_GCD_MEMORY_TYPE GcdMemoryType,\r
IN EFI_PHYSICAL_ADDRESS BaseAddress,\r
IN UINT64 Length,\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_ALLOCATE_MEMORY_SPACE) (\r
+(EFIAPI *EFI_ALLOCATE_MEMORY_SPACE)(\r
IN EFI_GCD_ALLOCATE_TYPE GcdAllocateType,\r
IN EFI_GCD_MEMORY_TYPE GcdMemoryType,\r
IN UINTN Alignment,\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_FREE_MEMORY_SPACE) (\r
+(EFIAPI *EFI_FREE_MEMORY_SPACE)(\r
IN EFI_PHYSICAL_ADDRESS BaseAddress,\r
IN UINT64 Length\r
)\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_REMOVE_MEMORY_SPACE) (\r
+(EFIAPI *EFI_REMOVE_MEMORY_SPACE)(\r
IN EFI_PHYSICAL_ADDRESS BaseAddress,\r
IN UINT64 Length\r
)\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_GET_MEMORY_SPACE_DESCRIPTOR) (\r
+(EFIAPI *EFI_GET_MEMORY_SPACE_DESCRIPTOR)(\r
IN EFI_PHYSICAL_ADDRESS BaseAddress,\r
OUT EFI_GCD_MEMORY_SPACE_DESCRIPTOR *Descriptor\r
)\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_SET_MEMORY_SPACE_ATTRIBUTES) (\r
+(EFIAPI *EFI_SET_MEMORY_SPACE_ATTRIBUTES)(\r
IN EFI_PHYSICAL_ADDRESS BaseAddress,\r
IN UINT64 Length,\r
IN UINT64 Attributes\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_GET_MEMORY_SPACE_MAP) (\r
+(EFIAPI *EFI_GET_MEMORY_SPACE_MAP)(\r
OUT UINTN *NumberOfDescriptors,\r
OUT EFI_GCD_MEMORY_SPACE_DESCRIPTOR **MemorySpaceMap\r
)\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_ADD_IO_SPACE) (\r
+(EFIAPI *EFI_ADD_IO_SPACE)(\r
IN EFI_GCD_IO_TYPE GcdIoType,\r
IN EFI_PHYSICAL_ADDRESS BaseAddress,\r
IN UINT64 Length\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_ALLOCATE_IO_SPACE) (\r
+(EFIAPI *EFI_ALLOCATE_IO_SPACE)(\r
IN EFI_GCD_ALLOCATE_TYPE GcdAllocateType,\r
IN EFI_GCD_IO_TYPE GcdIoType,\r
IN UINTN Alignment,\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_FREE_IO_SPACE) (\r
+(EFIAPI *EFI_FREE_IO_SPACE)(\r
IN EFI_PHYSICAL_ADDRESS BaseAddress,\r
IN UINT64 Length\r
)\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_REMOVE_IO_SPACE) (\r
+(EFIAPI *EFI_REMOVE_IO_SPACE)(\r
IN EFI_PHYSICAL_ADDRESS BaseAddress,\r
IN UINT64 Length\r
)\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_GET_IO_SPACE_DESCRIPTOR) (\r
+(EFIAPI *EFI_GET_IO_SPACE_DESCRIPTOR)(\r
IN EFI_PHYSICAL_ADDRESS BaseAddress,\r
OUT EFI_GCD_IO_SPACE_DESCRIPTOR *Descriptor\r
)\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_GET_IO_SPACE_MAP) (\r
+(EFIAPI *EFI_GET_IO_SPACE_MAP)(\r
OUT UINTN *NumberOfDescriptors,\r
OUT EFI_GCD_IO_SPACE_DESCRIPTOR **IoSpaceMap\r
)\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_DISPATCH) (\r
+(EFIAPI *EFI_DISPATCH)(\r
VOID\r
)\r
;\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_SCHEDULE) (\r
+(EFIAPI *EFI_SCHEDULE)(\r
IN EFI_HANDLE FirmwareVolumeHandle,\r
IN EFI_GUID *DriverName\r
)\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_TRUST) (\r
+(EFIAPI *EFI_TRUST)(\r
IN EFI_HANDLE FirmwareVolumeHandle,\r
IN EFI_GUID *DriverName\r
)\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_PROCESS_FIRMWARE_VOLUME) (\r
+(EFIAPI *EFI_PROCESS_FIRMWARE_VOLUME)(\r
IN VOID *FvHeader,\r
IN UINTN Size,\r
OUT EFI_HANDLE *FirmwareVolumeHandle\r