Adding upstream version 1.14.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
ac60c09ef6
commit
2066c5b305
305 changed files with 20664 additions and 6099 deletions
150
Documentation/nvme-rpmb.txt
Normal file
150
Documentation/nvme-rpmb.txt
Normal file
|
@ -0,0 +1,150 @@
|
|||
nvme-rpmb(1)
|
||||
==============
|
||||
|
||||
NAME
|
||||
----
|
||||
nvme-rpmb - Send RPMB commands to an NVMe device
|
||||
|
||||
SYNOPSIS
|
||||
--------
|
||||
[verse]
|
||||
'nvme rpmb' <device> [--cmd=<command> | -c <command>]
|
||||
[--msgfile=<data-file> | -f <data-file>]
|
||||
[--keyfile=<key-file> | -g <key-file>]
|
||||
[--key=<key> | -k <key>]
|
||||
[--msg=<data> | -d <data>]
|
||||
[--address=<offset> | -o <offset>]
|
||||
[--blocks=<512 byte sectors> | -b <sectors> ]
|
||||
[--target=<target-id> | -t <id> ]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
For the NVMe device given, send an nvme rpmb command and provide the results.
|
||||
|
||||
The <device> parameter is mandatory and NVMe character device (ex: /dev/nvme0)
|
||||
must be specified. If the given device supports RPMB targets, command given
|
||||
with --cmd or -c option shall be sent to the controller. If given NVMe device
|
||||
doesn't support RPMB targets, a message indicating the same shall be printed
|
||||
along with controller register values related RPMB.
|
||||
|
||||
OPTIONS
|
||||
-------
|
||||
-c <command>::
|
||||
--cmd=<command>::
|
||||
RPMB command to be sent to the device. It can be one of the following
|
||||
|
||||
info - print information regarding supported RPMB targets and
|
||||
access and total sizes. No further arguments are required
|
||||
|
||||
program-key - program 'key' specified with -k option or key read from
|
||||
file specified with --keyfile option to the specified
|
||||
RPMB target given with --target or -t options. As per
|
||||
spec, this is one time action which can't be undone.
|
||||
|
||||
read-couter - Read 'write counter' of specified RPMB target. The
|
||||
counter value read is printed onto STDOUT
|
||||
|
||||
read-config - Read 512 bytes of device configuration block data of
|
||||
specified RPMB target of the NVMe device. The data read
|
||||
is written to input file specified with --msgfile or -f
|
||||
option.
|
||||
write-config - Write 512 byes of device configuration block data
|
||||
from file specified by --msgfile or -f options to the
|
||||
RPMB target specified with --target or -t options.
|
||||
|
||||
read-data - Supports authenticated data reading from specified
|
||||
RPMB target (--target or -t option) at given offset
|
||||
specified with --address or -o option, using key
|
||||
specified using --keyfile or -k options. --blocks or
|
||||
-o option should be given to read the amount of data
|
||||
to be read in 512 byte blocks.
|
||||
|
||||
write-data - Supports authenticated data writting to specified RPMB
|
||||
target (--target or -t option) at given offset
|
||||
specified with --address or -o option, using key
|
||||
specified using --keyfile or -k options. --blocks or
|
||||
-o option should be given to indicate amount of data
|
||||
to be written in 512 byte blocks.
|
||||
|
||||
For data transfer (read/write) commands, if the specified size is not
|
||||
within the total size supported by a target, the request is failed
|
||||
nvme-rpmb without sending it to device. RPMB target 0 is used as the
|
||||
default target if --target or -t is not specified. 0x0 is used as the
|
||||
default address if no -address or -o option is specified,
|
||||
|
||||
-t <target>::
|
||||
--target=<target>::
|
||||
RPMB target id. This should be one of the supported RPMB targets as
|
||||
reported by 'info' command. If nothing is given, default of 0 is used
|
||||
as RPMB target.
|
||||
|
||||
-k <key>::
|
||||
--key=<key>::
|
||||
-g <key-file>::
|
||||
--keyfile=<key-file>::
|
||||
Authentication key to be used for read/write commands. This should have
|
||||
been already programmed by 'program-key' command for given target. Key
|
||||
can be specified on command line using --key or -k options. Key can
|
||||
also be specified using file argument specified with --keyfile or -g
|
||||
options.
|
||||
|
||||
-f <data-file>::
|
||||
--msgfile=<data-file>::
|
||||
Name of the file to be used for data transfer commands (read or write).
|
||||
For read command, if an existing file is specified, it will be appended.
|
||||
|
||||
-d <data>::
|
||||
--msg=<data>::
|
||||
These options provide the data on the command line itself.
|
||||
-o <offset>::
|
||||
--address=<offset>::
|
||||
The address (in 512 byte sector offset from 0) to be used for data
|
||||
trasnfer commands (read or write) for a specified RPMB target.
|
||||
-b::
|
||||
--blocks=<sectors>::
|
||||
The size in 512 byte sectors to be used for data trasnfer commands
|
||||
(read or write) for a specified RPMB target.
|
||||
|
||||
EXAMPLES
|
||||
--------
|
||||
* Print RPMB support information of an NVMe device
|
||||
+
|
||||
-----------
|
||||
# nvme rpmb /dev/nvme0 --cmd=info
|
||||
-----------
|
||||
+
|
||||
* Program 'SecreteKey' as authentication key for target 1
|
||||
+
|
||||
------------
|
||||
# nvme rpmb /dev/nvme0 --cmd=program-key -key='SecretKey' --target=1
|
||||
------------
|
||||
+
|
||||
* Read current write counter of RPMB target 0
|
||||
+
|
||||
------------
|
||||
# nvme rpmb /dev/nvme0 --cmd=read-counter --target=0
|
||||
------------
|
||||
+
|
||||
* Read configuration data block of target 2 into config.bin file
|
||||
+
|
||||
------------
|
||||
# nvme rpmb /dev/nvme0 --cmd=read-config --target=2 -f config.bin
|
||||
------------
|
||||
+
|
||||
* Write 200 blocks of (512 bytes) from input.bin onto target 0
|
||||
+
|
||||
------------
|
||||
# nvme rpmb /dev/nvme0 -c write-data -t 0 -f input.bin -b 200 -k 'SecreteKey'
|
||||
------------
|
||||
+
|
||||
* Read 200 blocks of (512 bytes) from target 2, at offset 0x100 and save the
|
||||
* data onto output.bin
|
||||
+
|
||||
------------
|
||||
# nvme rpmb /dev/nvme0 -c read-data -t 2 -f out.bin -b 200 -o 0x100
|
||||
------------
|
||||
|
||||
NVME
|
||||
----
|
||||
Part of the nvme-user suite
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue