Structsยง
- Capability ๐
- Command ๐
- Completion ๐
- Completion
Entry ๐ - Controller
Config ๐ - Controller
Status ๐ - Identify
Controller ๐Data - Identify Controller data (partial : fields we need).
- Identify
Namespace ๐Data - 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 ๐
- IoQueue
Pair ๐ - LbaFormat ๐
- LBA Format descriptor (4 bytes each, starting at byte 128 of Identify Namespace).
- Nvme
Completion Result - Nvme
Controller - Nvme
Namespace - Queue ๐
- Queue
Pair ๐ - Registers ๐
- Submission ๐
- Version ๐
- Volatile
Cell ๐
Enumsยง
- Nvme
Error ๐
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ยง
- Queue
Type ๐
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
msmilliseconds from now. - tsc_
expired ๐ - Check if a TSC deadline has expired.
- tsc_khz ๐
- Return the calibrated TSC frequency in KHz, or a fallback (3 GHz).
- tsc_
to_ ๐ms - Convert TSC ticks to approximate milliseconds using calibrated frequency.