#
267654 |
|
19-Jun-2014 |
gjb |
Copy stable/9 to releng/9.3 as part of the 9.3-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
255799 |
|
22-Sep-2013 |
mav |
MFC r255174: Add missing opt_* header dependencies.
|
#
251874 |
|
17-Jun-2013 |
scottl |
Big MFC of the physbio changes necessary for unmapped I/O. These changes have been in production at Netflix for several months with significant success.
MFC r246713:
Reform the busdma API so that new types may be added without modifying every architecture's busdma_machdep.c. It is done by unifying the bus_dmamap_load_buffer() routines so that they may be called from MI code. The MD busdma is then given a chance to do any final processing in the complete() callback.
MFC r249538: Some compilers issue a warning when wider integer is casted to narrow pointer. Supposedly shut down the warning by casting through uintptr_t.
MFC r251479: Simplify the checking of flags for cam_periph_mapmem(). This gets rid of a lot of code redundancy and grossness at very minor expense.
MFC r251837: MFC r251842: Add infrastructure for doing compatibility shims, as has been sorely needed for the last 10 years. Far too much of the internal API is exposed, and every small adjustment causes applications to stop working. To kick this off, bump the API version to 0x17 as should have been done with r246713, but add shims to compensate. Thanks to the shims, there should be no visible change in application behavior.
Submitted by: kib, jeffr Approved by: kib Obtained from: Netflix
|
#
246437 |
|
06-Feb-2013 |
mav |
MFC r235911, r235980, r238739, r238740, r238894, r239213, r241488, r241952, r242173, r242621, r242634, r242638, r242647, r242720, r244418, r244508, r245891: 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.
|
#
230665 |
|
28-Jan-2012 |
marius |
MFC: r228022, r228026
For sparc64 also adjust the geometry of da(4) driven disks to not overflow the 16-bit cylinders field of the VTOC8 disk label (at around 502GB). The geometry chosen for disks above that limit allows to use disks up to 2TB, which is the limit of the extended VTOC8 format. The geometry used for disks smaller than the 16-bit cylinders limit stays the same as used by cam_calc_geometry(9) for extended translation. Thanks to Hans-Joerg Sirtl for providing hardware for testing this change.
|
#
225736 |
|
22-Sep-2011 |
kensmith |
Copy head to stable/9 as part of 9.0-RELEASE release cycle.
Approved by: re (implicit)
|
#
221071 |
|
26-Apr-2011 |
mav |
- Add shim to simplify migration to the CAM-based ATA. For each new adaX 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.
|
#
220814 |
|
19-Apr-2011 |
uqs |
Fix make buildworld -DMODULES_WITH_WORLD after r220454.
|
#
216093 |
|
01-Dec-2010 |
ken |
Add smp_all.c to the cam module build to un-break it.
Reported by: jkim
|
#
208468 |
|
23-May-2010 |
marius |
At least on sparc64 these modules require ata_machdep.c.
MFC after: 3 days
|
#
198389 |
|
23-Oct-2009 |
mav |
MFp4: 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.
|
#
195534 |
|
10-Jul-2009 |
scottl |
Separate the parallel scsi knowledge out of the core of the XPT, and 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
|
#
168477 |
|
07-Apr-2007 |
scottl |
Add the CAM 'SG' peripheral device. This device implements a subset of the 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.
|
#
151350 |
|
14-Oct-2005 |
yar |
Let modules use the kernel's opt_*.h files if built along with 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
|
#
146957 |
|
04-Jun-2005 |
schweikh |
Release n_hibma's maintainership due to his ENOTIME.
Discussed with, okayed, authorized, requested by, on behalf of: n_hibma (MAINTAINER)
|
#
134479 |
|
29-Aug-2004 |
des |
Remove the HW_WDOG option; it serves no purpose.
MFC after: 3 days
|
#
128431 |
|
19-Apr-2004 |
njl |
Remove opt_da.h from the Makefile as well. Duplication of the option in both the Makefile and sys/conf/options is what led to this oversight. Apologies for breaking the build.
|
#
123962 |
|
29-Dec-2003 |
bde |
Use double quotes instead of single quotes for echos to build options headers as in most other modules Makefiles (5 yesterday, none now). Fixed any simple nearby style bugs (not many).
|
#
118179 |
|
29-Jul-2003 |
njl |
Fix the new DA_OLD_QUIRKS option for normal and module compiles.
Pointed out by: bde
|
#
107178 |
|
22-Nov-2002 |
njl |
New SCSI target emulator code
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
|
#
106497 |
|
06-Nov-2002 |
nyan |
Move adding -DPC98 to CFLAGS from each modules to sys/modules/Makefile.inc.
|
#
101946 |
|
15-Aug-2002 |
alfred |
Remove cam_extend.c from sources to unbreak modules.
Missed by: kern/39809,njl
|
#
89260 |
|
11-Jan-2002 |
ru |
Drop <bsd.man.mk> support from <bsd.kmod.mk>.
Not objected to by: -current
|
#
89245 |
|
10-Jan-2002 |
msmith |
Turn on unconditional symbol export for modules whose API is not clear enough, will require additional analysis, or will require some input from their maintainers.
|
#
72315 |
|
10-Feb-2001 |
nyan |
Add pc98 support.
|
#
70711 |
|
06-Jan-2001 |
obrien |
Use a consistent style and one much closer to the rest of /usr/src
|
#
64621 |
|
13-Aug-2000 |
n_hibma |
CAM, the module: scbus, da, cd, and st wrapped in one module.
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.
|