Enumerations
enum AdminCommandOpcode
| Name | Value |
|---|---|
| kDeleteIoSubmissionQueue | 0x00 |
| kCreateIoSubmissionQueue | 0x01 |
| kGetLogPage | 0x02 |
| kDeleteIoCompletionQueue | 0x04 |
| kCreateIoCompletionQueue | 0x05 |
| kIdentify | 0x06 |
| kAbort | 0x08 |
| kSetFeatures | 0x09 |
| kGetFeatures | 0x0A |
| kAsynchronousEventRequest | 0x0C |
| kNamespaceManagement | 0x0D |
| kFirmwareCommit | 0x10 |
| kFirmwareImageDownload | 0x11 |
| kDeviceSelftest | 0x14 |
| kNamespaceAttachment | 0x15 |
| kKeepAlive | 0x18 |
| kDirectiveSend | 0x19 |
| kDirectiveReceive | 0x1A |
| kVirtualizationManagement | 0x1C |
| kNVMeMISend | 0x1D |
| kNVMeMIReceive | 0x1E |
| kCapacityManagement | 0x20 |
| kLockdown | 0x24 |
| kDoorbellBufferConfig | 0x7C |
| kFabricsCommands | 0x7F |
| kFormatNVM | 0x80 |
| kSecuritySend | 0x81 |
| kSecurityReceive | 0x82 |
| kSanitize | 0x84 |
| kGetLBAStatus | 0x86 |
NVM Express Base Specification 2.0c, section 5 "Admin Command Set".
Defined at line 13 of file ../../src/devices/block/drivers/nvme/commands.h
enum Feature
| Name | Value |
|---|---|
| kFeatureArbitration | 0x1 |
| kFeaturePowerManagement | 0x2 |
| kFeatureLbaRangeType | 0x3 |
| kFeatureTemperatureThreshold | 0x4 |
| kFeatureVolatileWriteCache | 0x6 |
| kFeatureNumberOfQueues | 0x7 |
| kFeatureInterruptCoalescing | 0x8 |
| kFeatureInterruptVectorConfiguration | 0x9 |
| kFeatureAsynchronousEventConfiguration | 0xb |
| kFeatureAutonomousPowerStateTransition | 0xc |
| kFeatureHostMemoryBuffer | 0xd |
| kFeatureTimestamp | 0xe |
| kFeatureKeepAliveTimer | 0xf |
| kFeatureHostControlledThermalManagement | 0x10 |
| kFeatureNonOperationalPowerStateConfig | 0x11 |
| kFeatureReadRecoveryLevelConfig | 0x12 |
| kFeaturePredictableLatencyModeConfig | 0x13 |
| kFeaturePredictableLatencyModeWindow | 0x14 |
| kFeatureHostBehaviorSupport | 0x16 |
| kFeatureSanitizeConfig | 0x17 |
| kFeatureEnduranceGroupEventConfig | 0x18 |
| kFeatureIoCommandSetProfile | 0x19 |
| kFeatureSpinupControl | 0x1a |
| kFeatureEnhancedControllerMetadata | 0x7d |
| kFeatureControllerMetadata | 0x7e |
| kFeatureNamespaceMetadata | 0x7f |
| kFeatureSoftwareProgressMarker | 0x80 |
| kFeatureHostIdentifier | 0x81 |
| kFeatureReservationNotificationMask | 0x82 |
| kFeatureReservationPersistance | 0x83 |
| kFeatureNamespaceWriteProtectionConfig | 0x84 |
NVM Express Base Specification 2.0, section 5.27 "Set Features command".
Defined at line 15 of file ../../src/devices/block/drivers/nvme/commands/features.h
enum IoCommandOpcode
| Name | Value |
|---|---|
| kFlush | 0x00 |
| kWrite | 0x01 |
| kRead | 0x02 |
| kWriteUncorrectable | 0x04 |
| kCompare | 0x05 |
| kWriteZeroes | 0x08 |
| kDatasetManagement | 0x09 |
| kVerify | 0x0C |
| kReservationRegister | 0x0D |
| kReservationReport | 0x0E |
| kReservationAcquire | 0x11 |
| kReservationRelease | 0x15 |
| kCopy | 0x19 |
NVM Express Command Set Specification 1.0c, section 3.2 "NVM Command Set Commands".
Defined at line 47 of file ../../src/devices/block/drivers/nvme/commands.h
enum StatusCodeType
| Name | Value |
|---|---|
| kGeneric | 0 |
| kCommandSpecific | 1 |
| kIntegrityErrors | 2 |
| kPathRelated | 3 |
| kVendorSpecific | 7 |
Defined at line 98 of file ../../src/devices/block/drivers/nvme/commands.h
enum GenericStatus
| Name | Value |
|---|---|
| kSuccess | 0x0 |
| kInvalidOpcode | 0x1 |
| kInvalidField | 0x2 |
| kCommandIdConflict | 0x3 |
| kDataTransferError | 0x4 |
| kAbortedDueToPowerLossNotification | 0x5 |
| kInternalError | 0x6 |
| kAbortRequest | 0x7 |
| kSubmissionQueueDeleted | 0x8 |
| kFailedFusedCommand | 0x9 |
| kMissingFusedCommand | 0xa |
| kInvalidNamespaceOrFormat | 0xb |
| kCommandSequenceError | 0xc |
| kInvalidSglSegmentDescriptor | 0xd |
| kInvalidSglDescriptorCount | 0xe |
| kDataSglLengthInvalid | 0xf |
| kMetadataSglLengthInvalid | 0x10 |
| kSglDescriptorTypeInvalid | 0x11 |
| kInvalidControllerMemoryUse | 0x12 |
| kPrpOffsetInvalid | 0x13 |
| kAtomicWriteUnitExceeded | 0x14 |
| kOperationDenied | 0x15 |
| kSglOffsetInvalid | 0x16 |
| kHostIdentifierInconsistentFormat | 0x18 |
| kKeepAliveExpired | 0x19 |
| kKeepAliveInvalid | 0x1a |
| kAbortedDueToPreemptAndAbort | 0x1b |
| kSanitizeFailed | 0x1c |
| kSanitizeInProgress | 0x1d |
| kSglDataBlockGranularityInvalid | 0x1e |
| kCommandNotSupportedInCmb | 0x1f |
| kNamespaceWriteProtected | 0x20 |
| kCommandInterrupted | 0x21 |
| kTransientTransportError | 0x22 |
| kProhibitedByLockdown | 0x23 |
| kMediaNotReady | 0x24 |
| kLbaOutOfRange | 0x80 |
| kCapacityExceeded | 0x81 |
| kNamespaceNotReady | 0x82 |
| kReservationConflict | 0x83 |
| kFormatInProgress | 0x84 |
| kInvalidValueSize | 0x85 |
| kInvalidKeySize | 0x86 |
| kKeyNotExist | 0x87 |
| kUnrecoveredError | 0x88 |
| kKeyExists | 0x89 |
Defined at line 105 of file ../../src/devices/block/drivers/nvme/commands.h
Records
-
class AdminQueueAddressReg -
class AdminQueueAttributesReg -
class CapabilityReg -
class Completion -
class ControllerConfigReg -
class ControllerStatusReg -
class CreateIoCompletionQueueSubmission -
class CreateIoSubmissionQueueSubmission -
class DeleteIoQueueSubmission -
class DoorbellReg -
class GetFeaturesSubmission -
class GetVolatileWriteCacheCompletion -
class GetVolatileWriteCacheSubmission -
class IdentifyActiveNamespaces -
class IdentifyController -
class IdentifyNvmeNamespace -
class IdentifySubmission -
class InterruptReg -
class IoCommand -
class LbaFormatField -
class Namespace -
class NvmIoFlushSubmission -
class NvmIoSubmission -
class Nvme -
class NvmeTest -
class NvmeTest_BasicTest_Test -
class NvmeTest_NamespaceBlockInfo_Test -
class NvmeTest_NamespaceReadTest_Test -
class PowerStateDescriptor -
class Queue -
class QueuePair -
class QueuePairTest -
class QueuePairTest_DISABLED_TestSubmitWithDataManyPages_Test -
class QueuePairTest_DISABLED_TestSubmitWithMultiPagePrp_Test -
class QueuePairTest_TestCheckCompletionsMultipleReady_Test -
class QueuePairTest_TestCheckCompletionsNothingReady_Test -
class QueuePairTest_TestCheckCompletionsOneReady_Test -
class QueuePairTest_TestSubmitWithDataOnePage_Test -
class QueuePairTest_TestSubmitWithDataTwoPages_Test -
class QueuePairTest_TestSubmit_Test -
class QueueTest -
class QueueTest_CappedToMaxEntries_Test -
class QueueTest_CappedToPageSize_Test -
class QueueTest_PhysicalAddress_Test -
class QueueTest_WrapsAround_Test -
class SetFeaturesSubmission -
class SetIoQueueCountCompletion -
class SetIoQueueCountSubmission -
class Submission -
class TestConfig -
class TestNvme -
class TransactionData -
class VersionReg
Functions
-
bool operator< (const VersionReg & lhs, const VersionReg & rhs)Defined at line 87 of file ../../src/devices/block/drivers/nvme/registers.h
-
bool operator> (const VersionReg & lhs, const VersionReg & rhs)Defined at line 90 of file ../../src/devices/block/drivers/nvme/registers.h
-
bool operator<= (const VersionReg & lhs, const VersionReg & rhs)Defined at line 91 of file ../../src/devices/block/drivers/nvme/registers.h
-
bool operator>= (const VersionReg & lhsconst VersionReg & rhs)Defined at line 92 of file ../../src/devices/block/drivers/nvme/registers.h
Variables
const uint32_t NVME_REG_CAP
Defined at line 14 of file ../../src/devices/block/drivers/nvme/registers.h
const uint32_t NVME_REG_VS
Defined at line 15 of file ../../src/devices/block/drivers/nvme/registers.h
const uint32_t NVME_REG_INTMS
Defined at line 16 of file ../../src/devices/block/drivers/nvme/registers.h
const uint32_t NVME_REG_INTMC
Defined at line 17 of file ../../src/devices/block/drivers/nvme/registers.h
const uint32_t NVME_REG_CC
Defined at line 18 of file ../../src/devices/block/drivers/nvme/registers.h
const uint32_t NVME_REG_CSTS
Defined at line 19 of file ../../src/devices/block/drivers/nvme/registers.h
const uint32_t NVME_REG_NSSR
Defined at line 20 of file ../../src/devices/block/drivers/nvme/registers.h
const uint32_t NVME_REG_AQA
Defined at line 21 of file ../../src/devices/block/drivers/nvme/registers.h
const uint32_t NVME_REG_ASQ
Defined at line 22 of file ../../src/devices/block/drivers/nvme/registers.h
const uint32_t NVME_REG_ACQ
Defined at line 23 of file ../../src/devices/block/drivers/nvme/registers.h
const uint32_t NVME_REG_CMBLOC
Defined at line 24 of file ../../src/devices/block/drivers/nvme/registers.h
const uint32_t NVME_REG_CMBSZ
Defined at line 25 of file ../../src/devices/block/drivers/nvme/registers.h
const uint32_t NVME_REG_BPINFO
Defined at line 26 of file ../../src/devices/block/drivers/nvme/registers.h
const uint32_t NVME_REG_BPRSEL
Defined at line 27 of file ../../src/devices/block/drivers/nvme/registers.h
const uint32_t NVME_REG_BPMBL
Defined at line 28 of file ../../src/devices/block/drivers/nvme/registers.h
const uint32_t NVME_REG_DOORBELL_BASE
Defined at line 30 of file ../../src/devices/block/drivers/nvme/registers.h