20#ifndef _UEFI_NVM_EXPRESS_PASS_THRU_H_
21#define _UEFI_NVM_EXPRESS_PASS_THRU_H_
23#define EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL_GUID \
25 0x52c78312, 0x8edc, 0x4233, { 0x98, 0xf2, 0x1a, 0x1a, 0xa5, 0xe3, 0x88, 0xa5 } \
40#define EFI_NVM_EXPRESS_PASS_THRU_ATTRIBUTES_PHYSICAL 0x0001
45#define EFI_NVM_EXPRESS_PASS_THRU_ATTRIBUTES_LOGICAL 0x0002
50#define EFI_NVM_EXPRESS_PASS_THRU_ATTRIBUTES_NONBLOCKIO 0x0004
55#define EFI_NVM_EXPRESS_PASS_THRU_ATTRIBUTES_CMD_SET_NVM 0x0008
60#define NORMAL_CMD 0x00
61#define FUSED_FIRST_CMD 0x01
62#define FUSED_SECOND_CMD 0x02
73#define CDW2_VALID 0x01
74#define CDW3_VALID 0x02
75#define CDW10_VALID 0x04
76#define CDW11_VALID 0x08
77#define CDW12_VALID 0x10
78#define CDW13_VALID 0x20
79#define CDW14_VALID 0x40
80#define CDW15_VALID 0x80
85#define NVME_ADMIN_QUEUE 0x00
86#define NVME_IO_QUEUE 0x01
#define EFIAPI
Definition ProcessorBind.h:172
unsigned int UINT32
Definition ProcessorBind.h:102
#define IN
Definition Base.h:347
#define OUT
Definition Base.h:352
#define OPTIONAL
Definition Base.h:358
EFI_STATUS(EFIAPI * EFI_NVM_EXPRESS_PASS_THRU_GET_NEXT_NAMESPACE)(IN EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL *This, IN OUT UINT32 *NamespaceId)
Definition NvmExpressPassthru.h:199
EFI_GUID gEfiNvmExpressPassThruProtocolGuid
EFI_STATUS(EFIAPI * EFI_NVM_EXPRESS_PASS_THRU_GET_NAMESPACE)(IN EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL *This, IN EFI_DEVICE_PATH_PROTOCOL *DevicePath, OUT UINT32 *NamespaceId)
Definition NvmExpressPassthru.h:269
EFI_STATUS(EFIAPI * EFI_NVM_EXPRESS_PASS_THRU_BUILD_DEVICE_PATH)(IN EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL *This, IN UINT32 NamespaceId, IN OUT EFI_DEVICE_PATH_PROTOCOL **DevicePath)
Definition NvmExpressPassthru.h:237
EFI_STATUS(EFIAPI * EFI_NVM_EXPRESS_PASS_THRU_PASSTHRU)(IN EFI_NVM_EXPRESS_PASS_THRU_PROTOCOL *This, IN UINT32 NamespaceId, IN OUT EFI_NVM_EXPRESS_PASS_THRU_COMMAND_PACKET *Packet, IN EFI_EVENT Event OPTIONAL)
Definition NvmExpressPassthru.h:157
RETURN_STATUS EFI_STATUS
Definition UefiBaseType.h:33
VOID * EFI_EVENT
Definition UefiBaseType.h:41
#define VOID
Definition acefi.h:190
unsigned char UINT8
Definition actypes.h:236
COMPILER_DEPENDENT_UINT64 UINT64
Definition actypes.h:239
Definition DevicePath.h:49
Definition NvmExpressPassthru.h:88
UINT32 Cdw2
Definition NvmExpressPassthru.h:92
UINT32 Nsid
Definition NvmExpressPassthru.h:91
UINT32 Cdw13
Definition NvmExpressPassthru.h:97
UINT32 Cdw11
Definition NvmExpressPassthru.h:95
NVME_CDW0 Cdw0
Definition NvmExpressPassthru.h:89
UINT32 Cdw10
Definition NvmExpressPassthru.h:94
UINT32 Cdw12
Definition NvmExpressPassthru.h:96
UINT32 Cdw15
Definition NvmExpressPassthru.h:99
UINT8 Flags
Definition NvmExpressPassthru.h:90
UINT32 Cdw14
Definition NvmExpressPassthru.h:98
UINT32 Cdw3
Definition NvmExpressPassthru.h:93
Definition NvmExpressPassthru.h:102
UINT32 DW3
Definition NvmExpressPassthru.h:106
UINT32 DW2
Definition NvmExpressPassthru.h:105
UINT32 DW0
Definition NvmExpressPassthru.h:103
UINT32 DW1
Definition NvmExpressPassthru.h:104
Definition NvmExpressPassthru.h:109
VOID * TransferBuffer
Definition NvmExpressPassthru.h:111
UINT32 TransferLength
Definition NvmExpressPassthru.h:112
UINT32 MetadataLength
Definition NvmExpressPassthru.h:114
UINT8 QueueType
Definition NvmExpressPassthru.h:115
UINT64 CommandTimeout
Definition NvmExpressPassthru.h:110
EFI_NVM_EXPRESS_COMPLETION * NvmeCompletion
Definition NvmExpressPassthru.h:117
EFI_NVM_EXPRESS_COMMAND * NvmeCmd
Definition NvmExpressPassthru.h:116
VOID * MetadataBuffer
Definition NvmExpressPassthru.h:113
Definition NvmExpressPassthru.h:30
UINT32 Attributes
Definition NvmExpressPassthru.h:31
UINT32 NvmeVersion
Definition NvmExpressPassthru.h:33
UINT32 IoAlign
Definition NvmExpressPassthru.h:32
Definition NvmExpressPassthru.h:64
UINT32 Opcode
Definition NvmExpressPassthru.h:65
UINT32 FusedOperation
Definition NvmExpressPassthru.h:66
UINT32 Reserved
Definition NvmExpressPassthru.h:67
Definition NvmExpressPassthru.h:278
EFI_NVM_EXPRESS_PASS_THRU_MODE * Mode
Definition NvmExpressPassthru.h:279
EFI_NVM_EXPRESS_PASS_THRU_BUILD_DEVICE_PATH BuildDevicePath
Definition NvmExpressPassthru.h:282
EFI_NVM_EXPRESS_PASS_THRU_GET_NEXT_NAMESPACE GetNextNamespace
Definition NvmExpressPassthru.h:281
EFI_NVM_EXPRESS_PASS_THRU_PASSTHRU PassThru
Definition NvmExpressPassthru.h:280
EFI_NVM_EXPRESS_PASS_THRU_GET_NAMESPACE GetNamespace
Definition NvmExpressPassthru.h:283