diff options
author | jimharris <jimharris@FreeBSD.org> | 2013-06-27 00:08:25 +0000 |
---|---|---|
committer | jimharris <jimharris@FreeBSD.org> | 2013-06-27 00:08:25 +0000 |
commit | c15f698fb461ff5e7a9135b74eede196265fc6ca (patch) | |
tree | 3571085198d80536800262955a43857e3051d055 /sys/dev | |
parent | 246ba1c3a87a263471fd5516bb5f329ab6143c1c (diff) | |
download | FreeBSD-src-c15f698fb461ff5e7a9135b74eede196265fc6ca.zip FreeBSD-src-c15f698fb461ff5e7a9135b74eede196265fc6ca.tar.gz |
Add firmware replacement and activation support to nvmecontrol(8) through
a new firmware command.
NVMe controllers may support up to 7 firmware slots for storing of
different firmware revisions. This new firmware command supports
firmware replacement (i.e. firmware download) with or without immediate
activation, or activation of a previously stored firmware image. It
also supports selection of the firmware slot during replacement
operations, using IDENTIFY information from the controller to
check that the specified slot is valid.
Newly activated firmware does not take effect until the new controller
reset, either via a reboot or separate 'nvmecontrol reset' command to the
same controller.
Submitted by: Joe Golio <joseph.golio@emc.com>
Obtained from: EMC / Isilon Storage Division
MFC after: 3 days
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/nvme/nvme.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/dev/nvme/nvme.h b/sys/dev/nvme/nvme.h index 0ebb75f..7c7f3d3 100644 --- a/sys/dev/nvme/nvme.h +++ b/sys/dev/nvme/nvme.h @@ -383,6 +383,12 @@ enum nvme_dsm_attribute { NVME_DSM_ATTR_DEALLOCATE = 0x4, }; +enum nvme_activate_action { + NVME_AA_REPLACE_NO_ACTIVATE = 0x0, + NVME_AA_REPLACE_ACTIVATE = 0x1, + NVME_AA_ACTIVATE = 0x2, +}; + struct nvme_controller_data { /* bytes 0-255: controller capabilities and features */ |