-
Notifications
You must be signed in to change notification settings - Fork 664
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
nvme: Add support for get-reg and set-reg commands
The get-reg command is to output register(s), it's possible to show several registers when register name are used as command line option. The set-reg command is to write nvme register(s). Again, the command is able to set several registers when the register name are used. Signed-off-by: Tokunori Ikegami <[email protected]>
- Loading branch information
Showing
8 changed files
with
1,050 additions
and
76 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,138 @@ | ||
nvme-get-reg(1) | ||
=============== | ||
|
||
NAME | ||
---- | ||
nvme-get-reg - Read and show the defined NVMe controller register | ||
|
||
SYNOPSIS | ||
-------- | ||
[verse] | ||
'nvme get-reg' <device> [--offset=<offset>, -O <offset>] [--human-readable | -H] | ||
[--cap] [--vs] [--cmbloc] [--cmbsz] [--bpinfo] | ||
[--cmbsts] [--cmbebs] [--cmbswtp] [--crto] [--pmrcap] | ||
[--pmrsts] [--pmrebs] [--pmrswtp] [--intms] [--intmc] | ||
[--cc] [--csts] [--nssr] [--aqa] [--asq] [--acq] | ||
[--bprsel] [--bpmbl] [--cmbmsc] [--nssd] [--pmrctl] | ||
[--pmrmscl] [--pmrmscu] | ||
[--output-format=<fmt> | -o <fmt>] [--verbose | -v] | ||
|
||
DESCRIPTION | ||
----------- | ||
Read and show the defined NVMe controller register. | ||
|
||
OPTIONS | ||
------- | ||
-O <offset>:: | ||
--offset=<offset>:: | ||
offset of the requested register | ||
|
||
-H:: | ||
--human-readable:: | ||
show register in readable format | ||
|
||
--cap:: | ||
CAP=0x0 register offset | ||
|
||
--vs:: | ||
VS=0x8 register offset | ||
|
||
--cmbloc:: | ||
CMBLOC=0x38 register offset | ||
|
||
--cmbsz:: | ||
CMBSZ=0x3c register offset | ||
|
||
--bpinfo:: | ||
BPINFO=0x40 register offset | ||
|
||
--cmbsts:: | ||
CMBSTS=0x58 register offset | ||
|
||
--cmbebs:: | ||
CMBEBS=0x5c register offset | ||
|
||
--cmbswtp:: | ||
CMBSWTP=0x60 register offset | ||
|
||
--crto:: | ||
CRTO=0x68 register offset | ||
|
||
--pmrcap:: | ||
PMRCAP=0xe00 register offset | ||
|
||
--pmrsts:: | ||
PMRSTS=0xe08 register offset | ||
|
||
--pmrebs:: | ||
PMREBS=0xe0c register offset | ||
|
||
--pmrswtp:: | ||
PMRSWTP=0xe10 register offset | ||
|
||
--intms:: | ||
INTMS=0xc register offset | ||
|
||
--intmc:: | ||
INTMC=0x10 register offset | ||
|
||
--cc:: | ||
CC=0x14 register offset | ||
|
||
--csts:: | ||
CSTS=0x1c register offset | ||
|
||
--nssr:: | ||
NSSR=0x20 register offset | ||
|
||
--aqa:: | ||
AQA=0x24 register offset | ||
|
||
--asq:: | ||
ASQ=0x28 register offset | ||
|
||
--acq:: | ||
ACQ=0x30 register offset | ||
|
||
--bprsel:: | ||
BPRSEL=0x44 register offset | ||
|
||
--bpmbl:: | ||
BPMBL=0x48 register offset | ||
|
||
--cmbmsc:: | ||
CMBMSC=0x50 register offset | ||
|
||
--nssd:: | ||
NSSD=0x64 register offset | ||
|
||
--pmrctl:: | ||
PMRCTL=0xe04 register offset | ||
|
||
--pmrmscl:: | ||
PMRMSCL=0xe14 register offset | ||
|
||
--pmrmscu:: | ||
PMRMSCU=0xe18 register offset | ||
|
||
-o <fmt>:: | ||
--output-format=<fmt>:: | ||
Set the reporting format to 'normal', 'json' or 'binary'. Only one | ||
output format can be used at a time. | ||
|
||
-v:: | ||
--verbose:: | ||
Increase the information detail in the output. | ||
|
||
EXAMPLES | ||
-------- | ||
* The following will run the get-reg command with CC=0x14 register offset | ||
+ | ||
------------ | ||
# nvme get-reg /dev/nvme0 --cc | ||
register: 0x0014 (Controller Configuration), value: 0x460001 | ||
------------ | ||
|
||
NVME | ||
---- | ||
Part of the nvme-user suite. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,102 @@ | ||
nvme-set-reg(1) | ||
=============== | ||
|
||
NAME | ||
---- | ||
nvme-set-reg - Writes and shows the defined NVMe controller register | ||
|
||
SYNOPSIS | ||
-------- | ||
[verse] | ||
'nvme set-reg' <device> [--offset=<offset>, -O <offset>] | ||
[--value=<val> | -V <val>] [--mmio32 | -m] | ||
[--intms=<val>] [--intmc=<val>] [--cc=<val>] | ||
[--csts=<val>] [--nssr=<val>] [--aqa=<val>] | ||
[--asq=<val>] [--acq=<val>] [--bprsel=<val>] | ||
[--bpmbl=<val>] [--cmbmsc=<val>] [--nssd=<val>] | ||
[--pmrctl=<val>] [--pmrmscl=<val>] [--pmrmscu=<val>] | ||
[--output-format=<fmt> | -o <fmt>] [--verbose | -v] | ||
|
||
DESCRIPTION | ||
----------- | ||
Writes and shows the defined NVMe controller register. | ||
|
||
OPTIONS | ||
------- | ||
-O <offset>:: | ||
--offset=<offset>:: | ||
offset of the requested register | ||
|
||
-V <val>:: | ||
--value=<val>:: | ||
the value of the register to be set | ||
|
||
--mmio32:: | ||
-m:: | ||
Access 64-bit registers as 2 32-bit | ||
|
||
--intms=<val>:: | ||
INTMS=0xc register offset | ||
|
||
--intmc=<val>:: | ||
INTMC=0x10 register offset | ||
|
||
--cc=<val>:: | ||
CC=0x14 register offset | ||
|
||
--csts=<val>:: | ||
CSTS=0x1c register offset | ||
|
||
--nssr=<val>:: | ||
NSSR=0x20 register offset | ||
|
||
--aqa=<val>:: | ||
AQA=0x24 register offset | ||
|
||
--asq=<val>:: | ||
ASQ=0x28 register offset | ||
|
||
--acq=<val>:: | ||
ACQ=0x30 register offset | ||
|
||
--bprsel=<val>:: | ||
BPRSEL=0x44 register offset | ||
|
||
--bpmbl=<val>:: | ||
BPMBL=0x48 register offset | ||
|
||
--cmbmsc=<val>:: | ||
CMBMSC=0x50 register offset | ||
|
||
--nssd=<val>:: | ||
NSSD=0x64 register offset | ||
|
||
--pmrctl=<val>:: | ||
PMRCTL=0xe04 register offset | ||
|
||
--pmrmscl=<val>:: | ||
PMRMSCL=0xe14 register offset | ||
|
||
--pmrmscu=<val>:: | ||
PMRMSCU=0xe18 register offset | ||
|
||
-o <fmt>:: | ||
--output-format=<fmt>:: | ||
Set the reporting format to 'normal', 'json' or 'binary'. Only one | ||
output format can be used at a time. | ||
|
||
-v:: | ||
--verbose:: | ||
Increase the information detail in the output. | ||
|
||
EXAMPLES | ||
-------- | ||
* The following will run the set-reg command with offset 0x14 and value 0x460000 | ||
+ | ||
------------ | ||
# nvme set-reg /dev/nvme0 -O 0x14 -V 0x460000 | ||
------------ | ||
|
||
NVME | ||
---- | ||
Part of the nvme-user suite. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.