<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/modules/cam, branch release/9.3.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F9.3.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F9.3.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2013-09-22T20:22:08Z</updated>
<entry>
<title>MFC r255174:</title>
<updated>2013-09-22T20:22:08Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2013-09-22T20:22:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=af5413abf3ce2184732919a241add2bd074d900b'/>
<id>urn:sha1:af5413abf3ce2184732919a241add2bd074d900b</id>
<content type='text'>
Add missing opt_* header dependencies.
</content>
</entry>
<entry>
<title>Big MFC of the physbio changes necessary for unmapped I/O.  These changes</title>
<updated>2013-06-18T00:36:53Z</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2013-06-18T00:36:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=039e422c063977ba9073fd2c93883dd8a5a36d48'/>
<id>urn:sha1:039e422c063977ba9073fd2c93883dd8a5a36d48</id>
<content type='text'>
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
</content>
</entry>
<entry>
<title>MFC r235911, r235980, r238739, r238740, r238894, r239213, r241488, r241952,</title>
<updated>2013-02-06T22:07:38Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2013-02-06T22:07:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=38ab6fcfabd18b2020b1b39dc05e6a0550223717'/>
<id>urn:sha1:38ab6fcfabd18b2020b1b39dc05e6a0550223717</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>MFC: r228022, r228026</title>
<updated>2012-01-28T23:12:55Z</updated>
<author>
<name>Marius Strobl</name>
<email>marius@FreeBSD.org</email>
</author>
<published>2012-01-28T23:12:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a2ad6c343f909565afcadc7b3ac4e7925143ba46'/>
<id>urn:sha1:a2ad6c343f909565afcadc7b3ac4e7925143ba46</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title> - Add shim to simplify migration to the CAM-based ATA. For each new adaX</title>
<updated>2011-04-26T17:01:49Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2011-04-26T17:01:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0d307e09052349a4d1ed7cb93792005622bcf690'/>
<id>urn:sha1:0d307e09052349a4d1ed7cb93792005622bcf690</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Fix make buildworld -DMODULES_WITH_WORLD after r220454.</title>
<updated>2011-04-19T07:30:22Z</updated>
<author>
<name>Ulrich Spörlein</name>
<email>uqs@FreeBSD.org</email>
</author>
<published>2011-04-19T07:30:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=52d0968b862b06fcd3c398fb9febd6b578d27916'/>
<id>urn:sha1:52d0968b862b06fcd3c398fb9febd6b578d27916</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add smp_all.c to the cam module build to un-break it.</title>
<updated>2010-12-01T05:39:02Z</updated>
<author>
<name>Kenneth D. Merry</name>
<email>ken@FreeBSD.org</email>
</author>
<published>2010-12-01T05:39:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ffdffd49b0db8118b5710aec5a5e1e4d2b52332e'/>
<id>urn:sha1:ffdffd49b0db8118b5710aec5a5e1e4d2b52332e</id>
<content type='text'>
Reported by:	jkim
</content>
</entry>
<entry>
<title>At least on sparc64 these modules require ata_machdep.c.</title>
<updated>2010-05-23T20:24:03Z</updated>
<author>
<name>Marius Strobl</name>
<email>marius@FreeBSD.org</email>
</author>
<published>2010-05-23T20:24:03Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=09c0e2a4c0ef37d6cbba520942c961563f949629'/>
<id>urn:sha1:09c0e2a4c0ef37d6cbba520942c961563f949629</id>
<content type='text'>
MFC after:	3 days
</content>
</entry>
<entry>
<title>MFp4:</title>
<updated>2009-10-23T12:36:42Z</updated>
<author>
<name>Alexander Motin</name>
<email>mav@FreeBSD.org</email>
</author>
<published>2009-10-23T12:36:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=65d0fb03ad2580c999c3f590fa7e77f3ed8e1def'/>
<id>urn:sha1:65d0fb03ad2580c999c3f590fa7e77f3ed8e1def</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Separate the parallel scsi knowledge out of the core of the XPT, and</title>
<updated>2009-07-10T08:18:08Z</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2009-07-10T08:18:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=52c9ce25d8339ad0228be8aaf0e44b45314b38dc'/>
<id>urn:sha1:52c9ce25d8339ad0228be8aaf0e44b45314b38dc</id>
<content type='text'>
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
</content>
</entry>
</feed>
