summaryrefslogtreecommitdiffstats
path: root/sys/dev
Commit message (Collapse)AuthorAgeFilesLines
* Implement a new generic mechanism for attaching handler functions tomsmith1999-08-2112-55/+69
| | | | | | | | | | | | | events, in order to pave the way for removing a number of the ad-hoc implementations currently in use. Retire the at_shutdown family of functions and replace them with new event handler lists. Rework kern_shutdown.c to take greater advantage of the use of event handlers. Reviewed by: green
* First small steps at merging DEVFS and PHK's Dev_t stuff.julian1999-08-201-2/+5
|
* Fix stupid error (xse -> xsc).mdodd1999-08-201-10/+11
| | | | | | | | | Notice that 'unit' wasn't defined once I changed the parameters of the func. These things make me feel like wading in with a flamethrowr or something. Too much cruft! </rant>
* Set ifp->if_init to the right function.mdodd1999-08-203-22/+31
| | | | | | | | | | | | if_init_f_t is passed void * containing the address of ifp->if_softc not the unit number. Someone tell me if these things don't work as I don't have the hardware needed to test them. (thats a first.) I'll get if_ze and if_zp later. Pointed out by: Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>
* Replace the tulip_delay_300ns() with a DELAY(1). Hammering the PCI buspeter1999-08-191-11/+2
| | | | | | | | | | | | | | | | | | | | | | | to achieve a delay is pretty mean. Andrew reports: "The tulip_delay_300ns() is, well, bloody stupid on machines with a heavily loaded PCI bus. It tries to do a delay by assuming PCI reads will take a certain amount of time & issues a large amount of (expensive, 5% CPU when your PCI bus is heavily loaded) pci reads. Locally, we've replaced the calls to tulip_delay_300ns(sc) in the EMIT macros with a simple DELAY(1) and not seen any problems. Plus we've gained about 50Mb/sec throughput on our gigabit network cards because of the added PCI bus bandwidth available." Also, I do not understand why, but this change appears to stop the Transmit Fifo underrun on one of my systems (but not the Alpha PC164SX). This shouldn't make that much of a difference since the mii bus isn't touched all that often, but perhaps when it does get accessed and hence hammers the register, it was causing the chip to get upset. Submitted by: Andrew Gallatin <gallatin@cs.duke.edu>
* Make these actually compile. I got a little delete happy pruning includesmdodd1999-08-186-13/+30
| | | | | | | and used 'command' instead of 'cmd' in a few cases. Also clear up some unused variables. Pointed out by: phk
* Add pin-numbers for easy reference.phk1999-08-181-11/+12
|
* printf("%x",dev); -> printf("%s",devtoname(dev));nsayer1999-08-181-11/+11
|
* 1) rename dev->self to be consistentn_hibma1999-08-182-76/+107
| | | | | 2) use device_printf 3) properly tear down and disable interrupts when init fails
* SIOCSIFADDR, SIOCGIFADDR, and SIOCSIFMTU are implemented inmdodd1999-08-186-343/+27
| | | | | | | | sys/net/if_ethersubr.c:ether_ioctl(). Drivers need not implement generic behavior. PR: kern/12126 Submitted by: in part by Boris Popov <bp@butya.kz>
* Wrap two declarations that are only used in an #ifdef in their own #ifdef.billf1999-08-171-1/+5
| | | | Reviewed by: bde
* Welcome devtoname(), to most likely be used when printing informationbillf1999-08-171-5/+5
| | | | | | | | | | about a dev_t. printf("%x", dev) now becomes printf("%s", devtoname(dev)) because printing actual information about the device is much more useful then printing a pointer to an address that would never help the developer debug. Submitted by: phk, bde
* Recognize Interlink VersaPad. `Tap' action will be recognizedyokota1999-08-171-4/+100
| | | | | | as the button 4. Submitted by: Masachika ISHIZUKA <ishizuka@ish.org>
* - Added documentationn_hibma1999-08-171-1321/+1508
| | | | - fix bug in data toggle handling
* Differentiate between aic7895C chips and their earlier brethrengibbs1999-08-161-2/+6
| | | | via the PCI revid register.
* Add support for issuing immediate notify event ccbs for bus resets, bdrgibbs1999-08-162-135/+449
| | | | | | | | | messages, abort messages, and abort tag messages. Fix a bug in how default transfer negotiations are handled if the user had disabled initial bus resets. Support multi-targetid on the aic7895C.
* Kill an unused INTSTAT type.gibbs1999-08-161-2/+1
|
* Fix a few compiler nits.gibbs1999-08-162-8/+14
| | | | Submitted by: Bill Fumerola <billf@jade.chc-chimes.com>
* Clarify and cleanup some CAM queueing breakages.mjacob1999-08-161-176/+175
|
* add in SIMQFRZ_TIMED && CMD_RQLATER definesmjacob1999-08-161-2/+3
|
* add in new ICB structure variant (for 2200)mjacob1999-08-161-13/+23
|
* Clarify lun limits for FC && SCSI.mjacob1999-08-161-3/+16
|
* More code cleanup. Go back to using FULL_LOGIN Fibre Chan if f/w is less thanmjacob1999-08-161-91/+157
| | | | | 1.17.0 level. Change where we do the loop database init. Add in the CMD_RQLATER return. Add some register debounce.
* Set some correct return values. Prefer I/O map all the time unless configuredmjacob1999-08-161-13/+20
| | | | otherwise.
* free_drive: mark drive down. This may fix a panic in the 'start' command.grog1999-08-161-1/+3
| | | | Reported-by: peter
* Clean up some comments.grog1999-08-161-13/+11
| | | | | | | | | format_config: code preening. vinum_scandisk: If we find a partition in the first pass over a drive, note the fact so we don't grab the compatibility partition as well. Submitted-by: peter
* Fix a long standing bug in the auto-termination control settings forgibbs1999-08-161-8/+9
| | | | | | | | | | | | the aic7890/91/96/97 cards. This could cause the system to go into a long retry/recovery loop during probe. Fix the alignment argument to bus_dma_tag_create(). Don't set the CACHETHEN bit in dscommand0 for Ultra2 controllers until we know more about its behavior. The description for this bit makes it sound like it could cause problems with certain PCI chipsets.
* Properly set the alignment argument to bus_dma_tag_create(). If wegibbs1999-08-1621-56/+58
| | | | don't care about the alignment, set it to 1, meaning single byte alignment.
* Correctly save `flags' bits.yokota1999-08-152-2/+4
|
* Add note that a change needs backing out.grog1999-08-152-29/+44
|
* Ensure that we can't create two different drives on the samegrog1999-08-151-38/+50
| | | | | | partition. Reported-by: Remy Nonnenmacher <remy@synx.com>
* Add 'initialized' state for subdisks. After initializing, the subdiskgrog1999-08-155-94/+163
| | | | | | | | | | | goes into initialized state, not 'up'. This makes it easier to ensure consistency in multi-plex volumes. update_plex_state: redo transitions from empty and initialized subdisks to up or reviving, depending on the number of plexes. Reported-by: Bernd Walter <ticso@cicely.de> Remy Nonnenmacher <remy@synx.com>
* Minor glitch in ti_newbuf_jumbo(): m_adj() was being called onwpaul1999-08-141-3/+3
| | | | | | m instead of m_new. Submitted by: Kenneth D. Merry <ken@kdm.org>
* Spring cleaning around strategy and disklabels/slices:phk1999-08-1410-55/+32
| | | | | | | | | | | | | | Introduce BUF_STRATEGY(struct buf *, int flag) macro, and use it throughout. please see comment in sys/conf.h about the flag argument. Remove strategy argument from all the diskslice/label/bad144 implementations, it should be found from the dev_t. Remove bogus and unused strategy1 routines. Remove open/close arguments from dssize(). Pick them up from dev_t. Remove unused and unfinished setgeom support from diskslice/label/bad144 code.
* Tidy up comments.grog1999-08-141-18/+42
| | | | | | | | Add definitions for VINUM_BLOCK_PLEX and VINUM_CHAR_PLEX. struct plex: add lock-related variables. struct rangelock: add variables.
* Clean up comments.grog1999-08-141-55/+44
| | | | | | | | | | | | Don't return "can't do it" when the user requests a state change to the current state. This previously caused silly messages like "Can't start <foo>: invalid argument", when in fact <foo> was already started. set_plex_state: don't set state for non-existent plexes. update_plex_status: as long as we have initializing subdisks, we're initializing.
* Clean up some comments.grog1999-08-141-72/+49
| | | | | | | | | | | | | | | | | | | | | | | | Move the declaration of freerq() to request.h. logrq: add support for lock events. vinumstart: solve a problem where removing a plex from an active volume could cause attempts to access non-existent plexes. launch_requests: don't set a request group active until we're sure we can launch it. This caused some hangs under unusual circumstances. bre: don't set XFR_BAD_SUBDISK if we're not going to use it. build_read_request: correct recovery, which caused some hangs under (other) unusual circumstances. build_rq_buffer: don't set bp->b_dev if we don't have a dev. sdio: clean up, remove obsolete code. deallocrqg: unlock any locks the rqg may have.
* Tidy up some comments.grog1999-08-141-137/+194
| | | | | | | | | | | | | | | | bre5: Shorten some lines. Desired-by: bde If we're reading from a short plex, return EOF indication. Always lock the stripe before starting a transfer. Hopefully the current version will solve some data integrity problems that have been reported with degraded RAID-5 plexes. Reported-by: Bernd Walter <ticso@cicely.de> Remy Nonnenmacher <remy@synx.com>
* Add keypairs replace and readpol. These got forgotten in a previousgrog1999-08-141-1/+3
| | | | commit, but since they don't work yet, nobody noticed.
* rewrite lockrange and unlockrange. Hopefully the current version willgrog1999-08-141-44/+105
| | | | | | | | solve some data integrity problems that have been reported with degraded RAID-5 plexes. Reported-by: Bernd Walter <ticso@cicely.de> Remy Nonnenmacher <remy@synx.com>
* Add hotspare keyword.grog1999-08-141-2/+3
|
* vinumioctl: add ioctls for raw subdisks and plexes. Remove code forgrog1999-08-141-10/+57
| | | | drives (we refuse to touch drives, that's the disk driver's business).
* Remove some XXX comments (they're not really gone, just invisible).grog1999-08-141-112/+57
| | | | | | | | | | | | | | | | | | | Tidy other comments. open_drive: don't call set_drive_state if we decide to take it down. This could help avoid some race conditions with the daemon. init_drive: don't set the drive down, we'll let close_locked_drive do that. close_locked_drive: set drive state to down without calling set_drive_state. This could help avoid some race conditions with the daemon. driveio: remove the function, it wasn't being used. get_volume_label: remove volume dependencies so that we can return a label for plexes and subdisks as well. What a kludge.
* Remove some XXX comments (they're not really gone, just invisible).grog1999-08-141-48/+9
| | | | | | | | | | | | Remove declarations for freerq and free_rqg. Remove DEBUG_RESID code. freerq: check whether the request is holding a lock, free if so. free_rqg: remove. It wasn't being used any more. Change the Debugger calls to panics.
* Change definitions for get_volume_label, lockrange.grog1999-08-141-4/+4
| | | | | | | Move definition for unlockrange to request.h (it now contains request-related parameters). Add sddownstate.
* Add code which someday will help support hot spares.grog1999-08-141-30/+46
| | | | | | | | | | | | | | | | | checkdiskconfig(): remove. It didn't make any sense to complain about kernel keywords in user config files; it just made it more difficult to convert. Now we ignore kernel keywords if we're not in kernel mode. get_empty_sd: initialize sectors. free_drive: don't close if we don't have a vp. Maybe this will help fix the problem that peter had, but I wouldn't count on it. config_plex: If the plex is RAID-5, give it a rangelock structure. start_config: Reset current drive, plex and volume so that a new 'create' command doesn't get long-dead defaults.
* vinumopen: add code for opening raw plexes. Volume-related plexgrog1999-08-141-0/+3
| | | | | devices will probably die a death soon (yes, DES, that's correct usage).
* Clarify some comments.grog1999-08-141-3/+14
| | | | | | | | struct rqelement, enum rqinfo_type, struct rqinfo, union rqinfou: add lock requests. Add declarations for freerq and unlockrange. Since they include request structures, they can't go in vinumext.h
* Fix a warning on the alpha.dt1999-08-131-3/+1
|
* The bdevsw() and cdevsw() are now identical, so kill the former.phk1999-08-133-8/+8
|
OpenPOWER on IntegriCloud