aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/ida
Commit message (Collapse)AuthorAgeFilesLines
...
* Use PCIR_BAR(x) instead of PCIR_MAPS.John Baldwin2003-09-021-2/+2
| | | | | | | | Glanced over by: imp, gibbs Tested by: i386 LINT Notes: svn path=/head/; revision=119690
* 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-221-2/+2
| | | | | | | | 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=119280
* Initialize bp->bio_driver1 in idad_strategy().Matthew N. Dodd2003-08-081-0/+1
| | | | | | | | | | | Removed by accident in 1.38. This fixes the trap 12 everyone was seeing in ida_construct_qcb(). PR: kern/53245 Notes: svn path=/head/; revision=118678
* Mega busdma API commit.Scott Long2003-07-013-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg. Lockfunc allows a driver to provide a function for managing its locking semantics while using busdma. At the moment, this is used for the asynchronous busdma_swi and callback mechanism. Two lockfunc implementations are provided: busdma_lock_mutex() performs standard mutex operations on the mutex that is specified from lockfuncarg. dftl_lock() is a panic implementation and is defaulted to when NULL, NULL are passed to bus_dma_tag_create(). The only time that NULL, NULL should ever be used is when the driver ensures that bus_dmamap_load() will not be deferred. Drivers that do not provide their own locking can pass busdma_lock_mutex,&Giant args in order to preserve the former behaviour. sparc64 and powerpc do not provide real busdma_swi functions, so this is largely a noop on those platforms. The busdma_swi on is64 is not properly locked yet, so warnings will be emitted on this platform when busdma callback deferrals happen. If anyone gets panics or warnings from dflt_lock() being called, please let me know right away. Reviewed by: tmm, gibbs Notes: svn path=/head/; revision=117126
* Bring back bus_dmasync_op_t. It is now a typedef to an int, though theScott Long2003-05-271-3/+3
| | | | | | | | | | | BUS_DMASYNC_ definitions remain as before. The does not change the ABI, and reverts the API to be a bit more compatible and flexible. This has survived a full 'make universe'. Approved by: re (bmah) Notes: svn path=/head/; revision=115343
* I deserve a big pointy hat for having missed all those referencesMaxime Henrion2003-04-101-3/+3
| | | | | | | to bus_dmasync_op_t in my last commit. Notes: svn path=/head/; revision=113350
* Use bioq_flush() to drain a bio queue with a specific error code.Poul-Henning Kamp2003-04-014-4/+8
| | | | | | | | | | | 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
* Including <sys/stdint.h> is (almost?) universally only to be able to usePoul-Henning Kamp2003-03-181-1/+0
| | | | | | | | %j in printfs, so put a newsted include in <sys/systm.h> where the printf prototype lives and save everybody else the trouble. Notes: svn path=/head/; revision=112367
* Centralize the devstat handling for all GEOM disk device driversPoul-Henning Kamp2003-03-085-13/+1
| | | | | | | | | | | 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
* More low-hanging fruit: kill caddr_t in calls to wakeup(9) / [mt]sleep(9).Dag-Erling Smørgrav2003-03-021-1/+1
| | | | Notes: svn path=/head/; revision=111748
* NO_GEOM cleanup:Poul-Henning Kamp2003-02-234-66/+18
| | | | | | | | | Move ida driver to "struct disk *" centric api. Retire major number 109. Notes: svn path=/head/; revision=111337
* Fix the detach code to actually detach the disk instance createdPoul-Henning Kamp2003-02-231-5/+1
| | | | | | | during attach. Notes: svn path=/head/; revision=111336
* Remove a goto the very next statement.Poul-Henning Kamp2003-02-231-3/+0
| | | | Notes: svn path=/head/; revision=111335
* NO_GEOM cleanup:Poul-Henning Kamp2003-02-211-3/+5
| | | | | | | | | | | | | | | | Retire the "d_dump_t" and use the "dumper_t" type instead. Dumper_t takes a void * as first arg which is more general than the dev_t taken by d_dump_t. (Remember: we could have net-dumpers if somebody wrote us one!) Define the convention for GEOM controlled disk devices to be that the first argument to the dumper function is the struct disk pointer. Change device drivers accordingly. Notes: svn path=/head/; revision=111220
* Update to new crashdump APIPaul Saab2003-02-071-38/+9
| | | | Notes: svn path=/head/; revision=110483
* Use [u]intmax_t and %j instead of long long and %ll to better fix warningsJohn Baldwin2002-11-071-1/+2
| | | | | | | | | I fixed earlier. Requested by: mux, jake Notes: svn path=/head/; revision=106591
* Cast a bus_addr_t to a long long to make printf happy.John Baldwin2002-11-061-1/+1
| | | | Notes: svn path=/head/; revision=106536
* use __packed.Alfred Perlstein2002-09-231-3/+3
| | | | Notes: svn path=/head/; revision=103870
* (This commit touches about 15 disk device drivers in a very consistentPoul-Henning Kamp2002-09-201-10/+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
* Here follows the new kernel dumping infrastructure.Poul-Henning Kamp2002-03-311-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Caveats: The new savecore program is not complete in the sense that it emulates enough of the old savecores features to do the job, but implements none of the options yet. I would appreciate if a userland hacker could help me out getting savecore to do what we want it to do from a users point of view, compression, email-notification, space reservation etc etc. (send me email if you are interested). Currently, savecore will scan all devices marked as "swap" or "dump" in /etc/fstab _or_ any devices specified on the command-line. All architectures but i386 lack an implementation of dumpsys(), but looking at the i386 version it should be trivial for anybody familiar with the platform(s) to provide this function. Documentation is quite sparse at this time, more to come. Details: ATA and SCSI drivers should work as the dump formatting code has been removed. The IDA, TWE and AAC have not yet been converted. Dumpon now opens the device and uses ioctl(DIOCGKERNELDUMP) to set the device as dumpdev. To implement the "off" argument, /dev/null is used as the device. Savecore will fail if handed any options since they are not (yet) implemented. All devices marked "dump" or "swap" in /etc/fstab will be scanned and dumps found will be saved to diskfiles named from the MD5 hash of the header record. The header record is dumped in readable format in the .info file. The kernel is not saved. Only complete dumps will be saved. All maintainer rights for this code are disclaimed: feel free to improve and extend. Sponsored by: DARPA, NAI Labs Notes: svn path=/head/; revision=93496
* No need to conditionalize on pci being in the kernel for thisWarner Losh2002-03-202-6/+0
| | | | Notes: svn path=/head/; revision=92820
* Fix a signed bug in the crashdump code for systems with > 2GB of ram.Paul Saab2001-11-131-1/+1
| | | | | | | Reviewed by: peter Notes: svn path=/head/; revision=86313
* KSE Milestone 2Julian Elischer2001-09-121-2/+2
| | | | | | | | | | | | | | | | | Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process. Sorry john! (your next MFC will be a doosie!) Reviewed by: peter@freebsd.org, dillon@freebsd.org X-MFC after: ha ha ha ha Notes: svn path=/head/; revision=83366
* Fix warning: 186: warning: label `done' defined but not usedPeter Wemm2001-06-151-1/+0
| | | | Notes: svn path=/head/; revision=78246
* Make the disk mini-layer check for and handle zero-length transfersPoul-Henning Kamp2001-05-061-6/+0
| | | | | | | instead of the underlying drivers. Notes: svn path=/head/; revision=76324
* Actually biofinish(struct bio *, struct devstat *, int error) is more generalPoul-Henning Kamp2001-05-061-2/+1
| | | | | | | | | than the bioerror(). Most of this patch is generated by scripts. Notes: svn path=/head/; revision=76322
* Last commit was broken.. It always prints '[CTRL-C to abort]'.Paul Saab2001-03-281-12/+2
| | | | | | | | | | Move duplicate code for printing the status of the dump and checking for abort into a separate function. Pointy hat to: me Notes: svn path=/head/; revision=74890
* Change the dump routines to only abort if control-c is pressed.Paul Saab2001-03-271-1/+3
| | | | | | | | | | If any other key is pressed, print a message stating that control-c is how to abort. Reviewed by: peter Notes: svn path=/head/; revision=74841
* Send the remains (such as I have located) of "block major numbers" toPoul-Henning Kamp2001-03-261-2/+0
| | | | | | | the bit-bucket. Notes: svn path=/head/; revision=74810
* Turn on interrupt-entropy harvesting for all/any mass storage devicesMark Murray2001-03-012-2/+2
| | | | | | | | | | I could find. I have no doubt missed a couple. Interrupt entropy harvesting is still conditional on the kern.random.sys.harvest_interrupt sysctl. Notes: svn path=/head/; revision=73280
* Add crashdump support.Jonathan Lemon2001-02-265-25/+106
| | | | | | | Tested by: ps Notes: svn path=/head/; revision=73113
* Add a flag value to the board identifiers, and use this to enable theJonathan Lemon2001-01-093-19/+35
| | | | | | | | | firmware for selected revisions of the controller. Spotted by: Alexander Hausner <alex@hugo.bmg.gv.at> Notes: svn path=/head/; revision=70845
* Convert more malloc+bzero to malloc+M_ZERO.David Malone2000-12-081-2/+2
| | | | | | | | Submitted by: josh@zipperup.org Submitted by: Robert Drehmel <robd@gmx.net> Notes: svn path=/head/; revision=69781
* Add PCI id for the RAID LC2 controller.Jonathan Lemon2000-12-011-1/+3
| | | | | | | | Pick up correct location for the DEC version of the chip, this got broken in a previous commit. Notes: svn path=/head/; revision=69479
* Remove unneeded #include <machine/clock.h>Poul-Henning Kamp2000-10-152-2/+0
| | | | Notes: svn path=/head/; revision=67164
* Look at both the vendor and subvendor information when determiningJonathan Lemon2000-10-131-30/+23
| | | | | | | | | | whether this is a Smart Array. This fixes a problem where the driver would incorrectly match a Dell RAID device. Reviewed by: msmith Notes: svn path=/head/; revision=67101
* The DEC version of the Smart controller has its configuration informationJonathan Lemon2000-07-276-36/+79
| | | | | | | | | | stored at a different location in the PCI space, so adjust accordingly. Also, when using more than two smart controllers in one machine, the disks were assigned the wrong drive number; fix this as well. Notes: svn path=/head/; revision=63934
* Back out the previous change to the queue(3) interface.Jake Burkholder2000-05-261-4/+4
| | | | | | | | | It was not discussed and should probably not happen. Requested by: msmith and others Notes: svn path=/head/; revision=60938
* Change the way that the queue(3) structures are declared; don't assume thatJake Burkholder2000-05-231-4/+4
| | | | | | | | | | | the type argument to *_HEAD and *_ENTRY is a struct. Suggested by: phk Reviewed by: phk Approved by: mdodd Notes: svn path=/head/; revision=60833
* Add code which actually checks for the NCR PCI id so it can be used.Jonathan Lemon2000-05-231-1/+2
| | | | Notes: svn path=/head/; revision=60830
* Add PCI ID for NEC/Compaq controller.Jonathan Lemon2000-05-221-2/+5
| | | | Notes: svn path=/head/; revision=60796
* Add PCI id for Compaq Smart Array 431 card.Jonathan Lemon2000-05-221-0/+1
| | | | Notes: svn path=/head/; revision=60795
* Separate the struct bio related stuff out of <sys/buf.h> intoPoul-Henning Kamp2000-05-054-4/+4
| | | | | | | | | | | | | | | | | | <sys/bio.h>. <sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall not be made a nested include according to bdes teachings on the subject of nested includes. Diskdrivers and similar stuff below specfs::strategy() should no longer need to include <sys/buf.> unless they need caching of data. Still a few bogus uses of struct buf to track down. Repocopy by: peter Notes: svn path=/head/; revision=60041
* Add PCI identification for another SmartArray 4200, which identifiesJonathan Lemon2000-05-041-6/+14
| | | | | | | itself as a DEC card instead of Compaq. Notes: svn path=/head/; revision=59999
* Remove unneeded #include <sys/kernel.h>Poul-Henning Kamp2000-04-291-1/+0
| | | | Notes: svn path=/head/; revision=59760
* - Fix a problem with the cdevsw struct that prevented the kernel fromMatthew N. Dodd2000-04-223-55/+52
| | | | | | | | | | | | booting on a RAID volume. - Change 'id_foo' and 'idfoo' to 'idad_foo' and 'idadfoo'. This makes names more consistent with the devices that the code belongs to (more in line with the style used in the amr/mlx driver.) Reviewed by: jlemon Notes: svn path=/head/; revision=59485
* Remove ~25 unneeded #include <sys/conf.h>Poul-Henning Kamp2000-04-192-2/+0
| | | | | | | Remove ~60 unneeded #include <sys/malloc.h> Notes: svn path=/head/; revision=59391
* - Define registers as offsets from register base rather than offsets fromMatthew N. Dodd2000-04-162-14/+10
| | | | | | | | | | EISA slot base. - Remove unused IOPORT resource. Reviewed by: jlemon Notes: svn path=/head/; revision=59273
* Complete the bio/buf divorce for all code below devfs::strategyPoul-Henning Kamp2000-04-153-31/+31
| | | | | | | | | | | | | Exceptions: Vinum untouched. This means that it cannot be compiled. Greg Lehey is on the case. CCD not converted yet, casts to struct buf (still safe) atapi-cd casts to struct buf to examine B_PHYS Notes: svn path=/head/; revision=59249