freebsd-nq/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 Make uniqueifier match the module definition. 2019-05-24 01:43:29 +00:00
aacraid Make aacraid(4) working on ASR8805 & ASR8402 in particular. This patch 2019-05-22 04:51:08 +00:00
acpi_support Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
acpica Don't set the string "unknown" as a device's location_str 2019-08-19 17:51:06 +00:00
adb Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
adlink
ae FCP-101: ae(4) is sufficently popular to be moved to the keep list. 2019-05-16 15:22:17 +00:00
age
agp
ahci Create a AHCI attachment for nvme. 2019-08-21 22:18:01 +00:00
aic7xxx [aic7xxx] Use correct product name 29320LPE instead of non-existent 39320LPE 2019-01-19 05:31:48 +00:00
al_eth
alc
ale
alpm
altera Add glue driver for Altera SOCFPGA Ethernet MAC (EMAC) found in 2019-07-29 16:32:23 +00:00
amd_ecc_inject
amdgpio amdgpio: small formatting cleanup 2019-05-24 06:07:33 +00:00
amdpm
amdsbwd Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
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 asmc: Add support for Mac mini 2,1 2019-02-25 21:59:01 +00:00
ata GC ATA_REQUEST_TIMEOUT option remnants 2019-02-16 01:48:38 +00:00
ath [ath_hal] Fix queue bits a bit 2019-05-28 18:05:10 +00:00
atkbdc Add macOS-like three finger drag trackpad gesture to psm(4) 2019-06-16 03:06:05 +00:00
auxio
axgbe
bce
beri Fix off-by-one error in BERI virtio driver 2019-02-11 07:42:32 +00:00
bfe
bge bge: check that the bus is a pci bus before using it as such 2019-07-16 08:36:49 +00:00
bhnd Avoid relying on header pollution from sys/refcount.h. 2019-07-29 20:26:01 +00:00
bktr
bnxt
bvm
bwi Fix ieee80211_radiotap(9) usage in wireless drivers: 2019-03-11 01:27:01 +00:00
bwn bwn(4): Include SROM revision when printing device identification. 2019-07-02 02:52:05 +00:00
bxe Update bxe(4) to use new zlib. 2019-08-08 06:30:12 +00:00
cadence Add support for Cadence network controller found in HiFive Unleashed board. 2019-04-24 13:44:30 +00:00
cardbus Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
cas
ce
cesa
cfe
cfi Fix AMD type flash write operations, and display chip information at boot 2019-03-24 06:28:25 +00:00
chromebook_platform
ciss Don't print the request we may be aborting in ciss_notify_abort as 2019-06-13 05:19:42 +00:00
cmx Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
coretemp Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
cp
cpuctl Mitigations for Microarchitectural Data Sampling. 2019-05-14 17:02:20 +00:00
cpufreq Improve cpufreq_dt. 2019-03-19 14:34:53 +00:00
ctau Fix two errors reported by PVS Studio: V646 Consider inspecting the 2019-05-26 12:41:03 +00:00
cx
cxgb cxgb(4): Netdump: only reference allocated qsets 2019-03-01 01:57:22 +00:00
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 Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
dme Update dme(4) to reflect that it will not be removed due to FCP-101. 2019-05-08 19:05:58 +00:00
dpaa dpaa: Fix warnings in dtsec(4) found by clang 2019-08-21 02:26:22 +00:00
dpms
drm2 Avoid relying on header pollution from sys/refcount.h. 2019-07-29 20:26:01 +00:00
dwc
e1000 o Avoid determining the MAC class (LEM/EM or IGB) - possibly even multiple 2019-05-07 08:31:54 +00:00
efidev efirt efi_enter(): Release acquired locks and restore FPU ownership if 2019-06-03 15:41:45 +00:00
ena Update ENA version to v2.0.0 2019-05-30 13:52:32 +00:00
esp
et
etherswitch Add support for the Marvell 88E6190 11 ports switch. 2019-07-01 13:41:37 +00:00
evdev Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
exca
extres Add method for getting of syscon handle from parent device. 2019-08-18 08:08:56 +00:00
fb Include eventhandler.h in more compilation units 2019-05-21 01:18:43 +00:00
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 Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
flash Use the new FDTCOMPAT_PNP_INFO() macro to define SPIBUS_FDT_PNP_INFO(). 2019-05-23 15:59:50 +00:00
fxp Remove a use of a negative array index from fxp(4). 2018-12-19 04:54:32 +00:00
gem
glxiic
glxsb
gpio Add PNP_INFO to the gpiopps driver. 2019-08-13 15:38:05 +00:00
gxemul
hdmi Include eventhandler.h in more compilation units 2019-05-21 01:18:43 +00:00
hifn
hme
hpt27xx
hptiop
hptmv
hptnr
hptrr
hwpmc Don't refer to the cpu variable in a KASSERT before initializing it. 2019-06-06 15:18:23 +00:00
hyperv hyperv/vmbus: Fix the wrong size in ndis_offload structure 2019-07-09 08:21:14 +00:00
ic
ichiic Catch up with r338948. 2018-12-17 21:34:09 +00:00
ichsmb Add some Cannon Lake chipset IDs. 2019-03-20 17:27:00 +00:00
ichwd Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
ida Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
if_ndis Fix compilation with 'option NDISAPI + device ndis' and 2019-01-30 11:40:12 +00:00
iicbus twsi: Fix build when DEBUG is used on 32bits arch. 2019-08-15 18:59:52 +00:00
iir Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
imcsmb Remove unecessary "All rights reserved" from files under my or Panasas's 2019-01-30 16:55:00 +00:00
intel
intpm intpm: change translation of HBA error status to smbus(4) errors 2019-03-22 10:38:22 +00:00
io
ioat Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
ipmi The current IPMI KCS code is waiting 100us for all transitions (roughly 2019-06-12 16:06:31 +00:00
ips Add the likely missing braces in ips(4). This is found by gcc warning that 2019-05-29 18:11:17 +00:00
ipw Fix ieee80211_radiotap(9) usage in wireless drivers: 2019-03-11 01:27:01 +00:00
isci Enforce a 4GB DMA boundary on isci(4) 2019-07-10 22:23:59 +00:00
iscsi Separate kernel crc32() implementation to its own header (gsb_crc32.h) and 2019-06-17 19:49:08 +00:00
iscsi_initiator Separate kernel crc32() implementation to its own header (gsb_crc32.h) and 2019-06-17 19:49:08 +00:00
iser
isl
ismt
isp Fix FC-Tape bugs caused in part by r345008. 2019-05-24 17:58:29 +00:00
ispfw
iwi urtw(4), otus(4), iwi(4): allow to set non-default MAC address via ifconfig(8) 2019-04-10 08:17:56 +00:00
iwm iwm: Drain callouts after stopping the device during detach. 2019-07-03 21:05:40 +00:00
iwn Fix ieee80211_radiotap(9) usage in wireless drivers: 2019-03-11 01:27:01 +00:00
ixgbe ixgbe(4): Fix enabling/disabling and reconfiguration of queues 2019-07-23 18:14:32 +00:00
ixl Add the missing braces to fix the code not guarded by the if clause and has 2019-05-30 20:42:36 +00:00
jedec_dimm Teach jedec_dimm(4) to be more forgiving of non-fatal errors. 2019-03-27 21:50:01 +00:00
jme
kbd
kbdmux
ksyms ksyms: Fixup symbols for powerpc in the kernel, not just modules 2019-05-20 02:41:09 +00:00
le
led Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
lge
liquidio Separate kernel crc32() implementation to its own header (gsb_crc32.h) and 2019-06-17 19:49:08 +00:00
malo Fix ieee80211_radiotap(9) usage in wireless drivers: 2019-03-11 01:27:01 +00:00
mbox
mc146818
md md(4): remove the unused and unusable MDIOCLIST ioctl. 2019-08-16 18:57:32 +00:00
mdio
mem
mfi Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
mge
mii Find the correct node of PHY chip using "phy-handle" property of 2019-07-29 14:58:29 +00:00
mk48txx
mlx Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
mlx4 Include eventhandler.h in more compilation units 2019-05-21 01:18:43 +00:00
mlx5 Fix warnings about unused identifiers when compiling without RATELIMIT. 2019-08-02 15:19:11 +00:00
mlxfw Initial version of Mellanox in-kernel firmware upgrade support. 2019-05-08 10:49:05 +00:00
mly
mmc Enhance support of extres in dwmmc driver. 2019-08-18 08:54:10 +00:00
mmcnull
mn
mpr More fully implement the state machine. 2019-07-11 06:22:15 +00:00
mps Fix bugs in recovery path and improve cm tracking 2019-07-08 20:20:01 +00:00
mpt
mrsas add mrsas_shutdown method 2019-05-23 12:51:13 +00:00
msk
mthca
mvs
mwl Fix ieee80211_radiotap(9) usage in wireless drivers: 2019-03-11 01:27:01 +00:00
mxge if_mxge: update zlib version 1.0.4 to 1.2.11. 2019-08-03 03:36:18 +00:00
my
nctgpio nctgpio: change default pin names to those used by the datasheet(s) 2019-07-01 15:43:48 +00:00
neta Update mvneta/e6000sw for new DSA Device Tree Bindings 2019-03-23 02:48:47 +00:00
netfpga10g/nf10bmac
netmap netmap: fix bug introduced by r349752 2019-07-13 08:08:25 +00:00
nfe Add support for the nForce MCP89 adapter. 2018-12-14 18:16:35 +00:00
nfsmb
nge
nmdm Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
ntb NTB Tool: Test driver for NTB hardware drivers. 2019-08-16 20:14:37 +00:00
null List-ify kernel dump device configuration 2019-05-06 18:24:07 +00:00
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 Fixed issues reported by coverity scan. 2019-01-23 17:34:01 +00:00
ofw ofw: ofw_reg_to_paddr: Use a 256 static array for the cell 2019-08-07 13:13:16 +00:00
otus urtw(4), otus(4), iwi(4): allow to set non-default MAC address via ifconfig(8) 2019-04-10 08:17:56 +00:00
ow owc_gpiobus: small formatting cleanup 2019-07-10 12:40:07 +00:00
pbio
pccard Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
pccbb Remove All Rights Reserved 2019-02-05 21:37:34 +00:00
pcf pcf(4): fix parentheses in if condition 2019-01-27 15:19:28 +00:00
pci Fix the build after r350570. 2019-08-04 19:47:02 +00:00
pms Fix a scribbler in the PMS driver. 2019-03-11 14:26:45 +00:00
powermac_nvram
ppbus
ppc
proto Lock busdma operations and serialize detach against open/close 2019-07-04 02:51:34 +00:00
psci PSCI: Don't take missing implementation of psci get_version() as fatal. 2019-03-19 15:42:11 +00:00
pst
pty
puc Remove All Rights Reserved 2019-02-05 21:37:34 +00:00
pwm Handle labels specified with hints even on FDT systems. Hints are the 2019-06-18 17:05:05 +00:00
qlnx qlnxr(4), qlnxe(4): Unbreak gcc build 2019-02-01 23:04:45 +00:00
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 Drop "All rights reserved" from my copyright statements. 2019-03-06 22:11:45 +00:00
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 Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
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 Add SDIO support. 2019-06-08 16:26:56 +00:00
sec
sfxge sfxge(4): unify power of 2 alignment check macro 2019-07-27 09:36:45 +00:00
sge
siis
sio Remove All Rights Reserved 2019-02-05 21:37:34 +00:00
sis
sk
smartpqi Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
smbus
smc
snp
sound Fix sound on headset jack for ThinkPad T51. 2019-08-21 08:01:43 +00:00
speaker
spibus Use the new FDTCOMPAT_PNP_INFO() macro to define SPIBUS_FDT_PNP_INFO(). 2019-05-23 15:59:50 +00:00
ste
stge
superio - Fix gcc build for superio(4) 2019-07-08 20:01:28 +00:00
sym
syscons Attempt to fix build breakage in r344458. 2019-02-26 09:44:10 +00:00
tcp_log Regularize the Netflix copyright 2019-02-04 21:28:25 +00:00
tdfx
terasic
ti Replace uses of vm_page_unwire(m, PQ_NONE) with vm_page_unwire_noq(m). 2019-06-07 18:23:29 +00:00
tpm Improve tpm20 style 2019-04-16 02:46:21 +00:00
trm
tsec
twa remove the 4GB boundary requirement on PCI DMA segments 2019-04-19 13:43:33 +00:00
twe
tws Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
uart Add ACPI entries for Synopsys Designware UARTs used on ARM platforms 2019-06-28 01:19:08 +00:00
ubsec
usb Unbreak USB ethernet module builds 2019-08-20 15:14:32 +00:00
veriexec Add a new ioctl for the larger params struct that includes the label. 2019-05-17 19:27:07 +00:00
vge
viapm
viawd Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
videomode
virtio virtio: Fix running on machines with memory above 0xffffffff 2019-07-26 19:16:02 +00:00
vkbd Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
vmware Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
vnic
vr
vt Ignore kern.vt.splash_cpu without graphics 2019-07-08 13:46:26 +00:00
vte
watchdog Extract eventfilter declarations to sys/_eventfilter.h 2019-05-20 00:38:23 +00:00
wbwd
wi Fix ieee80211_radiotap(9) usage in wireless drivers: 2019-03-11 01:27:01 +00:00
wpi Fix ieee80211_radiotap(9) usage in wireless drivers: 2019-03-11 01:27:01 +00:00
wtap Fix ieee80211_radiotap(9) usage in wireless drivers: 2019-03-11 01:27:01 +00:00
xdma Remove unused header. 2019-07-22 16:50:37 +00:00
xen Replace uses of vm_page_unwire(m, PQ_NONE) with vm_page_unwire_noq(m). 2019-06-07 18:23:29 +00:00
xilinx Negate the logic of XCHAN_CAP_NOBUFS macro and rename it to 2019-07-04 14:04:08 +00:00
xl
xz Modularize xz. 2019-02-26 19:55:03 +00:00
zlib Expose zlib's utility functions in Z_SOLO library when building kernel. 2019-08-07 01:41:17 +00:00