Skip to main content

Module nvme

Module nvme 

Source

StructsΒ§

Capability πŸ”’
Command πŸ”’
Completion πŸ”’
CompletionEntry πŸ”’
ControllerConfig πŸ”’
ControllerStatus πŸ”’
IdentifyControllerData πŸ”’
Identify Controller data (partial : fields we need).
IdentifyNamespaceData πŸ”’
Identify Namespace data (first 384 bytes needed). Layout per NVMe spec: bytes 0-73 are explicit fields, 74-127 reserved, 128-383 LBAF[0..64].
IoQueue πŸ”’
IoQueuePair πŸ”’
LbaFormat πŸ”’
LBA Format descriptor (4 bytes each, starting at byte 128 of Identify Namespace).
NvmeCompletionResult
NvmeController
NvmeNamespace
Queue πŸ”’
QueuePair πŸ”’
Registers πŸ”’
Submission πŸ”’
Version πŸ”’
VolatileCell πŸ”’

EnumsΒ§

NvmeError πŸ”’

ConstantsΒ§

ADMIN_CQE_ERROR πŸ”’
IO_QUEUE_SIZE πŸ”’
MAX_IO_COMMANDS πŸ”’
MAX_PRP_ENTRIES πŸ”’
NVME_PAGE_SIZE πŸ”’

StaticsΒ§

NVME_CONTROLLERS πŸ”’
NVME_INITIALIZED πŸ”’
NVME_IRQ_LINE

TraitsΒ§

QueueType πŸ”’

FunctionsΒ§

build_prp_list πŸ”’ ⚠
Build PRP (Physical Region Page) list for a physically contiguous buffer.
get_first_controller
handle_interrupt
init
is_available
list_controllers
rdtsc πŸ”’
Read the TSC (Time Stamp Counter).
regs_read64 πŸ”’ ⚠
Read a 64-bit register from the NVMe controller.
tsc_deadline_ms πŸ”’
Get a TSC deadline for ms milliseconds from now.
tsc_expired πŸ”’
Check if a TSC deadline has expired.
tsc_to_ms πŸ”’
Convert TSC ticks to approximate milliseconds (assumes ~3GHz TSC). For exact calibration, use the kernel’s TSC frequency if available.