svn commit: r248764 - head/sys/dev/nvme

Jim Harris jimharris at FreeBSD.org
Tue Mar 26 21:42:54 UTC 2013


Author: jimharris
Date: Tue Mar 26 21:42:53 2013
New Revision: 248764
URL: http://svnweb.freebsd.org/changeset/base/248764

Log:
  Set Pre-boot Software Load Count to 0 at the end of the controller
  start process.
  
  The spec indicates the OS driver should use Set Features (Software
  Progress Marker) to set the pre-boot software load count to 0
  after the OS driver has successfully been initialized.  This allows
  pre-boot software to determine if there have been any issues with the
  OS loading.
  
  Sponsored by:	Intel
  Reviewed by:	carl

Modified:
  head/sys/dev/nvme/nvme_ctrlr.c

Modified: head/sys/dev/nvme/nvme_ctrlr.c
==============================================================================
--- head/sys/dev/nvme/nvme_ctrlr.c	Tue Mar 26 21:19:26 2013	(r248763)
+++ head/sys/dev/nvme/nvme_ctrlr.c	Tue Mar 26 21:42:53 2013	(r248764)
@@ -762,6 +762,16 @@ nvme_ctrlr_start(void *ctrlr_arg)
 
 	for (i = 0; i < ctrlr->num_io_queues; i++)
 		nvme_io_qpair_enable(&ctrlr->ioq[i]);
+
+	/*
+	 * Clear software progress marker to 0, to indicate to pre-boot
+	 *  software that OS driver load was successful.
+	 *
+	 * Chatham does not support this feature.
+	 */
+	if (pci_get_devid(ctrlr->dev) != CHATHAM_PCI_ID)
+		nvme_ctrlr_cmd_set_feature(ctrlr,
+		    NVME_FEAT_SOFTWARE_PROGRESS_MARKER, 0, NULL, 0, NULL, NULL);
 }
 
 void


More information about the svn-src-all mailing list