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
This commit is contained in:
jimharris 2013-03-26 21:42:53 +00:00
parent 63beb43e5f
commit 89ce8fee13

View File

@ -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