opnsense-src/sys/dev
Warner Losh 93289cfcd2 Create a AHCI attachment for nvme.
Intel has created RST and many laptops from vendors like Lenovo and Asus. It's a
mechanism for creating multiple boot devices under windows. It effectively hides
the nvme drive inside of the ahci controller. The details are supposed to be a
trade secret. However, there's a reverse engineered Linux driver, and this
implements similar operations to allow nvme drives to attach. The ahci driver
attaches nvme children that proxy the remapped resources to the child. nvme_ahci
is just like nvme_pci, except it doesn't do the PCI specific things. That's
moved into ahci where appropriate.

When the nvme drive is remapped, MSI-x interrupts aren't forwarded (the linux
driver doesn't know how to use this either). INTx interrupts are used
instead. This is suboptimal, but usually sufficient for the laptops these parts
are in.

This is based loosely on https://www.spinics.net/lists/linux-ide/msg53364.html
submitted, but not accepted by, Linux. It was written by Dan Williams. These
changes were written from scratch by Olivier Houchard.

Submitted by: cognet@ (Olivier Houchard)
2019-08-21 22:18:01 +00:00
..
aac
aacraid
acpi_support
acpica Don't set the string "unknown" as a device's location_str 2019-08-19 17:51:06 +00:00
adb
adlink
ae
age
agp
ahci Create a AHCI attachment for nvme. 2019-08-21 22:18:01 +00:00
aic7xxx
al_eth
alc
ale
alpm
altera
amd_ecc_inject
amdgpio
amdpm
amdsbwd
amdsmb
amdsmn amdtemp(4), amdsmn(4): Attach to Ryzen 3 (Zen 2) hostbridges 2019-08-06 03:54:27 +00:00
amdtemp amdtemp(4), amdsmn(4): Attach to Ryzen 3 (Zen 2) hostbridges 2019-08-06 03:54:27 +00:00
amr
an
arcmsr
asmc
ata
ath
atkbdc
auxio
axgbe
bce
beri
bfe
bge
bhnd
bktr
bnxt
bvm
bwi
bwn
bxe Update bxe(4) to use new zlib. 2019-08-08 06:30:12 +00:00
cadence
cardbus
cas
ce
cesa
cfe
cfi
chromebook_platform
ciss
cmx
coretemp
cp
cpuctl
cpufreq
ctau
cx
cxgb
cxgbe This adds the third step in getting BBR into the tree. BBR and 2019-08-01 14:17:31 +00:00
cy
cyapa
dc
dcons
dme
dpaa dpaa: Fix warnings in dtsec(4) found by clang 2019-08-21 02:26:22 +00:00
dpms
drm2
dwc
e1000
efidev
ena
esp
et
etherswitch
evdev
exca
extres Add method for getting of syscon handle from parent device. 2019-08-18 08:08:56 +00:00
fb
fdc GEOM: Reduce unnecessary log interleaving with sbufs 2019-08-07 19:28:35 +00:00
fdt Fix bug introduced by r351184. 2019-08-18 15:37:19 +00:00
ffec
filemon
firewire
flash
fxp
gem
glxiic
glxsb
gpio Add PNP_INFO to the gpiopps driver. 2019-08-13 15:38:05 +00:00
gxemul
hdmi
hifn
hme
hpt27xx
hptiop
hptmv
hptnr
hptrr
hwpmc
hyperv
ic
ichiic
ichsmb
ichwd
ida
if_ndis
iicbus twsi: Fix build when DEBUG is used on 32bits arch. 2019-08-15 18:59:52 +00:00
iir
imcsmb
intel
intpm
io
ioat
ipmi
ips
ipw
isci
iscsi
iscsi_initiator
iser
isl
ismt
isp
ispfw
iwi
iwm
iwn
ixgbe
ixl
jedec_dimm
jme
kbd
kbdmux
ksyms
le
led
lge
liquidio
malo
mbox
mc146818
md md(4): remove the unused and unusable MDIOCLIST ioctl. 2019-08-16 18:57:32 +00:00
mdio
mem
mfi
mge
mii
mk48txx
mlx
mlx4
mlx5 Fix warnings about unused identifiers when compiling without RATELIMIT. 2019-08-02 15:19:11 +00:00
mlxfw
mly
mmc Enhance support of extres in dwmmc driver. 2019-08-18 08:54:10 +00:00
mmcnull
mn
mpr
mps
mpt
mrsas
msk
mthca
mvs
mwl
mxge if_mxge: update zlib version 1.0.4 to 1.2.11. 2019-08-03 03:36:18 +00:00
my
nctgpio
neta
netfpga10g/nf10bmac
netmap
nfe
nfsmb
nge
nmdm
ntb NTB Tool: Test driver for NTB hardware drivers. 2019-08-16 20:14:37 +00:00
null
nvd Add missing break statements in r351004. 2019-08-14 02:02:14 +00:00
nvdimm Don't set the string "unknown" as a device's location_str 2019-08-19 17:51:06 +00:00
nvme Create a AHCI attachment for nvme. 2019-08-21 22:18:01 +00:00
nvram
nvram2env
oce oce(4): potential out of bounds access before vector validation 2019-08-06 13:09:20 +00:00
ocs_fc
ofw ofw: ofw_reg_to_paddr: Use a 256 static array for the cell 2019-08-07 13:13:16 +00:00
otus
ow
pbio
pccard
pccbb
pcf
pci Fix the build after r350570. 2019-08-04 19:47:02 +00:00
pms
powermac_nvram
ppbus
ppc
proto
psci
pst
pty
puc
pwm
qlnx
qlxgb
qlxgbe
qlxge
quicc
ral ral: rt2860: fix wcid2ni access/size issue 2019-08-06 20:21:57 +00:00
random random(4): Reorder configuration of random source modules 2019-08-18 16:04:01 +00:00
rc
rccgpio
re
rl
rndtest
rp
rt
rtwn rtwn_pci: add device ID for RTL8192CE. 2019-08-12 08:01:21 +00:00
safe
sbni
scc
sdhci Allow the sdhci timeout sysctl var to be set as a tunable. Also, add a 2019-08-10 20:03:14 +00:00
sdio
sec
sfxge
sge
siis
sio
sis
sk
smartpqi
smbus
smc
snp
sound Fix sound on headset jack for ThinkPad T51. 2019-08-21 08:01:43 +00:00
speaker
spibus
ste
stge
superio
sym
syscons
tcp_log
tdfx
terasic
ti
tpm
trm
tsec
twa
twe
tws
uart
ubsec
usb Unbreak USB ethernet module builds 2019-08-20 15:14:32 +00:00
veriexec
vge
viapm
viawd
videomode
virtio
vkbd
vmware
vnic
vr
vt
vte
watchdog
wbwd
wi
wpi
wtap
xdma
xen
xilinx
xl
xz
zlib Expose zlib's utility functions in Z_SOLO library when building kernel. 2019-08-07 01:41:17 +00:00