1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-16 10:20:30 +00:00
freebsd/sys/modules
Marius Strobl 65fb49a994 - Try to not leak resources in the attach functions of the esp(4) SBus
front-end and the LSI64854 and NCR53C9x code in case one of these
  functions fails. Add detach functions to these parts and make esp(4)
  detachable.
- Revert rev. 1.7 of esp_sbus.c, since rev. 1.34 of sbus.c the clockfreq
  IVAR defaults to the per-child values.
- Merge ncr53c9x.c rev. 1.111 from NetBSD (partial):
  On reset, clear state flags and the msgout queue.
  In NetBSD code to notify the upper layer (i.e. CAM in FreeBSD) on reset
  was also added with this revision. This is believed to be not necessary
  in FreeBSD and was not merged.
  This makes ncr53c9x.c to be in sync with NetBSD up to rev. 1.114.
- Conditionalize the LSI64854 support on sbus(4) only instead of sbus(4)
  and esp(4) as it's also required for the 'dma', 'espdma' and 'ledma'
  busses/devices as well as the 'SUNW,bpp' device (printer port) which
  all hang off of sbus(4).
- Add a driver for the 'dma', 'espdma' and 'ledma' (pseudo-)busses/
  devices. These busses and devices actually represent the LSI64854 DMA
  engines for the ESP SCSI and LANCE Ethernet controllers found on the
  SBus of Ultra 1 and SBus add-on cards. With 'espdma' and 'ledma' the
  'esp' and 'le' devices hang off of the respective DMA bus instead of
  directly from the SBus. The 'dma' devices are either also used in this
  manner or on some add-on cards also as a companion device to an 'esp'
  device which also hangs off directly from the SBus. With the latter
  variant it's a bit tricky to glue the DMA engine to the core logic of
  the respective 'esp' device. With rev. 1.35 of sbus.c we are however
  guaranteed that such a 'dma' device is probed before the respective
  'esp' device which simplifies things a lot. [1]
- In the esp(4) SBus front-end read the part-unique ID code of Fast-SCSI
  capable chips the right way. This fixes erroneously detecting some
  chips as FAS366 when in fact they are not. Add explicit checks for the
  FAS100A, FAS216 and FAS236 variants instead treating all of these as
  ESP200. That way we can correctly set the respective Fast-SCSI config
  bits instead of driving them out of specs. This includes adding the
  FAS100A and FAS236 variants to the NCR53C9x core code. We probably
  still subsume some chip variants as ESP200 while in fact they are
  another variant which however shouldn't really matter as this will
  only happen when these chips are driven at 25MHz or less which implies
  not being able to run Fast-SCSI. [3]
- Add a workaround to the NCR53C9x interrupt handler which ignores the
  stray interrupt generated by FAS100A when doing path inquiry during
  boot and which otherwiese would trigger a panic.
- Add support for the 'esp' devices hanging off of a 'dma' or 'espdma'
  busses or which are companions of 'dma' devices to esp(4). In case of
  the variants that hang off of a DMA device this is a bit hackish as
  esp(4) then directly uses the softc of the respective parent to talk
  to the DMA engine. It might make sense to add an interface for this
  in order to implement this in a cleaner way however it's not yet clear
  how the requirements for the LANCE Ethernet controllers are and the
  hack works for now. [2]
  This effectively adds support for the onboard SCSI controller in
  Ultra 1 as well as most of the ESP-based SBus add-on cards to esp(4).
  With this the code for supporting the Performance Technologies SBS430
  SBus SCSI add-on cards is also largely in place the remaining bits
  were however omitted as it's unclear from the NetBSD how to couple
  the DMA engine and the core logic together for these cards.

Obtained from:	OpenBSD [1]
Obtained from:	NetBSD [2]
Clue from:	BSD/OS [3]
Reviewed by:	scottl (earlier version)
Tested with:	FSBE/S add-on card (FAS236), SSHA add-on card (ESP100A),
		Ultra 1 (onboard FAS100A), Ultra 2 (onboard FAS366)
