aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/pst
Commit message (Collapse)AuthorAgeFilesLines
* sys: Remove $FreeBSD$: one-line .c patternWarner Losh2023-08-233-6/+0
| | | | | | | Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/ Similar commit in current: (cherry picked from commit 685dc743dc3b)
* sys: Remove $FreeBSD$: two-line .h patternWarner Losh2023-08-231-2/+0
| | | | | | | Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/ Similar commit in current: (cherry picked from commit 95ee2897e98f)
* spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSDWarner Losh2023-07-251-1/+1
| | | | | | | | | | | The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix (cherry picked from commit 4d846d260e2b9a3d4d0a701462568268cbfe7a5b)
* pst: clean up empty lines in .c and .h filesMateusz Guzik2020-09-012-2/+1
| | | | Notes: svn path=/head/; revision=365172
* Ever since the block layer expanded its command syntax beyond justScott Long2020-02-071-6/+8
| | | | | | | | | | | BIO_READ and BIO_WRITE, we've handled this expanded syntax poorly in drivers when the driver doesn't support a particular command. Do a sweep and fix that. Reported by: imp Notes: svn path=/head/; revision=357647
* Revert r327828, r327949, r327953, r328016-r328026, r328041:Pedro F. Giffuni2018-01-211-1/+1
| | | | | | | | | | | | | | | | | | Uses of mallocarray(9). The use of mallocarray(9) has rocketed the required swap to build FreeBSD. This is likely caused by the allocation size attributes which put extra pressure on the compiler. Given that most of these checks are superfluous we have to choose better where to use mallocarray(9). We still have more uses of mallocarray(9) but hopefully this is enough to bring swap usage to a reasonable level. Reported by: wosch PR: 225197 Notes: svn path=/head/; revision=328218
* dev: make some use of mallocarray(9).Pedro F. Giffuni2018-01-131-1/+1
| | | | | | | | | | | | | | Focus on code where we are doing multiplications within malloc(9). None of these is likely to overflow, however the change is still useful as some static checkers can benefit from the allocation attributes we use for mallocarray. This initial sweep only covers malloc(9) calls with M_NOWAIT. No good reason but I started doing the changes before r327796 and at that time it was convenient to make sure the sorrounding code could handle NULL values. Notes: svn path=/head/; revision=327949
* sys/dev: further adoption of SPDX licensing ID tags.Pedro F. Giffuni2017-11-274-0/+8
| | | | | | | | | | | | | | | Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Notes: svn path=/head/; revision=326255
* Cleanups to pst(4):John Baldwin2014-11-182-19/+21
| | | | | | | | | | | - Use callout(9) instead of timeout(9). - Don't bother zero'ing the softc. - Destroy mutex on detach. Tested by: no one Notes: svn path=/head/; revision=274678
* Update PCI drivers to no longer look at the MEMIO-enabled bit in the PCIScott Long2013-08-121-3/+1
| | | | | | | | | | | | | | | | | | | | command register. The lazy BAR allocation code in FreeBSD sometimes disables this bit when it detects a range conflict, and will re-enable it on demand when a driver allocates the BAR. Thus, the bit is no longer a reliable indication of capability, and should not be checked. This results in the elimination of a lot of code from drivers, and also gives the opportunity to simplify a lot of drivers to use a helper API to set the busmaster enable bit. This changes fixes some recent reports of disk controllers and their associated drives/enclosures disappearing during boot. Submitted by: jhb Reviewed by: jfv, marius, achadd, achim MFC after: 1 day Notes: svn path=/head/; revision=254263
* Convert files to UTF-8Ulrich Spörlein2012-01-154-4/+4
| | | | Notes: svn path=/head/; revision=230132
* Pass the arguments to mtx_init() in the correct order. There should beDon Lewis2012-01-111-1/+1
| | | | | | | | | | no change to the binary because the value of MTX_DEF is zero and there is a visible function prototype. MFC after: 1 week Notes: svn path=/head/; revision=229984
* Temporarily revert the new-bus locking for 8.0 release. It will beJohn Baldwin2009-08-201-2/+0
| | | | | | | | | reintroduced after HEAD is reopened for commits by re@. Approved by: re (kib), attilio Notes: svn path=/head/; revision=196403
* Make the newbus subsystem Giant free by adding the new newbus sxlock.Attilio Rao2009-08-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The newbus lock is responsible for protecting newbus internIal structures, device states and devclass flags. It is necessary to hold it when all such datas are accessed. For the other operations, softc locking should ensure enough protection to avoid races. Newbus lock is automatically held when virtual operations on the device and bus are invoked when loading the driver or when the suspend/resume take place. For other 'spourious' operations trying to access/modify the newbus topology, newbus lock needs to be automatically acquired and dropped. For the moment Giant is also acquired in some key point (modules subsystem) in order to avoid problems before the 8.0 release as module handlers could make assumptions about it. This Giant locking should go just after the release happens. Please keep in mind that the public interface can be expanded in order to provide more support, if there are really necessities at some point and also some bugs could arise as long as the patch needs a bit of further testing. Bump __FreeBSD_version in order to reflect the newbus lock introduction. Reviewed by: ed, hps, jhb, imp, mav, scottl No answer by: ariff, thompsa, yongari Tested by: pho, G. Trematerra <giovanni dot trematerra at gmail dot com>, Brandon Gooch <jamesbrandongooch at gmail dot com> Sponsored by: Yahoo! Incorporated Approved by: re (ksmith) Notes: svn path=/head/; revision=196037
* o break newbus api: add a new argument of type driver_filter_t toPaolo Pisati2007-02-231-1/+1
| | | | | | | | | | | | | | | | bus_setup_intr() o add an int return code to all fast handlers o retire INTR_FAST/IH_FAST For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current Reviewed by: many Approved by: re@ Notes: svn path=/head/; revision=166901
* Use BUS_PROBE_DEFAULT for pci probe return valueWarner Losh2005-03-051-2/+2
| | | | Notes: svn path=/head/; revision=143158
* Use the correct type for iop_attach().Stefan Farfeleder2004-10-032-4/+6
| | | | Notes: svn path=/head/; revision=136094
* Flush the queue of minor fixes to pst.Søren Schmidt2004-09-153-5/+3
| | | | Notes: svn path=/head/; revision=135267
* Convert callers to the new bus_alloc_resource_any(9) API.Nate Lawson2004-03-171-3/+3
| | | | | | | | Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde Notes: svn path=/head/; revision=127135
* Change the disk(9) API in order to make device removal more robust.Poul-Henning Kamp2004-02-181-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the "struct disk" were owned by the device driver and this gave us problems when the device disappared and the users of that device were not immediately disappearing. Now the struct disk is allocate with a new call, disk_alloc() and owned by geom_disk and just abandonned by the device driver when disk_create() is called. Unfortunately, this results in a ton of "s/\./->/" changes to device drivers. Since I'm doing the sweep anyway, a couple of other API improvements have been carried out at the same time: The Giant awareness flag has been flipped from DISKFLAG_NOGIANT to DISKFLAG_NEEDSGIANT A version number have been added to disk_create() so that we can detect, report and ignore binary drivers with old ABI in the future. Manual page update to follow shortly. Notes: svn path=/head/; revision=125975
* Dont re-arm the timeout twice on a timeout error.Søren Schmidt2003-09-081-5/+0
| | | | | | | | | | The problem with the first timeout still exsists though, but not it doesn't enter a groundbound spin loop :) Found by: Aaron Smith <aaron@mutex.org> Notes: svn path=/head/; revision=119874
* Use __FBSDID().David E. O'Brien2003-08-243-6/+9
| | | | | | | Also some minor style cleanups. Notes: svn path=/head/; revision=119418
* Prefer new location of pci include files (which have only been in theWarner Losh2003-08-223-6/+6
| | | | | | | | tree for two or more years now), except in a few places where there's code to be compatible with older versions of FreeBSD. Notes: svn path=/head/; revision=119285
* Pull the pst driver out from under GAINT.Søren Schmidt2003-04-284-75/+151
| | | | Notes: svn path=/head/; revision=114154
* Instead of not grapping a request binfinish(ENOMEM) it if malloc fails.Søren Schmidt2003-04-021-1/+2
| | | | Notes: svn path=/head/; revision=112977
* Use bioq_flush() to drain a bio queue with a specific error code.Poul-Henning Kamp2003-04-011-2/+2
| | | | | | | | | | | Retain the mistake of not updating the devstat API for now. Spell bioq_disksort() consistently with the remaining bioq_*(). #include <geom/geom_disk.h> where this is more appropriate. Notes: svn path=/head/; revision=112946
* Centralize the devstat handling for all GEOM disk device driversPoul-Henning Kamp2003-03-081-12/+4
| | | | | | | | | | | in geom_disk.c. As a side effect this makes a lot of #include <sys/devicestat.h> lines not needed and some biofinish() calls can be reduced to biodone() again. Notes: svn path=/head/; revision=111979
* NO_GEOM cleanup:Poul-Henning Kamp2003-02-251-25/+12
| | | | | | | | | | Move to "struct disk *" centric API. Add NULL check to a malloc(9) return value. Ok'ed by: sos Notes: svn path=/head/; revision=111472
* Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,Jens Schweikhardt2003-01-011-7/+7
| | | | | | | especially in troff files. Notes: svn path=/head/; revision=108533
* Fxi support for the Promise SuperTrak 100, the PCI id was wrong.Søren Schmidt2002-12-201-2/+2
| | | | Notes: svn path=/head/; revision=108126
* Fix so it compiles with the new disklabel stuff.Søren Schmidt2002-09-271-5/+5
| | | | Notes: svn path=/head/; revision=104066
* use __packed.Alfred Perlstein2002-09-231-25/+25
| | | | Notes: svn path=/head/; revision=103870
* (This commit touches about 15 disk device drivers in a very consistentPoul-Henning Kamp2002-09-201-9/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and predictable way, and I apologize if I have gotten it wrong anywhere, getting prior review on a patch like this is not feasible, considering the number of people involved and hardware availability etc.) If struct disklabel is the messenger: kill the messenger. Inside struct disk we had a struct disklabel which disk drivers used to communicate certain metrics to the disklayer above (GEOM or the disk mini-layer). This commit changes this communication to use four explicit fields instead. Amongst the benefits is that the fields do not get overwritten by wrong or bogus on-disk disklabels. Once that is clear, <sys/disk.h> which is included in the drivers no longer need to pull <sys/disklabel.h> and <sys/diskslice.h> in, the few places that needs them, have gotten explicit #includes for them. The disklabel inside struct disk is now only for internal use in the disk mini-layer, so instead of embedding it, we malloc it as we need it. This concludes (modulus any mistakes) the series of disklabel related commits. I belive it all amounts to a NOP for all the rest of you :-) Sponsored by: DARPA & NAI Labs. Notes: svn path=/head/; revision=103714
* Fix args for contigmalloc, cosmetics.Søren Schmidt2002-08-183-85/+88
| | | | Notes: svn path=/head/; revision=102058
* Finally first shot at a driver for the Promise SuperTrak SX6000 ATA RAIDSøren Schmidt2002-07-314-0/+1599
controller. Some testing has already been done, but its still greenish. RAID's has to be setup via the BIOS on the SuperTrak, but all RAID types are supported by the driver. The SuperTrak rebuilds failed arrays on the fly and supports spare disks etc etc... Add "device pst" to your config file to use. As usual bugsreports, suggestions etc are welcome... Development sponsored by: Advanis Hardware donated by: Promise Inc. Notes: svn path=/head/; revision=101100