TianoCore EDK2 master
Loading...
Searching...
No Matches
NvmExpressHostController.h
Go to the documentation of this file.
1
8#ifndef _EDKII_NVM_EXPRESS_HOST_CONTROLLER_PPI_H_
9#define _EDKII_NVM_EXPRESS_HOST_CONTROLLER_PPI_H_
10
11#include <Protocol/DevicePath.h>
12
16#define EDKII_NVME_EXPRESS_HOST_CONTROLLER_PPI_GUID \
17 { \
18 0xcae3aa63, 0x676f, 0x4da3, { 0xbd, 0x50, 0x6c, 0xc5, 0xed, 0xde, 0x9a, 0xad } \
19 }
20
21//
22// Forward declaration for the EDKII_NVM_EXPRESS_HOST_CONTROLLER_PPI.
23//
25
39typedef
43 IN UINT8 ControllerId,
44 OUT UINTN *MmioBar
45 );
46
66typedef
70 IN UINT8 ControllerId,
71 OUT UINTN *DevicePathLength,
72 OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath
73 );
74
75//
76// This PPI contains a set of services to interact with the NVM Express host
77// controller.
78//
80 EDKII_NVM_EXPRESS_HC_GET_MMIO_BAR GetNvmeHcMmioBar;
81 EDKII_NVM_EXPRESS_HC_GET_DEVICE_PATH GetNvmeHcDevicePath;
82};
83
84extern EFI_GUID gEdkiiPeiNvmExpressHostControllerPpiGuid;
85
86#endif
UINT64 UINTN
#define IN
Definition: Base.h:279
#define OUT
Definition: Base.h:284
EFI_STATUS(EFIAPI * EDKII_NVM_EXPRESS_HC_GET_MMIO_BAR)(IN EDKII_NVM_EXPRESS_HOST_CONTROLLER_PPI *This, IN UINT8 ControllerId, OUT UINTN *MmioBar)
EFI_STATUS(EFIAPI * EDKII_NVM_EXPRESS_HC_GET_DEVICE_PATH)(IN EDKII_NVM_EXPRESS_HOST_CONTROLLER_PPI *This, IN UINT8 ControllerId, OUT UINTN *DevicePathLength, OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath)
RETURN_STATUS EFI_STATUS
Definition: UefiBaseType.h:29
Definition: Base.h:213