sys/dev: further adoption of SPDX licensing ID tags.Mainly focus on files that use BSD 2-Clause license, however the tool Iwas using misidentified many licenses so this was mostly a manual - error
sys/dev: further adoption of SPDX licensing ID tags.Mainly focus on files that use BSD 2-Clause license, however the tool Iwas using misidentified many licenses so this was mostly a manual - errorprone - task.The Software Package Data Exchange (SPDX) group provides a specificationto make it easier for automated tools to detect and summarize well knownopensource licenses. We are gradually adopting the specification, notingthat the tags are considered only advisory and do not, in any way,superceed or replace the license texts.
show more ...
Update arcmsr(4) to 1.40.00.01: - Fix clear doorbell queue buffer for ADAPTER_TYPE_B - Fix release memory resource when detach device - Add support for ARC-1216, 1226 SAS 12Gb controllers - Decl
Update arcmsr(4) to 1.40.00.01: - Fix clear doorbell queue buffer for ADAPTER_TYPE_B - Fix release memory resource when detach device - Add support for ARC-1216, 1226 SAS 12Gb controllers - Declare some functions as static - Change checking dword read/write for IOP rqbuffer.Many thanks to Areca for continuing to support FreeBSD.Submitted by: 黃清隆 <ching2048 areca com tw>MFC after: 2 weeks
Update arcmsr(4) to 1.40.00.00 in order to add support ofARC-1884 SATA RAID controllers.Many thanks to Areca for continuing to support FreeBSD.Submitted by: 黃清隆 <ching2048 areca com tw>MFC afte
Update arcmsr(4) to 1.40.00.00 in order to add support ofARC-1884 SATA RAID controllers.Many thanks to Areca for continuing to support FreeBSD.Submitted by: 黃清隆 <ching2048 areca com tw>MFC after: 3 days
sys/dev: Replace zero with NULL for pointers.Makes things easier to read, plus architectures may set NULL to somethingdifferent than zero.Found with: devel/coccinelleMFC after: 3 weeks
Remove dead mentions of CAM target mode APIs from drivers.This makes grepping kernel for target mode implementation much easier.
Always null-terminate ccb_pathinq.(sim_vid|hba_vid|dev_name)The sim_vid, hba_vid, and dev_name fields of struct ccb_pathinq arefixed-length strings. AFAICT the only place they're read is insbin/c
Always null-terminate ccb_pathinq.(sim_vid|hba_vid|dev_name)The sim_vid, hba_vid, and dev_name fields of struct ccb_pathinq arefixed-length strings. AFAICT the only place they're read is insbin/camcontrol/camcontrol.c, which assumes they'll be null-terminated.However, the kernel doesn't null-terminate them. A bunch of copy-pasted codeuses strncpy to write them, and doesn't guarantee null-termination. For atleast 4 drivers (mpr, mps, ciss, and hyperv), the hba_vid field actuallyoverflows. You can see the result by doing "camcontrol negotiate da0 -v".This change null-terminates those fields everywhere they're set in thekernel. It also shortens a few strings to ensure they'll fit within the16-character field.PR: 215474Reported by: CoverityCID: 1009997 1010000 1010001 1010002 1010003 1010004 1010005CID: 1331519 1010006 1215097 1010007 1288967 1010008 1306000CID: 1211924 1010009 1010010 1010011 1010012 1010013 1010014CID: 1147190 1010017 1010016 1010018 1216435 1010020 1010021CID: 1010022 1009666 1018185 1010023 1010025 1010026 1010027CID: 1010028 1010029 1010030 1010031 1010033 1018186 1018187CID: 1010035 1010036 1010042 1010041 1010040 1010039Reviewed by: imp, sephe, slmMFC after: 4 weeksSponsored by: Spectra Logic CorpDifferential Revision: https://reviews.freebsd.org/D9037Differential Revision: https://reviews.freebsd.org/D9038
Make sure we check for CAM_CDB_POINTER for all drivers. Also, for thedrivers I've touched, filter out CAM_CDB_PHYS.Differential Revision: https://reviews.freebsd.org/D5585
Replace several bus_alloc_resource() calls with bus_alloc_resource_any()Most of these are BARs, and we allocate them in their entirety. The one outlierin this is amdsbwd, which calls bus_set_reso
Replace several bus_alloc_resource() calls with bus_alloc_resource_any()Most of these are BARs, and we allocate them in their entirety. The one outlierin this is amdsbwd, which calls bus_set_resource() prior.Reviewed by: jhbDifferential Revision: https://reviews.freebsd.org/D5370 (partial)
Replace several bus_alloc_resource() calls using default arguments with bus_alloc_resource_any()Since these calls only use default arguments, bus_alloc_resource_any() is theright call.Differenti
Replace several bus_alloc_resource() calls using default arguments with bus_alloc_resource_any()Since these calls only use default arguments, bus_alloc_resource_any() is theright call.Differential Revision: https://reviews.freebsd.org/D5306
Update arcmsr(4) to 1.30.00.00 in order to add support ofARC-1203 SATA RAID controllers.Many thanks to Areca for continuing to support FreeBSD.Submitted by: 黃清隆 <ching2048 areca com tw>MFC afte
Update arcmsr(4) to 1.30.00.00 in order to add support ofARC-1203 SATA RAID controllers.Many thanks to Areca for continuing to support FreeBSD.Submitted by: 黃清隆 <ching2048 areca com tw>MFC after: 2 weeks
Prevent overflow issues in timeout processingPreviously, any timeout value for which (timeout * hz) will overflow thesigned integer, will give weird results, since callout(9) routines willconvert
Prevent overflow issues in timeout processingPreviously, any timeout value for which (timeout * hz) will overflow thesigned integer, will give weird results, since callout(9) routines willconvert negative values of ticks to '1'. For unsigned integer overflow wewill get sufficiently smaller timeout values than expected.Switch from callout_reset, which requires conversion to int based ticksto callout_reset_sbt to avoid this.Also correct isci to correctly resolve ccb timeout.This was based on the original work done by Eygene Ryabinkin<[email protected]> back in 5 Aug 2011 which used a macro to help avoidthe overlow.Differential Revision: https://reviews.freebsd.org/D1157Reviewed by: mav, davideMFC after: 1 monthSponsored by: Multiplay
Commit 2/2: vendor whitespace changes to the driver.Many thanks to Areca for continuing to support FreeBSD.Submitted by: 黃清隆 <ching2048 areca com tw>
Commit 1/2: update arcmsr(4) to 1.20.00.29 in order to addsupport of ARC-1883 SAS 12Gb/s RAID controllers.Many thanks to Areca for continuing to support FreeBSD.Submitted by: 黃清隆 <ching2048 arec
Commit 1/2: update arcmsr(4) to 1.20.00.29 in order to addsupport of ARC-1883 SAS 12Gb/s RAID controllers.Many thanks to Areca for continuing to support FreeBSD.Submitted by: 黃清隆 <ching2048 areca com tw>
Adjust various SCSI drivers to handle either a 32-bit or 64-bit lun_id_t,mostly by adjustments to debugging printf() format specifiers. For highnumbered LUNs, also switch to printing them in hex as
Adjust various SCSI drivers to handle either a 32-bit or 64-bit lun_id_t,mostly by adjustments to debugging printf() format specifiers. For highnumbered LUNs, also switch to printing them in hex as per SAM-5.MFC after: 2 weeks
Update arcmsr(4) driver to 1.20.00.28 which fixes mutex recursion inCCB abort codepath.Many thanks to Areca for continuing to support FreeBSD.Submitted by: 黃清隆 <ching2048 areca com tw>MFC after
Update arcmsr(4) driver to 1.20.00.28 which fixes mutex recursion inCCB abort codepath.Many thanks to Areca for continuing to support FreeBSD.Submitted by: 黃清隆 <ching2048 areca com tw>MFC after: 2 weeksApproved by: re (?)
Update PCI drivers to no longer look at the MEMIO-enabled bit in the PCIcommand register. The lazy BAR allocation code in FreeBSD sometimesdisables this bit when it detects a range conflict, and w
Update PCI drivers to no longer look at the MEMIO-enabled bit in the PCIcommand register. The lazy BAR allocation code in FreeBSD sometimesdisables this bit when it detects a range conflict, and will re-enableit on demand when a driver allocates the BAR. Thus, the bit is no longera reliable indication of capability, and should not be checked. Thisresults in the elimination of a lot of code from drivers, and also givesthe opportunity to simplify a lot of drivers to use a helper API to setthe busmaster enable bit.This changes fixes some recent reports of disk controllers and theirassociated drives/enclosures disappearing during boot.Submitted by: jhbReviewed by: jfv, marius, achadd, achimMFC after: 1 day
Refresh vendor driver version which fixes command queuefull issue with ARC-1214 and ARC-1224.Many thanks to Areca for continuing to support FreeBSD.Submitted by: 黃清隆 <ching2048 areca com tw>MFC
Refresh vendor driver version which fixes command queuefull issue with ARC-1214 and ARC-1224.Many thanks to Areca for continuing to support FreeBSD.Submitted by: 黃清隆 <ching2048 areca com tw>MFC after: 1 day
MFprojects/camlock r248982:Stop abusing xpt_periph in random plases that really have no periph relatedto CCB, for example, bus scanning. NULL value is fine in such cases and itis correctly logged
MFprojects/camlock r248982:Stop abusing xpt_periph in random plases that really have no periph relatedto CCB, for example, bus scanning. NULL value is fine in such cases and itis correctly logged in debug messages as "noperiph". If at some point weneed some real XPT periphs (alike to pmpX now), quite likely they will beper-bus, and not a single global instance as xpt_periph now.
Refresh vendor driver version which adds ARC-1224 support.Many thanks to Areca for continuing to support FreeBSD.Submitted by: 黃清隆 <ching2048 areca com tw>MFC after: 3 days
Reform the busdma API so that new types may be added without modifyingevery architecture's busdma_machdep.c. It is done by unifying thebus_dmamap_load_buffer() routines so that they may be called
Reform the busdma API so that new types may be added without modifyingevery architecture's busdma_machdep.c. It is done by unifying thebus_dmamap_load_buffer() routines so that they may be called from MIcode. The MD busdma is then given a chance to do any final processingin the complete() callback.The cam changes unify the bus_dmamap_load* handling in cam drivers.The arm and mips implementations are updated to track virtualaddresses for sync(). Previously this was done in a type specificway. Now it is done in a generic way by recording the list ofvirtuals in the map.Submitted by: jeff (sponsored by EMC/Isilon)Reviewed by: kan (previous version), scottl, mjacob (isp(4), no objections for target mode changes)Discussed with: ian (arm changes)Tested by: marius (sparc64), mips (jmallet), isci(4) on x86 (jharris), amd64 (Fabian Keil <[email protected]>)
Update arcmsr(4) to vendor version 1.20.00.26, this addssupport for their new RAID adapter ARC-1214.Many thanks to Areca for continuing to support FreeBSD.Submitted by: 黃清隆 Ching-Lung Huang <chi
Update arcmsr(4) to vendor version 1.20.00.26, this addssupport for their new RAID adapter ARC-1214.Many thanks to Areca for continuing to support FreeBSD.Submitted by: 黃清隆 Ching-Lung Huang <ching2048 areca com tw>MFC after: 2 weeks
Use CAM_DEV_NOT_THERE instead of CAM_SEL_TIMEOUT to report nonexistentLUNs for the virtual processor device. This removes lots of CAM warnings,and follows similar recent changes to tws(4) and twa(
Use CAM_DEV_NOT_THERE instead of CAM_SEL_TIMEOUT to report nonexistentLUNs for the virtual processor device. This removes lots of CAM warnings,and follows similar recent changes to tws(4) and twa(4) drivers.Also fix case where CAM_REQ_CMP was getting OR'd with CAM_DEV_NOT_THEREin the nonexistent LUN case, resulting in different CAM status (CAM_UA_TERMIO)getting reported to CAM. This issue existing previously, but was more subtlebecause it changed CAM_SEL_TIMEOUT to CAM_CMD_TIMEOUT.Sponsored by: IntelReported and tested by: Willem Jan Withagen <[email protected]>MFC after: 1 week
Fix typo: s/unknow/unknown
Update arcmsr(4) to vendor version 1.20.00.25.Many thanks to Areca for continuing to support FreeBSD.Submitted by: Ching-Lung Huang <ching2048 areca com tw>MFC after: 2 weeks
Convert a number of drivers to obtaining their parent DMA tag from theirPCI device attachment.
123