Bug 233960 - Add Volume Management Device (VMD) stub driver
Summary: Add Volume Management Device (VMD) stub driver
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: CURRENT
Hardware: amd64 Any
: --- Affects Many People
Assignee: Doug Ambrisko
URL:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2018-12-12 17:01 UTC by David Fugate
Modified: 2019-10-11 02:29 UTC (History)
4 users (show)

See Also:


Attachments
VMD Driver Patch (4.43 KB, patch)
2018-12-12 17:01 UTC, David Fugate
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description David Fugate 2018-12-12 17:01:51 UTC
Created attachment 200058 [details]
VMD Driver Patch

At a high-level, "Intel® VMD enables hot swap replacement of NVMe* SSDs from the PCIe* bus without shutting down the system while standardized LED management helps provide quick identification of SSD status."  

This is realized through the addition of a VMD controller on the PCIe bus of high-end systems (e.g., Xeon) which "hides" 1 to N PCIe ports underneath it.  As you might imagine, this implies the need for a VMD driver which either delegates incoming NVMe requests to the appropriate drivers (e.g., NVMe, hot-plug, etc.) or a VMD driver which incorporates the NVMe, hot-plug, etc. functionality all on its own.

FreeBSD is missing either such type of VMD driver today, and consequently end-users like Netflix are getting the mistaken impression FreeBSD doesn't have a driver for their invisible NVMe devices or the NVMe devices are broken...

Attached to this bug report is a patch adding a VMD stub driver informing the end-user they should disable the VMD feature in their BIOS.  This stub driver is a stop-gap measure to eventually be replaced with a full-fledged VMD driver (I work for the NVMe/VMD OSS driver team at Intel).
Comment 1 David Fugate 2018-12-12 17:37:40 UTC
BTW, this patch was tested in a system with VMD enabled:
root@midnight-freebsd:/usr/src # dmesg | grep vmd
vmd0: Unsupported Volume Management Device (VMD) controller enabled.
Comment 2 Doug Ambrisko freebsd_committer 2019-03-18 23:47:59 UTC
Hi David,

I have a hacked up VMD driver limping along.  I'd like to co-ordinate work on this.  It's not full feature but I can do I/Os to SSD's in VMD mode and with VROC enabled.  GRAID should be taught how to read the EFI variable from VROC
and get RAID 5 write support etc.
Comment 3 Doug Ambrisko freebsd_committer 2019-10-11 02:29:24 UTC
Checked in driver r353380.