<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libcam, branch release/8.1.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F8.1.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F8.1.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2009-07-10T08:18:08Z</updated>
<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>
<entry>
<title>Supply a valid Connect ID when issuing XPT_DEV_MATCH, which</title>
<updated>2008-10-27T21:46:58Z</updated>
<author>
<name>Marius Strobl</name>
<email>marius@FreeBSD.org</email>
</author>
<published>2008-10-27T21:46:58Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=25ea4c843f168f17258ff4d63be8356cc54b8e6e'/>
<id>urn:sha1:25ea4c843f168f17258ff4d63be8356cc54b8e6e</id>
<content type='text'>
according to my reading of the CAM draft is mandatory for
all CCB function calls and enforced by xptioctl() since at
least r168752. Previously we happened to use 0 as the Path
ID, causing the XPT_DEV_MATCH call to fail if there's no
SCSI bus 0. Basically the same bug was also fixed the same
way for camcontrol(8) as part of r126514.

PR:		127605
Submitted by:	Eygene Ryabinkin
Approved by:	silence from ken and scottl
MFC after:	1 week
</content>
</entry>
<entry>
<title>2nd and final commit that moves us to CAM_NEW_TRAN_CODE</title>
<updated>2006-11-02T00:54:38Z</updated>
<author>
<name>Matt Jacob</name>
<email>mjacob@FreeBSD.org</email>
</author>
<published>2006-11-02T00:54:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=bd3fd815a7fbc96f1506dfdcac840b94cff28d00'/>
<id>urn:sha1:bd3fd815a7fbc96f1506dfdcac840b94cff28d00</id>
<content type='text'>
as the default.

Reviewed by multitudes.
</content>
</entry>
<entry>
<title>Go with a different version of the previous patch so to preserve errno.</title>
<updated>2006-04-30T07:08:43Z</updated>
<author>
<name>Joe Marcus Clarke</name>
<email>marcus@FreeBSD.org</email>
</author>
<published>2006-04-30T07:08:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a7a6dfbd14e3b65d66ed934e4ce18abfdf73ada0'/>
<id>urn:sha1:a7a6dfbd14e3b65d66ed934e4ce18abfdf73ada0</id>
<content type='text'>
Approved by:	scottl (implicit)
</content>
</entry>
<entry>
<title>Fix a file descriptor leak in cam_lookup_pass() when the ioctl to find</title>
<updated>2006-04-30T07:02:40Z</updated>
<author>
<name>Joe Marcus Clarke</name>
<email>marcus@FreeBSD.org</email>
</author>
<published>2006-04-30T07:02:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8bc181f5069dc14b657a474446d73491fa60fbf4'/>
<id>urn:sha1:8bc181f5069dc14b657a474446d73491fa60fbf4</id>
<content type='text'>
the passthru device fails.

Approved by:	scottl
MFC after:	1 day
</content>
</entry>
<entry>
<title>Better memory handling:</title>
<updated>2005-07-13T10:40:07Z</updated>
<author>
<name>Xin LI</name>
<email>delphij@FreeBSD.org</email>
</author>
<published>2005-07-13T10:40:07Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=ae73eb3a7ff7f9cd5277fbbbee839fe7203e87db'/>
<id>urn:sha1:ae73eb3a7ff7f9cd5277fbbbee839fe7203e87db</id>
<content type='text'>
 - It is acceptable to call free(3) when the given pointer itself
   is NULL, so we do not need to determine NULL before passing
   a pointer to free(3)
 - Handle failure of malloc(3)

MT6/5 Candidate

Submitted by:	Dan Lukes &lt;dan at obluda cz&gt;
PR:		bin/83352
</content>
</entry>
<entry>
<title>Expand *n't contractions.</title>
<updated>2005-02-13T22:25:33Z</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@FreeBSD.org</email>
</author>
<published>2005-02-13T22:25:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0227791b40a6936310e1dd376b0883b540fec0c0'/>
<id>urn:sha1:0227791b40a6936310e1dd376b0883b540fec0c0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Change a couple of comments so that GCC doesn't think that they contain</title>
<updated>2004-07-29T15:35:45Z</updated>
<author>
<name>Scott Long</name>
<email>scottl@FreeBSD.org</email>
</author>
<published>2004-07-29T15:35:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c893420ff01a99956a577ac178851182bfa490b7'/>
<id>urn:sha1:c893420ff01a99956a577ac178851182bfa490b7</id>
<content type='text'>
tri-graphs.
</content>
</entry>
<entry>
<title>Eliminate double whitespace.</title>
<updated>2004-07-03T22:30:10Z</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@FreeBSD.org</email>
</author>
<published>2004-07-03T22:30:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=30950a21e11892bddfb8f6b190ee2b693803cddf'/>
<id>urn:sha1:30950a21e11892bddfb8f6b190ee2b693803cddf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Mechanically kill hard sentence breaks.</title>
<updated>2004-07-02T23:52:20Z</updated>
<author>
<name>Ruslan Ermilov</name>
<email>ru@FreeBSD.org</email>
</author>
<published>2004-07-02T23:52:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=1a0a934547909744a6a2fa4cfd5b795ec6394f05'/>
<id>urn:sha1:1a0a934547909744a6a2fa4cfd5b795ec6394f05</id>
<content type='text'>
</content>
</entry>
</feed>
