summaryrefslogtreecommitdiffstats
path: root/sys/dev/ida
Commit message (Collapse)AuthorAgeFilesLines
* Use bioq_flush() to drain a bio queue with a specific error code.phk2003-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.
* Including <sys/stdint.h> is (almost?) universally only to be able to usephk2003-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.
* Centralize the devstat handling for all GEOM disk device driversphk2003-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.
* More low-hanging fruit: kill caddr_t in calls to wakeup(9) / [mt]sleep(9).des2003-03-021-1/+1
|
* NO_GEOM cleanup:phk2003-02-234-66/+18
| | | | | | Move ida driver to "struct disk *" centric api. Retire major number 109.
* Fix the detach code to actually detach the disk instance createdphk2003-02-231-5/+1
| | | | during attach.
* Remove a goto the very next statement.phk2003-02-231-3/+0
|
* NO_GEOM cleanup:phk2003-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.
* Update to new crashdump APIps2003-02-071-38/+9
|
* Use [u]intmax_t and %j instead of long long and %ll to better fix warningsjhb2002-11-071-1/+2
| | | | | | I fixed earlier. Requested by: mux, jake
* Cast a bus_addr_t to a long long to make printf happy.jhb2002-11-061-1/+1
|
* use __packed.alfred2002-09-231-3/+3
|
* (This commit touches about 15 disk device drivers in a very consistentphk2002-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.
* Here follows the new kernel dumping infrastructure.phk2002-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
* No need to conditionalize on pci being in the kernel for thisimp2002-03-202-6/+0
|
* Fix a signed bug in the crashdump code for systems with > 2GB of ram.ps2001-11-131-1/+1
| | | | Reviewed by: peter
* KSE Milestone 2julian2001-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
* Fix warning: 186: warning: label `done' defined but not usedpeter2001-06-151-1/+0
|
* Make the disk mini-layer check for and handle zero-length transfersphk2001-05-061-6/+0
| | | | instead of the underlying drivers.
* Actually biofinish(struct bio *, struct devstat *, int error) is more generalphk2001-05-061-2/+1
| | | | | | than the bioerror(). Most of this patch is generated by scripts.
* Last commit was broken.. It always prints '[CTRL-C to abort]'.ps2001-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
* Change the dump routines to only abort if control-c is pressed.ps2001-03-271-1/+3
| | | | | | | If any other key is pressed, print a message stating that control-c is how to abort. Reviewed by: peter
* Send the remains (such as I have located) of "block major numbers" tophk2001-03-261-2/+0
| | | | the bit-bucket.
* Turn on interrupt-entropy harvesting for all/any mass storage devicesmarkm2001-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.
* Add crashdump support.jlemon2001-02-265-25/+106
| | | | Tested by: ps
* Add a flag value to the board identifiers, and use this to enable thejlemon2001-01-093-22/+38
| | | | | | firmware for selected revisions of the controller. Spotted by: Alexander Hausner <alex@hugo.bmg.gv.at>
* Convert more malloc+bzero to malloc+M_ZERO.dwmalone2000-12-081-2/+2
| | | | | Submitted by: josh@zipperup.org Submitted by: Robert Drehmel <robd@gmx.net>
* Add PCI id for the RAID LC2 controller.jlemon2000-12-011-1/+3
| | | | | Pick up correct location for the DEC version of the chip, this got broken in a previous commit.
* Remove unneeded #include <machine/clock.h>phk2000-10-152-2/+0
|
* Look at both the vendor and subvendor information when determiningjlemon2000-10-131-32/+25
| | | | | | | whether this is a Smart Array. This fixes a problem where the driver would incorrectly match a Dell RAID device. Reviewed by: msmith
* The DEC version of the Smart controller has its configuration informationjlemon2000-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.
* Back out the previous change to the queue(3) interface.jake2000-05-261-4/+4
| | | | | | It was not discussed and should probably not happen. Requested by: msmith and others
* Change the way that the queue(3) structures are declared; don't assume thatjake2000-05-231-4/+4
| | | | | | | | the type argument to *_HEAD and *_ENTRY is a struct. Suggested by: phk Reviewed by: phk Approved by: mdodd
* Add code which actually checks for the NCR PCI id so it can be used.jlemon2000-05-231-1/+2
|
* Add PCI ID for NEC/Compaq controller.jlemon2000-05-221-2/+5
|
* Add PCI id for Compaq Smart Array 431 card.jlemon2000-05-221-0/+1
|
* Separate the struct bio related stuff out of <sys/buf.h> intophk2000-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
* Add PCI identification for another SmartArray 4200, which identifiesjlemon2000-05-041-6/+14
| | | | itself as a DEC card instead of Compaq.
* Remove unneeded #include <sys/kernel.h>phk2000-04-291-1/+0
|
* - Fix a problem with the cdevsw struct that prevented the kernel frommdodd2000-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
* Remove ~25 unneeded #include <sys/conf.h>phk2000-04-192-2/+0
| | | | Remove ~60 unneeded #include <sys/malloc.h>
* - Define registers as offsets from register base rather than offsets frommdodd2000-04-162-14/+10
| | | | | | | EISA slot base. - Remove unused IOPORT resource. Reviewed by: jlemon
* Complete the bio/buf divorce for all code below devfs::strategyphk2000-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
* Change the maximum I/O transfer size to DFLTPHYS. This should fixjlemon2000-04-131-1/+1
| | | | write corruption that some users were experiencing.
* - Add an additional call to eisa_add_iospace() so we get the right IOPORTmdodd2000-04-131-1/+2
| | | | | | | | | | in attach. - Change a EISA_CHANNEL_CLEAR to EISA_CHANNEL_BUSY in ida_v1_submit(). This may fix the problem with EISA IDA adapters though we have not heard back from testers yet. Reviewed by: jlemon
* Move B_ERROR flag to b_ioflags and call it BIO_ERROR.phk2000-04-022-3/+3
| | | | | | | | | | | | | (Much of this done by script) Move B_ORDERED flag to b_ioflags and call it BIO_ORDERED. Move b_pblkno and b_iodone_chain to struct bio while we transition, they will be obsoleted once bio structs chain/stack. Add bio_queue field for struct bio aware disksort. Address a lot of stylistic issues brought up by bde.
* Remove B_READ, B_WRITE and B_FREEBUF and replace them with a newphk2000-03-202-2/+2
| | | | | | | | | | | | | | | | | | | | | field in struct buf: b_iocmd. The b_iocmd is enforced to have exactly one bit set. B_WRITE was bogusly defined as zero giving rise to obvious coding mistakes. Also eliminate the redundant struct buf flag B_CALL, it can just as efficiently be done by comparing b_iodone to NULL. Should you get a panic or drop into the debugger, complaining about "b_iocmd", don't continue. It is likely to write on your disk where it should have been reading. This change is a step in the direction towards a stackable BIO capability. A lot of this patch were machine generated (Thanks to style(9) compliance!) Vinum users: Greg has not had time to test this yet, be careful.
* Cosmetic fix: "id" -> "idad" for devstat.jlemon2000-03-081-1/+1
| | | | Missed in prior (approved) commit by: jlemon
* Add support for older EISA compaq cards and newer Smart 4200 cards.jlemon2000-03-086-161/+623
| | | | | | | | | Change disk names to `idad' to avoid naming conflicts with the controller, and enable the new disk code to pick up the drives. Tested by: david.w.james@bt.com (existing compaq support) Reviewed by: msmith Approved by: jordan
* Revamp the devstat priority system. All disks now have the same priority.ken1999-12-081-1/+2
| | | | | | | | | | | | | | | | | | The same goes for CD drivers and tape drivers. In systems with mixed IDE and SCSI, devices in the same priority class will be sorted in attach order. Also, the 'CCD' priority is now the 'ARRAY' priority, and a number of drivers have been modified to use that priority. This includes the necessary changes to all drivers, except the ATA drivers. Soren will modify those separately. This does not include and does not require any change in the devstat version number, since no known userland applications use the priority enumerations. Reviewed by: msmith, sos, phk, jlemon, mjacob, bde
OpenPOWER on IntegriCloud