Add nvme wiring example

Add NVMe and MMC/SD card support info.

Sponsored by: Netflix
This commit is contained in:
Warner Losh 2017-12-20 19:14:20 +00:00
parent 4571c92f4b
commit 5ee9f05085

View file

@ -54,13 +54,17 @@ The
.Nm
subsystem provides a uniform and modular system for the implementation
of drivers to control various
.Tn SCSI
.Tn SCSI ,
.Tn ATA ,
.Tn NMVe ,
and
.Tn ATA
.Tn MMC / SD
devices, and to utilize different
.Tn SCSI
.Tn SCSI ,
.Tn ATA ,
.Tn NVMe ,
and
.Tn ATA
.Tn MMC / SD
host adapters through host adapter drivers.
When the system probes buses, it attaches any devices it finds to the
appropriate drivers.
@ -213,6 +217,31 @@ and use the first respective counted instances.
These examples can be combined together to allow a peripheral device to be
wired to any particular controller, bus, target, and/or unit instance.
.Pp
This also works with
.Xr nvme 4
drives as well.
.Bd -literal -offset indent
hint.nvme.4.at="pci7:0:0"
hint.scbus.10.at="nvme4"
hint.nda.10.at="scbus10"
hint.nda.10.target="1"
hint.nda.10.unit="12"
hint.nda.11.at="scbus10"
hint.nda.11.target="1"
hint.nda.11.unit="2"
.Ed
.Pp
This assigns the NVMe card living at PCI bus 7 to scbus 10 (in PCIe,
slot and function are rarely used and usually 0).
The target for
.Xr nda 4
devices is always 1.
The unit is the namespace identifier from the drive.
The namespace id 1 is exported as
.Tn nda10
and namespace id 2 is exported as
.Tn nda11 .
.Pp
When you have a mixture of wired down and counted devices then the
counting begins with the first non-wired down unit for a particular
type.
@ -225,9 +254,11 @@ The system allows common device drivers to work through many different
types of adapters.
The adapters take requests from the upper layers and do
all IO between the
.Tn SCSI
.Tn SCSI ,
.Tn ATA ,
.Tn NVMe ,
or
.Tn ATA
.Tn MMC / SD
bus and the system.
The maximum size of a transfer is governed by the
adapter.
@ -322,6 +353,7 @@ for details.
.Xr cd 4 ,
.Xr ch 4 ,
.Xr da 4 ,
.Xr nvme 4 ,
.Xr pass 4 ,
.Xr pt 4 ,
.Xr sa 4 ,
@ -351,3 +383,8 @@ The
.Tn ATA
support was added by
.An Alexander Motin Aq Mt mav@FreeBSD.org .
The
.Nm
.Tn NVMe
support was added by
.An Warner Losh Aq Mt imp@FreeBSD.org .