SYNOPSIS

nvme [<global-options>] get-reg <device>
                        [--register=<name>[,<name>…] | -r <name>[,<name>…]]
                        [--offset=<offset> | -O <offset>]

DESCRIPTION

Reads and shows controller registers: of an NVMe over PCIe controller from its PCI memory space, of an NVMe over Fabrics controller its properties with Property Get commands.

The <device> parameter is mandatory and must be the nvme admin character device (ex: /dev/nvme0).

On a fabrics controller, a register which is no property of a fabrics controller, or a property the controller doesn’t implement, fails the command, after the other registers are shown.

OPTIONS

-r <name>[,<name>…]
--register=<name>[,<name>…]

The registers to show, by name, in register order: one of cap, vs, intms, intmc, cc, csts, nssr, aqa, asq, acq, cmbloc, cmbsz, bpinfo, bprsel, bpmbl, cmbmsc, cmbsts, cmbebs, cmbswtp, nssd, crto, pmrcap, pmrctl, pmrsts, pmrebs, pmrswtp, pmrmscl, pmrmscu. The option may be given more than once.

-O <offset>
--offset=<offset>

A register to show, by offset or name, e.g. 0x14 or cc. The offset has to be the one of a register.

The options --cap, --vs, --cc and so on of earlier versions, one for each register, still work, but are deprecated: use --register.

GLOBAL OPTIONS

The following options are defined at the top-level nvme command and are available to this subcommand:

--dry-run

Print the command that would be executed, but do not actually execute it.

--no-ioctl-probing

Disable probing for 64-bit IOCTL support.

--no-retries

Disable retry logic on transient errors.

-o <fmt>
--output-format=<fmt>

Set the reporting format to normal, tabular, 'json, or binary. Only one output format may be used at a time.

--output-format-version=<version>

Select the output format version. Version 1 uses the original field naming, while version 2 (default) provides more consistent and script-friendly field names. Other versions are rejected.

--quiet

Suppress informational messages. Errors are still reported, and --quiet cancels any --verbose for the library log level.

--set-options=<key=value>[,<key=value>…]

Set libnvme library options for this invocation. Supported keys are force-4k, mi-probe-enabled, test-base-dir and test-sysfs-dir.

--timeout=<ms>

Set the timeout for the command in milliseconds. infinite or -1 waits without a time limit (0xffffffff).

-v
--verbose

Increase the level of detail in the output. May be specified multiple times to further increase verbosity.

These options can also be set as machine-wide defaults in nvme-cli.conf(5). A command-line flag always overrides the file.

With -v, the fields of each register are shown decoded. The JSON output has the value of each register under its name, with -v an object of the value and its decoded fields:

{
  "cc": 4587521
}

EXAMPLES

  • Show the Controller Configuration register

    # nvme get-reg /dev/nvme0 --register=cc
    register : 0x14 (Controller Configuration), value: 0x460001
  • Show the Controller Capabilities and Status registers, decoded

    # nvme get-reg /dev/nvme0 -r cap,csts -v

NVME

Part of the nvme-user suite.