summaryrefslogtreecommitdiffstats
path: root/sys/i386/conf/PAE
Commit message (Collapse)AuthorAgeFilesLines
* Grammar fix: s/NIC's/NICs/gjb2012-08-261-1/+1
| | | | MFC after: 3 days
* Add the CAM Target Layer (CTL).ken2012-01-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CTL is a disk and processor device emulation subsystem originally written for Copan Systems under Linux starting in 2003. It has been shipping in Copan (now SGI) products since 2005. It was ported to FreeBSD in 2008, and thanks to an agreement between SGI (who acquired Copan's assets in 2010) and Spectra Logic in 2010, CTL is available under a BSD-style license. The intent behind the agreement was that Spectra would work to get CTL into the FreeBSD tree. Some CTL features: - Disk and processor device emulation. - Tagged queueing - SCSI task attribute support (ordered, head of queue, simple tags) - SCSI implicit command ordering support. (e.g. if a read follows a mode select, the read will be blocked until the mode select completes.) - Full task management support (abort, LUN reset, target reset, etc.) - Support for multiple ports - Support for multiple simultaneous initiators - Support for multiple simultaneous backing stores - Persistent reservation support - Mode sense/select support - Error injection support - High Availability support (1) - All I/O handled in-kernel, no userland context switch overhead. (1) HA Support is just an API stub, and needs much more to be fully functional. ctl.c: The core of CTL. Command handlers and processing, character driver, and HA support are here. ctl.h: Basic function declarations and data structures. ctl_backend.c, ctl_backend.h: The basic CTL backend API. ctl_backend_block.c, ctl_backend_block.h: The block and file backend. This allows for using a disk or a file as the backing store for a LUN. Multiple threads are started to do I/O to the backing device, primarily because the VFS API requires that to get any concurrency. ctl_backend_ramdisk.c: A "fake" ramdisk backend. It only allocates a small amount of memory to act as a source and sink for reads and writes from an initiator. Therefore it cannot be used for any real data, but it can be used to test for throughput. It can also be used to test initiators' support for extremely large LUNs. ctl_cmd_table.c: This is a table with all 256 possible SCSI opcodes, and command handler functions defined for supported opcodes. ctl_debug.h: Debugging support. ctl_error.c, ctl_error.h: CTL-specific wrappers around the CAM sense building functions. ctl_frontend.c, ctl_frontend.h: These files define the basic CTL frontend port API. ctl_frontend_cam_sim.c: This is a CTL frontend port that is also a CAM SIM. This frontend allows for using CTL without any target-capable hardware. So any LUNs you create in CTL are visible in CAM via this port. ctl_frontend_internal.c, ctl_frontend_internal.h: This is a frontend port written for Copan to do some system-specific tasks that required sending commands into CTL from inside the kernel. This isn't entirely relevant to FreeBSD in general, but can perhaps be repurposed. ctl_ha.h: This is a stubbed-out High Availability API. Much more is needed for full HA support. See the comments in the header and the description of what is needed in the README.ctl.txt file for more details. ctl_io.h: This defines most of the core CTL I/O structures. union ctl_io is conceptually very similar to CAM's union ccb. ctl_ioctl.h: This defines all ioctls available through the CTL character device, and the data structures needed for those ioctls. ctl_mem_pool.c, ctl_mem_pool.h: Generic memory pool implementation used by the internal frontend. ctl_private.h: Private data structres (e.g. CTL softc) and function prototypes. This also includes the SCSI vendor and product names used by CTL. ctl_scsi_all.c, ctl_scsi_all.h: CTL wrappers around CAM sense printing functions. ctl_ser_table.c: Command serialization table. This defines what happens when one type of command is followed by another type of command. ctl_util.c, ctl_util.h: CTL utility functions, primarily designed to be used from userland. See ctladm for the primary consumer of these functions. These include CDB building functions. scsi_ctl.c: CAM target peripheral driver and CTL frontend port. This is the path into CTL for commands from target-capable hardware/SIMs. README.ctl.txt: CTL code features, roadmap, to-do list. usr.sbin/Makefile: Add ctladm. ctladm/Makefile, ctladm/ctladm.8, ctladm/ctladm.c, ctladm/ctladm.h, ctladm/util.c: ctladm(8) is the CTL management utility. It fills a role similar to camcontrol(8). It allow configuring LUNs, issuing commands, injecting errors and various other control functions. usr.bin/Makefile: Add ctlstat. ctlstat/Makefile ctlstat/ctlstat.8, ctlstat/ctlstat.c: ctlstat(8) fills a role similar to iostat(8). It reports I/O statistics for CTL. sys/conf/files: Add CTL files. sys/conf/NOTES: Add device ctl. sys/cam/scsi_all.h: To conform to more recent specs, the inquiry CDB length field is now 2 bytes long. Add several mode page definitions for CTL. sys/cam/scsi_all.c: Handle the new 2 byte inquiry length. sys/dev/ciss/ciss.c, sys/dev/ata/atapi-cam.c, sys/cam/scsi/scsi_targ_bh.c, scsi_target/scsi_cmds.c, mlxcontrol/interface.c: Update for 2 byte inquiry length field. scsi_da.h: Add versions of the format and rigid disk pages that are in a more reasonable format for CTL. amd64/conf/GENERIC, i386/conf/GENERIC, ia64/conf/GENERIC, sparc64/conf/GENERIC: Add device ctl. i386/conf/PAE: The CTL frontend SIM at least does not compile cleanly on PAE. Sponsored by: Copan Systems, SGI and Spectra Logic MFC after: 1 month
* Remove some more occurrences of amd(4) missed in r227982.marius2011-11-261-1/+0
|
* All PCI based wireless drivers seem to be explicitly removed from thebschmidt2011-05-021-0/+6
| | | | PAE kernel config, do that also for those added to GENERIC lately.
* Break out the ath PCI logic into a separate device/module.adrian2011-03-311-0/+1
| | | | | | | | | Introduce the AHB glue for Atheros embedded systems. Right now it's hard-coded for the AR9130 chip whose support isn't yet in this HAL; it'll be added in a subsequent commit. Kernel configuration files now need both 'ath' and 'ath_pci' devices; both modules need to be loaded for the ath device to work.
* Catch up with r183101 that added "device acpi" to GENERIC.alc2010-01-081-4/+0
|
* - Use "device\t" and "options \t" for consistency.kuriyama2009-05-101-1/+1
|
* Switch to ath hal source code. Note this removes the ath_halsam2008-12-011-1/+1
| | | | | | | | | | | | | | | | | module; the ath module now brings in the hal support. Kernel config files are almost backwards compatible; supplying device ath_hal gives you the same chip support that the binary hal did but you must also include options AH_SUPPORT_AR5416 to enable the extended format descriptors used by 11n parts. It is now possible to control the chip support included in a build by specifying exactly which chips are to be supported in the config file; consult ath_hal(4) for information.
* move awi to the Attic; it will not make the jump to the new world ordersam2008-04-201-1/+0
| | | | Reviewed by: imp
* Add the 'hptrr' driver for supporting the following Highpoint RocketRAIDscottl2007-12-151-0/+1
| | | | | | | | | | | | | | | | | | | cards: o RocketRAID 172x series o RocketRAID 174x series o RocketRAID 2210 o RocketRAID 222x series o RocketRAID 2240 o RocketRAID 230x series o RocketRAID 231x series o RocketRAID 232x series o RocketRAID 2340 o RocketRAID 2522 Many thanks to Highpoint for their continued support of FreeBSD. Submitted by: Highpoint
* fix build: when usb was enabled wireless drivers were brought in sosam2007-11-031-8/+0
| | | | remove the nodevice lines that elided wlan support
* Remove zyd as wireless is not supported on PAE.thompsa2007-11-031-0/+1
|
* Stop disabling USB in the PAE kernel config. The USB code has beenjhb2007-10-241-21/+0
| | | | | | | using bus_dma(9) for quite a while now and has been used on 64-bit archs as well. MFC after: 1 month
* Exclude wlan_scan_* from PAE like the rest of wlan.thompsa2007-06-111-0/+2
|
* Add rum(4)kevlo2007-05-071-0/+2
|
* If PAE is built w/o modules, make sure that isp(4)mjacob2006-07-091-0/+3
| | | | has its firmware resident as well.
* Remove some remnants of lnc(4).marius2006-05-141-1/+0
|
* make tinderbox happy: GENERIC got ath and wlan added so we need tosam2006-05-101-0/+6
| | | | now mark these "nodevice" or we'll get undefined references
* iir works on PAE now.scottl2006-03-031-1/+0
|
* The hptmv inherently believes that a 'long' can hold a physical address.scottl2005-11-081-0/+1
| | | | | | | | This hasn't been true on i386 for at least a decade, probably longer, but I'm too lazy to look up the exact year that PAE support was introduced. Thus, this driver doesn't work on PAE. X-MFC After: now
* de(4) is now properly busdma'ed.obrien2005-09-041-1/+0
| | | | Reviewed by: jhb
* Don't compile ral and ural in the PAE kernel, becauseimura2005-07-281-0/+2
| | | | | | they have dependency on wlan and usb. Reported by: make universe
* Enable dc(4) and rl(4) in the PAE kernel.obrien2005-04-291-2/+0
| | | | Both have been busdma'ed for use and tested in the Sparc64 kenrel.
* For whatever reason, we don't allow USB on PAE. Since it's a dependencyscottl2005-04-291-0/+1
| | | | for EHCI, exclude that driver also.
* Add USB Communication Device Class Ethernet driver. Originally written forsobomax2005-03-221-0/+1
| | | | | | | | | | FreeBSD based on aue(4) it was picked by OpenBSD, then from OpenBSD ported to NetBSD and finally NetBSD version merged with original one goes into FreeBSD. Obtained from: http://www.gank.org/freebsd/cdce/ NetBSD OpenBSD
* The NVE driver doesn't cleanly compile on PAE.scottl2005-03-131-0/+1
|
* Remove the entries for isp and ispfw instead of leaving them in an inconsistentscottl2005-02-031-2/+0
| | | | state.
* Enable amr(4) - scottl fixed when used with >4GB RAM.obrien2004-12-061-1/+0
|
* PAE seems to work for isp- at least under mimimal testing.mjacob2004-09-231-1/+2
|
* We don't support USB devices in PAE mode, so catch up with GENERIC rev 1.402.obrien2004-05-101-0/+1
|
* Remove references to SMP and APIC_IO since GENERIC (which this filejhb2003-11-031-4/+0
| | | | includes) already has those enabled by default.
* Fix the busdma support in twe to support EINPROGRESS and enable it forps2003-08-121-1/+0
| | | | use with PAE kernels.
* Remove mpt from the nodevice list. This was tested by the submitter.mjacob2003-06-121-1/+0
| | | | Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
* Make ciss usable under PAEps2003-05-211-1/+0
| | | | Approved by: re (scottl)
* - Make this work with PAE.ps2003-05-211-1/+0
| | | | | | | | - atomically load and clear the status block so we dont miss an update. Submitted by: jdp Approved by: re (scottl)
* Add nodevice axe, since usb isn't supported by PAE.johan2003-04-251-0/+1
| | | | | Submitted by: harti@ Approved by: jake@
* Add ahd.jake2003-04-091-1/+0
|
* Add a PAE kernel config. This includes GENERIC through the config includejake2003-04-071-0/+107
mechanism, and then excludes device drivers which have not been tested or are known to not work with more than 4G of ram. Sponsored by: DARPA, Network Associates Laboratories
OpenPOWER on IntegriCloud