[Feature] Volume Management Device (VMD) Driver
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
intel |
Fix Released
|
Undecided
|
Unassigned | ||
linux (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bug Description
The Volume Management Device (VMD) is a secondary PCI Express host bridge provided by the Intel CPU. Individual CPU-attached root ports, and all devices behind them, may be configured by BIOS to appear underneath VMD instead of underneath the primary root bus.
VMD is represented by a root bus integrated endpoint, which serves as a proxy to the devices beneath it for access to configuration space, MMIO, DMA, and MSI.
The VMD driver implements Linux's PCI host bridge interface. When probed, the driver dynamically creates a new PCI domain(segment). The PCI subsystem enumerates the VMD PCI domain and loads drivers for devices and ports it finds.
A software validation team is testing the driver with VMD-enabled servers, PCIe switches, and NVMe PCIe SSDs. They will also be testing error handling and hotplug for SSDs behind VMD-owned root ports.
http://
http://
HW: Purley
Upstream statues:
v4.5 kernel implement this with:
185a383 x86/PCI: Add driver for Intel Volume Management Device (VMD)
28ef241 PCI/AER: Use 32 bit PCI domain numbers
d9c3d6f x86/PCI: Allow DMA ops specific to a PCI domain
64bce3e irqdomain: Export irq_domain_
bf6f869 genirq/MSI: Relax msi_domain_alloc() to support parentless MSI irqdomain
The v4.8 based kernel has been uploaded to the Yakkety 16.10 archive. I'm setting this to Fix Released.