summaryrefslogtreecommitdiff
path: root/usr/src/man
diff options
context:
space:
mode:
authorPaul Winder <Paul.Winder@wdc.com>2019-06-20 15:59:05 +0100
committerGordon Ross <gwr@nexenta.com>2019-07-09 21:53:03 -0400
commitcf8408718275b7f097c42550143f5c9517e00cc0 (patch)
tree609264da5c24416722fb123f9103a5ad893e5535 /usr/src/man
parent6dc3349ea11b33c713d10bcd174888010862f0ee (diff)
downloadillumos-gate-cf8408718275b7f097c42550143f5c9517e00cc0.tar.gz
11203 Support for NVMe drive firmware updates
Reviewed by: Robert Mustacchi <rm@joyent.com> Reviewed by: Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org> Reviewed by: Gergő Mihály Doma <domag02@gmail.com> Reviewed by: C Fraire <cfraire@me.com> Approved by: Gordon Ross <gwr@nexenta.com>
Diffstat (limited to 'usr/src/man')
-rw-r--r--usr/src/man/man1m/nvmeadm.1m113
1 files changed, 112 insertions, 1 deletions
diff --git a/usr/src/man/man1m/nvmeadm.1m b/usr/src/man/man1m/nvmeadm.1m
index 505a75030b..feb699dd79 100644
--- a/usr/src/man/man1m/nvmeadm.1m
+++ b/usr/src/man/man1m/nvmeadm.1m
@@ -10,8 +10,9 @@
.\"
.\"
.\" Copyright 2016 Nexenta Systems, Inc. All rights reserved.
+.\" Copyright 2019 Western Digital Corporation.
.\"
-.Dd January 19, 2018
+.Dd June 27, 2019
.Dt NVMEADM 1M
.Os
.Sh NAME
@@ -57,6 +58,22 @@
.Op Fl dv
.Cm attach
.Ar ctl[/ns]
+.Nm
+.Op Fl dv
+.Cm load-firmware
+.Ar ctl
+.Ar firmware-file
+.Op Ar offset
+.Nm
+.Op Fl dv
+.Cm commit-firmware
+.Ar ctl
+.Ar slot
+.Nm
+.Op Fl dv
+.Cm activate-firmware
+.Ar ctl
+.Ar slot
.Sh DESCRIPTION
The
.Nm
@@ -133,6 +150,30 @@ with the
.Nm
.Cm identify
command.
+.It Ar firmware-file
+Specifies the name of a firmware file to be loaded into the controller
+using the
+.Cm load-firmware
+command.
+.It Ar offset
+Specifies the byte offset at which to load
+.Ar firmware-file
+within the controller's upload buffer.
+Vendors may require multiple images to be loaded at different offsets
+before a firmware set is committed to a
+.Ar slot .
+.It Ar slot
+Specifies the firmware slot into which a firmware set is committed
+using the
+.Cm commit-firmware
+command, and subsequently activated with the
+.Cm activate-firmware
+command.
+Slots and their contents can be printed using
+.Cm nvmeadm get-logpage
+to request the
+.Ar firmware
+logpage.
.El
.Sh COMMANDS
.Bl -tag -width ""
@@ -303,6 +344,41 @@ previous
.Nm
.Cm detach
command.
+.It Xo
+.Nm
+.Cm load-firmware
+.Ar ctl
+.Ar firmware-file
+.Op Ar offset
+.Xc
+Loads
+.Ar firmware-file
+into the controller's upload memory at
+.Ar offset ,
+the default is 0. A vendor may require multiple files to be loaded
+at different offsets before the firmware is committed to a
+.Ar slot .
+.It Xo
+.Nm
+.Cm commit-firmware
+.Ar ctl
+.Ar slot
+.Xc
+Commits firmware previously loaded by the
+.Cm load-firmware
+command to
+.Ar slot .
+.It Xo
+.Nm
+.Cm activate-firmware
+.Ar ctl
+.Ar slot
+.Xc
+Activates the firmware in slot
+.Ar slot .
+The firmware image in
+.Ar slot
+is activated at the next NVM controller reset.
.El
.Sh EXIT STATUS
.Ex -std
@@ -393,6 +469,41 @@ nvme4: Get Features
Power Management
Power State: 0
.Ed
+.It Sy Example 5: Load and activate firmware
+.Bd -literal
+# nvmeadm get-logpage nvme3 firmware
+nvme3: Firmware Slot Information
+ Active Firmware Slot: 4
+ Next Firmware Slot: 4
+ Firmware Revision for Slot 1: KNGND110
+ Firmware Revision for Slot 2: KNGND110
+ Firmware Revision for Slot 3: KNGND110
+ Firmware Revision for Slot 4: KNGND112
+ Firmware Revision for Slot 5: KNGND110
+ Firmware Revision for Slot 6: <Unused>
+ Firmware Revision for Slot 7: <Unused>
+
+# nvmeadm -v load-firmware nvme3 KNGND113.bin
+1740544 bytes downloaded.
+
+# nvmeadm -v commit-firmware nvme3 5
+Firmware committed to slot 5.
+
+# nvmeadm -v activate-firmware nvme3 5
+Slot 5 activated: NVM subsystem reset required - power cycle your system.
+
+# nvmeadm get-logpage nvme3 firmware
+nvme3: Firmware Slot Information
+ Active Firmware Slot: 4
+ Next Firmware Slot: 5
+ Firmware Revision for Slot 1: KNGND110
+ Firmware Revision for Slot 2: KNGND110
+ Firmware Revision for Slot 3: KNGND110
+ Firmware Revision for Slot 4: KNGND112
+ Firmware Revision for Slot 5: KNGND113
+ Firmware Revision for Slot 6: <Unused>
+ Firmware Revision for Slot 7: <Unused>
+.Ed
.El
.Sh INTERFACE STABILITY
The command line interface of