summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorjimharris <jimharris@FreeBSD.org>2013-06-27 00:08:25 +0000
committerjimharris <jimharris@FreeBSD.org>2013-06-27 00:08:25 +0000
commitc15f698fb461ff5e7a9135b74eede196265fc6ca (patch)
tree3571085198d80536800262955a43857e3051d055 /sys/dev
parent246ba1c3a87a263471fd5516bb5f329ab6143c1c (diff)
downloadFreeBSD-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.h6
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 */
OpenPOWER on IntegriCloud