2005-05-19 14:51:10 +00:00
..
3dfx
aac Only compile aac_linux.ko for i386 2004-08-30 03:35:17 +00:00
accf_data
accf_http
acpi Fix separate module build. 2005-05-09 07:26:16 +00:00
agp The tinderbox seems to have a different set of compiler options 2005-01-26 21:18:58 +00:00
aha
ahb Add the ahb module for old Adaptec 1742 drivers now that eisa bus 2004-06-29 20:50:24 +00:00
aic Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
aic7xxx Add WERRROR= to work around the warnings 2005-01-26 16:29:07 +00:00
aio
amd
amr
an Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
aout
apm Rename from apm_bioscall.s to apm_bioscall.S for removing a special rule 2005-04-20 12:28:20 +00:00
ar Convert Netgraph to use mbuf tags to pass its meta information around. 2004-06-25 19:22:05 +00:00
arcmsr Add the Areca SATA RAID driver (arcmsr). This supports the ARC-11xx and 12xx 2005-03-31 18:19:55 +00:00
arcnet
arl Use CFLAGS+=. 2005-02-09 11:50:43 +00:00
asr Unbreak buildworld on i386 when MODULES_WITH_WORLD is defined. 2005-03-23 17:13:08 +00:00
ata Connect the atapicam module to the build. 2005-04-05 02:05:01 +00:00
ath
ath_hal Fix building for non-i386 platforms. 2005-01-18 03:28:08 +00:00
ath_rate_amrr Update/new modules for net80211 and ath changes. 2004-12-08 17:38:38 +00:00
ath_rate_onoe Update/new modules for net80211 and ath changes. 2004-12-08 17:38:38 +00:00
ath_rate_sample SampleRate rate control algorithm for the ath driver 2005-03-11 01:39:57 +00:00
aue Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
auxio Add missing ofw_bus_if.h to SRCS. 2005-02-25 06:59:56 +00:00
awi Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
axe Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
bfe
bge
bios Add WERRROR= to work around the warnings 2005-01-26 16:29:07 +00:00
bktr We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
bridge opt_pfil_hooks.h is no longer required. 2004-08-27 19:57:33 +00:00
cam Remove the HW_WDOG option; it serves no purpose. 2004-08-29 11:10:09 +00:00
canbepm
canbus
cardbus
cbb And isa_if.h 2004-08-16 15:24:03 +00:00
cd9660
cd9660_iconv
cdce Add USB Communication Device Class Ethernet driver. Originally written for 2005-03-22 14:52:40 +00:00
ciss
cm
coda bsd.kmod.mk knows how to clean up opt_*.h files automatically, 2004-09-01 06:51:43 +00:00
coda5 bsd.kmod.mk knows how to clean up opt_*.h files automatically, 2004-09-01 06:51:43 +00:00
coff
cp Start the dreaded NOFOO -> NO_FOO conversion. 2004-12-21 08:47:35 +00:00
cpufreq Add a driver for SMI-based SpeedStep. The hardware supports two frequency 2005-04-19 16:38:24 +00:00
crypto just use crypto/rijndael, and nuke opencrypto/rindael.[ch]. 2005-03-11 17:24:46 +00:00
cryptodev
cs Sort files alphabetically 2004-09-04 03:32:15 +00:00
ctau Mechanically tidy up the contents of CLEANFILES:M*.h: kmod.mk 2004-09-01 07:12:24 +00:00
cue Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
cx Mechanically tidy up the contents of CLEANFILES:M*.h: kmod.mk 2004-09-01 07:12:24 +00:00
dc
dcons Add dcons_os.{c,h}. 2004-10-13 05:41:09 +00:00
dcons_crom Add dcons_os.{c,h}. 2004-10-13 05:41:09 +00:00
de Document compile-time switches here as I'm going to yank them from 2004-07-09 02:38:25 +00:00
digi
dpt
drm Update to DRM CVS as of 2005-04-12, bringing many changes: 2005-04-16 03:44:47 +00:00
dummynet
ed Break out obscure ISA cards into their own files, as well as ne2000 2005-02-09 20:03:40 +00:00
el
elink
em style.Makefile(5) 2004-06-09 08:27:05 +00:00
en
ep eisa attachment is safe to be in this module, both on eisa and 2005-03-17 18:40:37 +00:00
esp - Try to not leak resources in the attach functions of the esp(4) SBus 2005-05-19 14:51:10 +00:00
ex Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
exca Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
ext2fs Use vfs_hash() instead of home-rolled 2005-03-14 13:30:06 +00:00
fatm Removed -g from CFLAGS. There is a better way to build debugging 2004-02-13 10:11:01 +00:00
fdc Change a directory layout for pc98. 2005-05-10 12:02:18 +00:00
fdescfs
fe Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
firewire Add fwip module. 2004-07-12 13:13:17 +00:00
fxp
gem
geom Connect SHSEC GEOM class to the build. 2005-01-11 18:18:40 +00:00
harp Removed -g from CFLAGS. There is a better way to build debugging 2004-02-13 10:11:01 +00:00
hatm Removed -g from CFLAGS. There is a better way to build debugging 2004-02-13 10:11:01 +00:00
hfa
hifn
hme Now that hme(4) is MI build its module on all platforms. 2004-08-14 22:40:16 +00:00
hpfs - Fix the hpfs build, hpfs_hash.c was removed from the repository. 2005-03-28 09:41:25 +00:00
hptmv Move all of the hptmv files to /sys/dev/hptmv so that they won't be mistaken 2005-03-02 05:14:28 +00:00
hwpmc Use the new path (post repo-copy) to our sources. 2005-04-28 00:53:45 +00:00
i2c Kill bogus isa compat opt file. 2004-03-15 11:27:39 +00:00
ibcs2
ichwd Add a driver for the watchdog timer function present on the LPC interface 2004-05-11 18:21:38 +00:00
ida ida(4) module. PCI only for now. 2004-01-11 07:01:30 +00:00
idt
ie Add WERRROR= to work around the warnings 2005-01-26 16:29:07 +00:00
if_disc
if_ef Removed custom "load" and "unload" targets. 2004-01-19 14:00:26 +00:00
if_faith
if_gif NOINET6 -> NO_INET6 2004-12-21 10:49:29 +00:00
if_gre Fix a bug whereby the physical endpoints of a gre(4) tunnel would not 2003-11-14 20:58:00 +00:00
if_ndis Throw the switch on the new driver generation/loading mechanism. From 2005-04-24 20:21:22 +00:00
if_ppp We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
if_sl
if_stf
if_tap Mechanically tidy up the contents of CLEANFILES:M*.h: kmod.mk 2004-09-01 07:12:24 +00:00
if_tun We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
if_vlan
iir
io No need to generate vnode_if.h anymore 2004-12-29 08:44:30 +00:00
ip6fw
ip_mroute_mod Get rid of the RANDOM_IP_ID option and make it a sysctl. NetBSD 2004-08-14 15:32:40 +00:00
ipdivert Convert IPDIVERT into a loadable module. This makes use of the dynamic loadability 2004-10-19 21:14:57 +00:00
ipfilter new files and compile defines to build new ipfilter 2005-04-25 18:46:00 +00:00
ipfw IPDIVERT is a module now and tell the other parts of the kernel about it. 2004-10-25 20:02:34 +00:00
ips
ipw Initial import of ipw, iwi, ral and ural drivers: 2005-04-18 18:47:38 +00:00
isp - Introduce an ofw_bus kobj-interface for retrieving the OFW node and a 2004-08-12 17:41:33 +00:00
ispfw
iwi Initial import of ipw, iwi, ral and ural drivers: 2005-04-18 18:47:38 +00:00
ixgb style.Makefile(5) 2004-06-09 08:27:05 +00:00
joy Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
kue Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
lge
libalias libalias is now buildable as kernel module 2005-05-05 22:43:04 +00:00
libiconv
libmbpool
libmchain
linprocfs Let kmod.mk touch opt_*.h files as needed. 2004-09-04 06:37:58 +00:00
linux o Remove @- from the ln and change it to a -sf. This was bogus, and 2003-11-19 05:08:27 +00:00
lnc Removed -g from CFLAGS. There is a better way to build debugging 2004-02-13 10:11:01 +00:00
lpt
mac_biba
mac_bsdextended
mac_ifoff
mac_lomac
mac_mls
mac_none
mac_partition
mac_portacl mac_portacl.c no longer references vnode_if.h. 2004-12-30 13:49:01 +00:00
mac_seeotheruids
mac_stub Following the repo-copy from src/sys/modules/mac_none/Makefile, 2003-11-11 21:23:54 +00:00
mac_test
mcd
md change the name of the md module, to g_md, introduce a define with the 2004-08-09 06:45:20 +00:00
mem No need to generate vnode_if.h anymore 2004-12-29 08:44:30 +00:00
mii
mlx
mly
mpt
msdosfs Let kmod.mk touch opt_*.h files as needed. 2004-09-04 06:37:58 +00:00
msdosfs_iconv
mse Separate mse driver into a core driver and a bus attachments. Separate out 2004-12-12 20:05:50 +00:00
my
ncp Removed custom "load" and "unload" targets. 2004-01-19 14:00:26 +00:00
ncv Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
ndis Create new i386 windows/bsd thunking layer, similar to the amd64 thunking 2005-04-11 02:02:35 +00:00
netgraph Make NETGRAPH_DEBUG a kernel option, so that it can't be turned off 2005-05-16 08:25:55 +00:00
nfs4client Let kmod.mk touch opt_*.h files as needed. 2004-09-04 06:37:58 +00:00
nfsclient Let kmod.mk touch opt_*.h files as needed. 2004-09-04 06:37:58 +00:00
nfsserver
nge
nmdm
nsp Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
ntfs
ntfs_iconv
nullfs
nve Due to a CVS misfire, I ended up committing the wrong version of this. 2005-03-12 08:02:06 +00:00
nwfs Removed custom "load" and "unload" targets. 2004-01-19 14:00:26 +00:00
oldcard Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
oltr - Split out PCI support. 2005-02-03 23:01:01 +00:00
osf1 Removed -g from CFLAGS. There is a better way to build debugging 2004-02-13 10:11:01 +00:00
owi Let kmod.mk touch opt_*.h files as needed. 2004-09-04 06:37:58 +00:00
patm Removed -g from CFLAGS. There is a better way to build debugging 2004-02-13 10:11:01 +00:00
pccard Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
pcfclock
pcn
pecoff Removed -g from CFLAGS. There is a better way to build debugging 2004-02-13 10:11:01 +00:00
pf NOINET6 -> NO_INET6 2004-12-21 10:49:29 +00:00
plip
pmc Change a directory layout for pc98. 2005-05-10 12:02:18 +00:00
portalfs
ppbus o Remove @- from the ln and change it to a -sf. This was bogus, and 2003-11-19 05:08:27 +00:00
ppi o Remove @- from the ln and change it to a -sf. This was bogus, and 2003-11-19 05:08:27 +00:00
pps o Remove @- from the ln and change it to a -sf. This was bogus, and 2003-11-19 05:08:27 +00:00
procfs
pseudofs Add PSEUDOFS_TRACE option. 2005-03-14 16:04:27 +00:00
pst
puc Create a puc module. Not connected to the build until I can test it on 2005-04-22 07:43:27 +00:00
ral Initial import of ipw, iwi, ral and ural drivers: 2005-04-18 18:47:38 +00:00
random Include nehemiah.c only on i386, as is done for the non-modules 2004-04-11 15:40:18 +00:00
ray Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
rc
rc4
re
rl
rndtest
rp
rue Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
s3
safe
sbni
sbsh
scd
scsi_low
sem Introduce MAC Framework and MAC Policy entry points to label and control 2005-05-04 10:39:15 +00:00
sf
sio Change a directory layout for pc98. 2005-05-10 12:02:18 +00:00
sis
sk
smbfs For variables that are only checked with defined(), don't provide 2004-10-24 15:33:08 +00:00
sn Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
snc
snp We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
sound Add WERRROR= to work around the warnings 2005-01-26 16:29:07 +00:00
speaker
splash Move the source code for these two modules out of src/sys/modules. 2004-08-06 20:37:08 +00:00
sppp Add FR support to sppp (MFCronyx). 2004-12-28 00:07:57 +00:00
sr Convert Netgraph to use mbuf tags to pass its meta information around. 2004-06-25 19:22:05 +00:00
ste
stg Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
streams o Remove @- from the ln and change it to a -sf. This was bogus, and 2003-11-19 05:08:27 +00:00
svr4
sym
syscons Normalize SUBDIR. 2004-01-19 12:36:08 +00:00
sysvipc Fix the standalone module build. 2005-02-09 08:35:24 +00:00
ti Remove vnode_if.h for rev 1.14. 2004-12-29 21:50:44 +00:00
tl
trm
twa The latest release of the FreeBSD driver (twa) for 2005-04-12 22:07:11 +00:00
twe
tx
txp
uart Stop building uart_dev_i8251.c. It was copied from uart_dev_ns8250.c 2004-11-20 23:38:48 +00:00
ubsa We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
ubsec
ubser We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
ucom We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
ucycom We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
udav Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
udbp Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
udf bsd.kmod.mk does not deal with manpages anymore. 2004-01-13 11:28:51 +00:00
udf_iconv Add the Makefile glue for the udf_iconv module. 2003-11-07 09:38:05 +00:00
ufm Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
ufs Remove ufs_ihash.c here as well. 2005-03-14 10:23:34 +00:00
uftdi We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
ugen We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
uhid We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
ukbd We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
ulpt We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
umapfs
umass Add usbdevs.h and pccarddevs.h to the build list, as appropriate. This is needed to build as part of world or in src/sys/modules. 2004-06-27 12:33:20 +00:00
umct We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
umodem We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
ums We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
unionfs
uplcom We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
ural Initial import of ipw, iwi, ral and ural drivers: 2005-04-18 18:47:38 +00:00
urio We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
usb Add usbdevs_data.h to the SRCS list since usb_subr.c needs it. This forces 2004-12-31 16:05:07 +00:00
uscanner We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
utopia The chip specific functions have been split out in their own 2005-02-25 09:49:29 +00:00
uvisor We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
uvscom We don't need to generate vnode_if.h anymore 2004-12-29 08:50:35 +00:00
vesa
vge Add device driver support for the VIA Networking Technologies 2004-09-10 20:57:46 +00:00
vkbd No need to generate vnode_if.h anymore 2004-12-29 08:44:30 +00:00
vpo
vr
vx Add eisa_if.h 2004-06-09 21:52:12 +00:00
wb
wi Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
wlan Update/new modules for net80211 and ath changes. 2004-12-08 17:38:38 +00:00
wlan_acl Update/new modules for net80211 and ath changes. 2004-12-08 17:38:38 +00:00
wlan_ccmp fix typo to resolve undefined symbol 2004-12-16 01:10:48 +00:00
wlan_tkip Update/new modules for net80211 and ath changes. 2004-12-08 17:38:38 +00:00
wlan_wep Update/new modules for net80211 and ath changes. 2004-12-08 17:38:38 +00:00
wlan_xauth Update/new modules for net80211 and ath changes. 2004-12-08 17:38:38 +00:00
xe Move to generating pccarddevs.h on the fly, both for the kernel and 2004-05-26 00:53:10 +00:00
xl
zlib Give zlib the ability to be a module that can be depended on, 2004-06-20 17:42:35 +00:00
Makefile Attach ng_nat and libalias to build. 2005-05-06 14:47:54 +00:00
Makefile.inc