<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test/sys/dev/aacraid, branch main</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test/atom?h=main</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/'/>
<updated>2020-09-01T21:32:25Z</updated>
<entry>
<title>aacraid: clean up empty lines in .c and .h files</title>
<updated>2020-09-01T21:32:25Z</updated>
<author>
<name>Mateusz Guzik</name>
<email>mjg@FreeBSD.org</email>
</author>
<published>2020-09-01T21:32:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=6ece1c105704ad6039ac340b120c3f0eb3deaedf'/>
<id>urn:sha1:6ece1c105704ad6039ac340b120c3f0eb3deaedf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>[aacraid] Handle both AIF and SYNC interrupts</title>
<updated>2020-03-09T19:01:17Z</updated>
<author>
<name>Leandro Lupori</name>
<email>luporl@FreeBSD.org</email>
</author>
<published>2020-03-09T19:01:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=eb132ade4af4184cfa47b70e44b01db40e96a0d0'/>
<id>urn:sha1:eb132ade4af4184cfa47b70e44b01db40e96a0d0</id>
<content type='text'>
Without this change, if an AIF interrupt comes at the same time a SYNC
command is finished, the SYNC interrupt will be lost. This happens because
all interrupt bits (bellbits) are cleared, but only one of them is handled.

Debugging shows that, (at least) when !sc-&gt;msi_enabled and (sc-&gt;flags &amp;
AAC_FLAGS_SYNC_MODE) is true (sync mode), both bits may be set at the same
time.

PR:		237463
Reviewed by:	scottl
Sponsored by:	Eldorado Research Institute (eldorado.org.br)
Differential Revision:	https://reviews.freebsd.org/D23859
</content>
</entry>
<entry>
<title>[aacraid] Port driver to big-endian</title>
<updated>2020-03-05T20:04:41Z</updated>
<author>
<name>Leandro Lupori</name>
<email>luporl@FreeBSD.org</email>
</author>
<published>2020-03-05T20:04:41Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=d8c51c6f74b61966ec57f498b3faf3ae93871918'/>
<id>urn:sha1:d8c51c6f74b61966ec57f498b3faf3ae93871918</id>
<content type='text'>
Port aacraid driver to big-endian (BE) hosts.

The immediate goal of this change is to make it possible to use the
aacraid driver on PowerPC64 machines that have Adaptec Series 8 SAS
controllers.

Adapters supported by this driver expect FIB contents in little-endian
(LE) byte order. All FIBs have a fixed header part as well as a data
part that depends on the command being issued to the controller.

In this way, on BE hosts, the FIB header and all FIB data structures
used in aacraid.c and aacraid_cam.c need to be converted to LE before
being sent to the adapter and converted to BE when coming from it.

The functions to convert each struct are on aacraid_endian.c.
For little-endian (LE) targets, they are macros that expand
to nothing.
In some cases, when only a few fields of a large structure are used,
the fields are converted inline, by the code using them.

PR:		237463
Reviewed by:	jhibbits
Sponsored by:	Eldorado Research Institute (eldorado.org.br)
Differential Revision:	https://reviews.freebsd.org/D23887
</content>
</entry>
<entry>
<title>[aacraid] Add missing unmap call for SYNC mode</title>
<updated>2020-03-04T12:21:38Z</updated>
<author>
<name>Leandro Lupori</name>
<email>luporl@FreeBSD.org</email>
</author>
<published>2020-03-04T12:21:38Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=cffdc39e5e64686b19c92ae9146fec7d60177c28'/>
<id>urn:sha1:cffdc39e5e64686b19c92ae9146fec7d60177c28</id>
<content type='text'>
This issue was observed on a PowerPC64 machine with an Adaptec RAID Controller
with PCI device ID 0x028d. After several read/write operations, the kernel was
panic'ing in bus_dmamap_sync(). This was due to a missing aac_unmap_command()
in the SYNC path.

PR:	237463
Reviewed by:	jhibbits
Differential Revision:	https://reviews.freebsd.org/D23668
</content>
</entry>
<entry>
<title>[aacraid] Prevent sense data from causing a buffer overflow</title>
<updated>2020-03-02T16:11:25Z</updated>
<author>
<name>Leandro Lupori</name>
<email>luporl@FreeBSD.org</email>
</author>
<published>2020-03-02T16:11:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=967c53ac2f75e2e27a3e17f3821f40fbe7d72e8c'/>
<id>urn:sha1:967c53ac2f75e2e27a3e17f3821f40fbe7d72e8c</id>
<content type='text'>
This issue was observed on a PowerPC64 machine with an Adaptec RAID
Controller with PCI device ID 0x028d, where sense data was causing a
buffer overflow because of wrong max sense length logic.

