aboutsummaryrefslogtreecommitdiff
path: root/sys/modules/cam
Commit message (Collapse)AuthorAgeFilesLines
* Remove residual blank line at start of MakefileWarner Losh2024-07-151-1/+0
| | | | | | | This is a residual of the $FreeBSD$ removal. MFC After: 3 days (though I'll just run the command on the branches) Sponsored by: Netflix
* cam: Minor tidying up the cam module MakefileWarner Losh2023-11-031-15/+24
| | | | | | One src per line + sorting. Sponsored by: Netflix
* sys: Remove $FreeBSD$: one-line sh patternWarner Losh2023-08-161-1/+0
| | | | Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
* We don't need $M/$M in the path anymore.Warner Losh2020-03-151-1/+1
| | | | | | | | Now that machdep files are gone, we don't need $S/$M/$M in the path to find them. Notes: svn path=/head/; revision=359008
* Sparc64 and pc98 needed cam_machdep and/or ata_machdep for variousWarner Losh2020-03-141-6/+0
| | | | | | | | | reasons. Those have now left the tree, and with them the need to have machdep files. Places that called the routines in quesiton have been removed previously. Remove these files from the Makefile to tidy up. Notes: svn path=/head/; revision=358994
* Add nvme_util.c to cam.ko.Warner Losh2018-04-071-1/+2
| | | | | | | | | | cam.ko can't load onto the kernel w/o nvme in the kernel. Add nvme_util.c to cam.ko. Noticed by: kib@ Notes: svn path=/head/; revision=332208
* Move most of the contents of opt_compat.h to opt_global.h.Brooks Davis2018-04-061-1/+0
| | | | | | | | | | | | | | | | | | | | | opt_compat.h is mentioned in nearly 180 files. In-progress network driver compabibility improvements may add over 100 more so this is closer to "just about everywhere" than "only some files" per the guidance in sys/conf/options. Keep COMPAT_LINUX32 in opt_compat.h as it is confined to a subset of sys/compat/linux/*.c. A fake _COMPAT_LINUX option ensure opt_compat.h is created on all architectures. Move COMPAT_LINUXKPI to opt_dontuse.h as it is only used to control the set of compiled files. Reviewed by: kib, cem, jhb, jtl Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D14941 Notes: svn path=/head/; revision=332122
* Add nvme_da back.Warner Losh2018-04-041-0/+1
| | | | | | | | | | Now that it can co-exist in the kernel with nvd, add it back to the cam module. Sponsored by: Netflix Notes: svn path=/head/; revision=331976
* This should have been += so clean builds work.Warner Losh2018-03-141-1/+1
| | | | | | | Noticed by: hps@ Notes: svn path=/head/; revision=330934
* We need opt_compat.h after r330819 and 330820.Warner Losh2018-03-131-0/+1
| | | | | | | | | Add opt_compat.h to fix the stand-alone build case. Sponsored by: Netflix. Notes: svn path=/head/; revision=330885
* Add new opt_da.h for stand-alone build.Warner Losh2018-01-251-0/+1
| | | | | | | Sponsored by: Netflix Notes: svn path=/head/; revision=328416
* sys/modules: normalize .CURDIR-relative paths to SRCTOPEnji Cooper2017-03-041-1/+1
| | | | | | | | | | | This simplifies make output/logic Tested with: `cd sys/modules; make ALL_MODULES=` on amd64 MFC after: 1 month Sponsored by: Dell EMC Isilon Notes: svn path=/head/; revision=314651
* Move inclusion of opt_printf.h around so that we can compile all theWarner Losh2017-02-251-0/+1
| | | | | | | | | | SCSI modules outside of a sub-build from the kernel. Differential Revision: https://reviews.freebsd.org/D9653 Sponsored by: Netflix Notes: svn path=/head/; revision=314283
* Make cam.ko loadable.Konstantin Belousov2016-07-221-1/+3
| | | | | | | | Sponsored by: The FreeBSD Foundation MFC after: 1 week Notes: svn path=/head/; revision=303183
* Add opt_ddb.h.Warner Losh2016-07-211-0/+1
| | | | | | | MFC after: 1 week Notes: svn path=/head/; revision=303166
* opt_kdtrace.h is not needed for SDT probes as of r258541.Mark Johnston2016-05-151-1/+0
| | | | Notes: svn path=/head/; revision=299864
* Sync cam.ko module source list with the static kernel file list.Konstantin Belousov2016-04-151-1/+1
| | | | | | | Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=298049
* Fix make dependUlrich Spörlein2015-12-081-0/+1
| | | | Notes: svn path=/head/; revision=291989
* Move most of the 15 variations on generating opt_inet.h andWarner Losh2014-08-041-5/+0
| | | | | | | | | opt_inet6.h into kmod.mk by forcing almost everybody to eat the same dogfood. While at it, consolidate the opt_bpf.h and opt_mroute.h targets here too. Notes: svn path=/head/; revision=269540
* Fix 'make depend'Ulrich Spörlein2013-09-031-0/+1
| | | | Notes: svn path=/head/; revision=255174
* This is an addendum to r251837.Scott Long2013-06-171-0/+1
| | | | | | | | | Missed adding the new references to cam_compat.c to the various makefiles. Obtained from: Netflix Notes: svn path=/head/; revision=251842
* - With the demise of !ATA_CAM, ATA_STATIC_ID is the only ata(4) relatedMarius Strobl2013-04-061-1/+0
| | | | | | | | | | | | option left but actually consumed by ada(4), so move it to opt_ada.h and get rid of opt_ata.h. - Fix stand-alone build of atacore(4) by adding opt_cam.h. - Use __FBSDID. - Use DEVMETHOD_END. - Use NULL instead of 0 for pointers. Notes: svn path=/head/; revision=249213
* Remove opt_enc.h from files committed with r235911. enc(4) is theBjoern A. Zeeb2012-07-301-1/+0
| | | | | | | | | | | 'encapsulating interface' used with IPsec and has nothing to do with storage 'enclosure' services. MFC after: 3 days Noticed while: debugging why enc(4) is no longer automatically created Notes: svn path=/head/; revision=238894
* MFprojects/zfsd:Alexander Motin2012-05-241-2/+4
| | | | | | | | | | | | | | Revamp the CAM enclosure services driver. This updated driver uses an in-kernel daemon to track state changes and publishes physical path location information\for disk elements into the CAM device database. Sponsored by: Spectra Logic Corporation Sponsored by: iXsystems, Inc. Submitted by: gibbs, will, mav Notes: svn path=/head/; revision=235911
* Compile cam_machdep.c if it exists, missed in r228022.Marius Strobl2011-11-271-3/+6
| | | | Notes: svn path=/head/; revision=228026
* - Add shim to simplify migration to the CAM-based ATA. For each new adaXAlexander Motin2011-04-261-0/+1
| | | | | | | | | | | | device in /dev/ create symbolic link with adY name, trying to mimic old ATA numbering. Imitation is not complete, but should be enough in most cases to mount file systems without touching /etc/fstab. - To know what behavior to mimic, restore ATA_STATIC_ID option in cases where it was present before. - Add some more details to UPDATING. Notes: svn path=/head/; revision=221071
* Fix make buildworld -DMODULES_WITH_WORLD after r220454.Ulrich Spörlein2011-04-191-0/+1
| | | | Notes: svn path=/head/; revision=220814
* Add smp_all.c to the cam module build to un-break it.Kenneth D. Merry2010-12-011-0/+1
| | | | | | | Reported by: jkim Notes: svn path=/head/; revision=216093
* At least on sparc64 these modules require ata_machdep.c.Marius Strobl2010-05-231-1/+4
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=208468
* MFp4:Alexander Motin2009-10-231-0/+1
| | | | | | | | Move Port Multiplier support code out of ATA XPT into pmp periph driver. This is convinient, as PMP itself is a bus target and has own state. Notes: svn path=/head/; revision=198389
* Separate the parallel scsi knowledge out of the core of the XPT, andScott Long2009-07-101-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | modularize it so that new transports can be created. Add a transport for SATA Add a periph+protocol layer for ATA Add a driver for AHCI-compliant hardware. Add a maxio field to CAM so that drivers can advertise their max I/O capability. Modify various drivers so that they are insulated from the value of MAXPHYS. The new ATA/SATA code supports AHCI-compliant hardware, and will override the classic ATA driver if it is loaded as a module at boot time or compiled into the kernel. The stack now support NCQ (tagged queueing) for increased performance on modern SATA drives. It also supports port multipliers. ATA drives are accessed via 'ada' device nodes. ATAPI drives are accessed via 'cd' device nodes. They can all be enumerated and manipulated via camcontrol, just like SCSI drives. SCSI commands are not translated to their ATA equivalents; ATA native commands are used throughout the entire stack, including camcontrol. See the camcontrol manpage for further details. Testing this code may require that you update your fstab, and possibly modify your BIOS to enable AHCI functionality, if available. This code is very experimental at the moment. The userland ABI/API has changed, so applications will need to be recompiled. It may change further in the near future. The 'ada' device name may also change as more infrastructure is completed in this project. The goal is to eventually put all CAM busses and devices until newbus, allowing for interesting topology and management options. Few functional changes will be seen with existing SCSI/SAS/FC drivers, though the userland ABI has still changed. In the future, transports specific modules for SAS and FC may appear in order to better support the topologies and capabilities of these technologies. The modularization of CAM and the addition of the ATA/SATA modules is meant to break CAM out of the mold of being specific to SCSI, letting it grow to be a framework for arbitrary transports and protocols. It also allows drivers to be written to support discrete hardware without jeopardizing the stability of non-related hardware. While only an AHCI driver is provided now, a Silicon Image driver is also in the works. Drivers for ICH1-4, ICH5-6, PIIX, classic IDE, and any other hardware is possible and encouraged. Help with new transports is also encouraged. Submitted by: scottl, mav Approved by: re Notes: svn path=/head/; revision=195534
* Add the CAM 'SG' peripheral device. This device implements a subset of theScott Long2007-04-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Linux SCSI SG passthrough device API. The intention is to allow for both running of Linux apps that want to talk to /dev/sg* nodes, and to facilitate porting of apps from Linux to FreeBSD. As such, both native and linuxolator entry points and definitions are provided. Caveats: - This does not support the procfs and sysfs nodes that the Linux SG driver provides. Some Linux apps may rely on these for operation, others may only use them for informational purposes. - More ioctls need to be implemented. - Linux uses a naming scheme of "sg[a-z]" for devices, while FreeBSD uses a scheme of "sg[0-9]". Devfs aliasis (symlinks) are automatically created to link the two together. However, tools like camcontrol only see the native names. - Some operations were originally designed to return byte counts or other data directly as the syscall return value. The linuxolator doesn't appear to support this well, so this driver just punts for these cases. Now that the driver is in place, others are welcome to add missing functionality. Thanks to Roman Divacky for pushing this work along. Notes: svn path=/head/; revision=168477
* Let modules use the kernel's opt_*.h files if built along withYaroslav Tykhiy2005-10-141-0/+2
| | | | | | | | | | | | | | | | | the kernel by wrapping all targets for fake opt_*.h files in .if defined(KERNBUILDDIR). Thus, such fake files won't be created at all if modules are built with the kernel. Some modules undergo cleanup like removing unused or unneeded options or .h files, without which they wouldn't build this way or the other. Reviewed by: ru Tested by: no binary changes in modules built alone Tested on: i386 sparc64 amd64 Notes: svn path=/head/; revision=151350
* Release n_hibma's maintainership due to his ENOTIME.Jens Schweikhardt2005-06-041-2/+1
| | | | | | | Discussed with, okayed, authorized, requested by, on behalf of: n_hibma (MAINTAINER) Notes: svn path=/head/; revision=146957
* Remove the HW_WDOG option; it serves no purpose.Dag-Erling Smørgrav2004-08-291-1/+0
| | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=134479
* Remove opt_da.h from the Makefile as well. Duplication of the option inNate Lawson2004-04-191-1/+0
| | | | | | | | both the Makefile and sys/conf/options is what led to this oversight. Apologies for breaking the build. Notes: svn path=/head/; revision=128431
* Use double quotes instead of single quotes for echos to build optionsBruce Evans2003-12-291-1/+1
| | | | | | | | headers as in most other modules Makefiles (5 yesterday, none now). Fixed any simple nearby style bugs (not many). Notes: svn path=/head/; revision=123962
* Fix the new DA_OLD_QUIRKS option for normal and module compiles.Nate Lawson2003-07-291-0/+1
| | | | | | | Pointed out by: bde Notes: svn path=/head/; revision=118179
* New SCSI target emulator codeNate Lawson2002-11-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | This code allows a user program to enable target mode on a SIM and then emulate any number of devices (disks, tape drives, etc.) All decisions about device behavior (UA, CA, inquiry response) are left to the usermode program and the kernel driver is merely a conduit for CCBs. This enables multiple concurrent target emulators, each using its own backing store and IO model. Also included is a user program that emulates a disk (RBC) using a file as a backing store. This provides functionality similar to md(4) at the CAM layer. Code has been tested on ahc(4) and should also work on isp(4) (and other SIMs that gain target mode support). It is a complete rewrite of /sys/cam/scsi_target* and /usr/share/examples/scsi_target. Design, comments from: gibbs Supported by: Cryptography Research Approved by: re Notes: svn path=/head/; revision=107178
* Move adding -DPC98 to CFLAGS from each modules to sys/modules/Makefile.inc.Yoshihiro Takahashi2002-11-061-4/+0
| | | | Notes: svn path=/head/; revision=106497
* Remove cam_extend.c from sources to unbreak modules.Alfred Perlstein2002-08-151-1/+1
| | | | | | | Missed by: kern/39809,njl Notes: svn path=/head/; revision=101946
* Drop <bsd.man.mk> support from <bsd.kmod.mk>.Ruslan Ermilov2002-01-111-2/+0
| | | | | | | Not objected to by: -current Notes: svn path=/head/; revision=89260
* Turn on unconditional symbol export for modules whose API isMike Smith2002-01-111-0/+2
| | | | | | | | not clear enough, will require additional analysis, or will require some input from their maintainers. Notes: svn path=/head/; revision=89245
* Add pc98 support.Yoshihiro Takahashi2001-02-101-0/+4
| | | | Notes: svn path=/head/; revision=72315
* Use a consistent style and one much closer to the rest of /usr/srcDavid E. O'Brien2001-01-061-24/+25
| | | | Notes: svn path=/head/; revision=70711
* CAM, the module: scbus, da, cd, and st wrapped in one module.Nick Hibma2000-08-131-0/+33
Make the umass driver depend on this module. Makes it possible to compile the kernel without SCSI support and load it when for example a USB floppy is conencted. Notes: svn path=/head/; revision=64621