Reviewed by:	emaste
Differential Revision:	https://reviews.freebsd.org/D23667
</content>
</entry>
<entry>
<title>Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (17 of many)</title>
<updated>2020-02-26T14:26:36Z</updated>
<author>
<name>Pawel Biernacki</name>
<email>kaktus@FreeBSD.org</email>
</author>
<published>2020-02-26T14:26:36Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=7029da5c36f2d3cf6bb6c81bf551229f416399e8'/>
<id>urn:sha1:7029da5c36f2d3cf6bb6c81bf551229f416399e8</id>
<content type='text'>
r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
still not MPSAFE (or already are but aren’t properly marked).
Use it in preparation for a general review of all nodes.

This is non-functional change that adds annotations to SYSCTL_NODE and
SYSCTL_PROC nodes using one of the soon-to-be-required flags.

Mark all obvious cases as MPSAFE.  All entries that haven't been marked
as MPSAFE before are by default marked as NEEDGIANT

Approved by:	kib (mentor, blanket)
Commented by:	kib, gallatin, melifaro
Differential Revision:	https://reviews.freebsd.org/D23718
</content>
</entry>
<entry>
<title>Remove ifdefs for FreeBSD 6, 7, 8 and 9. Assume we're past that.</title>
<updated>2019-12-06T21:50:24Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2019-12-06T21:50:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=232d88897000ac79f01d1e2e95e0f017134da7ca'/>
<id>urn:sha1:232d88897000ac79f01d1e2e95e0f017134da7ca</id>
<content type='text'>
Differential Revision: https://reviews.freebsd.org/D22539
</content>
</entry>
<entry>
<title>Don't need giant for these drivers dev nodes.</title>
<updated>2019-11-24T15:37:19Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2019-11-24T15:37:19Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=dfdbb32093ce354251f15ff54247f29285456e2a'/>
<id>urn:sha1:dfdbb32093ce354251f15ff54247f29285456e2a</id>
<content type='text'>
Also, Giant isn't required to busy / unbusy a device, so drop that too while I'm
here. It's not done elsewhere in the tree and in the future will likely be
handled by a node lock to ensure consistency. Leave Giant in place for attach
and removing childing, as that's actually still needed, even if imperfect.

Remove stale comment about contigmalloc taking Giant and calling w/o the lock
held. Neither of these is still true.
</content>
</entry>
<entry>
<title>Make aacraid(4) working on ASR8805 &amp; ASR8402 in particular. This patch</title>
<updated>2019-05-22T04:51:08Z</updated>
<author>
<name>Maxim Sobolev</name>
<email>sobomax@FreeBSD.org</email>
</author>
<published>2019-05-22T04:51:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=4f1dfaba987f98b1b951c997cf72201f5fb433ae'/>
<id>urn:sha1:4f1dfaba987f98b1b951c997cf72201f5fb433ae</id>
<content type='text'>
has been in the PR system for 5 months and then on reviews for another 5.
Nobody came with any cases where it fails, while many people cried for
it to be commited &amp; merged.

PR:		209468
Submitted by:	Prasad B M &lt;prasad.munirathnam@microsemi.com&gt;
Reported by:	Steven Peterson &lt;scp@mainstream.net&gt;
Approved by:	scottl
MFC after:	1 month
Differential Revision:	https://reviews.freebsd.org/D18408
</content>
</entry>
<entry>
<title>Reapply, with minor tweaks, r338025, from the original commit:</title>
<updated>2018-09-26T17:12:14Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2018-09-26T17:12:14Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=329e817fcc97aa847765c5171cc89a81a0b25527'/>
<id>urn:sha1:329e817fcc97aa847765c5171cc89a81a0b25527</id>
<content type='text'>
Remove unused and easy to misuse PNP macro parameter

Inspired by r338025, just remove the element size parameter to the
MODULE_PNP_INFO macro entirely.  The 'table' parameter is now required to
have correct pointer (or array) type.  Since all invocations of the macro
already had this property and the emitted PNP data continues to include the
element size, there is no functional change.

Mostly done with the coccinelle 'spatch' tool:

  $ cat modpnpsize0.cocci
    @normaltables@
    identifier b,c;
    expression a,d,e;
    declarer MODULE_PNP_INFO;
    @@
     MODULE_PNP_INFO(a,b,c,d,
    -sizeof(d[0]),
     e);

    @singletons@
    identifier b,c,d;
    expression a;
    declarer MODULE_PNP_INFO;
    @@
     MODULE_PNP_INFO(a,b,c,&amp;d,
    -sizeof(d),
     1);

  $ rg -l MODULE_PNP_INFO -- sys | \
    xargs spatch --in-place --sp-file modpnpsize0.cocci

(Note that coccinelle invokes diff(1) via a PATH search and expects diff to
tolerate the -B flag, which BSD diff does not.  So I had to link gdiff into
PATH as diff to use spatch.)

Tinderbox'd (-DMAKE_JUST_KERNELS).
Approved by: re (glen)
</content>
</entry>
</feed>
