summaryrefslogtreecommitdiffstats
path: root/sys
Commit message (Collapse)AuthorAgeFilesLines
* 86 ufm: it now uses MAJOR_AUTO.imp2003-02-281-2/+0
|
* ufm doesn't care what major it uses.imp2003-02-281-1/+1
|
* These appear to work as cardbus cards tooimp2003-02-282-0/+2
|
* NO_GEOM cleanup:phk2003-02-284-64/+11
| | | | | Retire the "dev_t" centric version of the disk mini-layer. Remove now unneeded linkage field in dev_t and struct disk.
* NO_GEOM cleanup:phk2003-02-283-40/+30
| | | | | | Convert to "struct disk *" centric API. OK'ed by: sos
* Retire #3: wd.phk2003-02-281-1/+0
|
* NO_GEOM cleanup:phk2003-02-281-32/+12
| | | | Convert to "struct disk *" centric API.
* Attempt to mark the majors which are used by drivers checked into thephk2003-02-281-108/+112
| | | | CVS tree.
* Sync with bsd.kern.mk.jake2003-02-281-0/+9
| | | | Reminded by: bde
* pccard isn't picky about WHAT major it gets.imp2003-02-282-1/+4
|
* Use a character device and ioctl() for communication between libncptjr2003-02-283-138/+155
| | | | | and the kernel instead of adding more syscalls at runtime. As a bonus, you can now restrict access to the kernel NCP interface with chmod.
* Use MAJOR_AUTO. GC statically assigned majors.jake2003-02-283-8/+2
|
* These files are no longer used. They have been replaced with similarly namedbenno2003-02-284-597/+0
| | | | .S files.
* aic79xx.c:gibbs2003-02-277-109/+255
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clear the LQICRC_NLQ status should it pop up after we have already handled the SCSIPERR. During some streaming operations this status can be delayed until the stream ends. Without this change, the driver would complain about a "Missing case in ahd_handle_scsiint". In the LQOBUSFREE handler... Don't return the LQOMGR back to the idle state until after we have cleaned up ENSELO and any status related to this selection. The last thing we need is the LQO manager starting another select-out before we have updated the execution queue. It is not clear whether the LQOMGR would, or would not start a new selection early. Make sure ENSELO is off prior to clearing SELDO by flushing device writes. Move assignment of the next target SCB pointer inside of an if to make the code clearer. The effect is the same. Dump card state in both "Unexpected PKT busfree" paths. In ahd_reset(), set the chip to SCSI mode before reading SXFRCTL1. That register only exists in the SCSI mode. Also set the mode explicitly to the SCSI mode after chip reset due to paranoia. Re-arrange code so that SXFRCTL1 is restored as quickly after the chip reset as possible. S/G structurs must be 8byte aligned. Make this official by saying so in our DMA tag. Disable CIO bus stretch on MDFFSTAT if SHVALID is about to come true. This can cause a CIO bus lockup if a PCI or PCI-X error occurs while the stretch is occurring - the host cannot service the PCI-X error since the CIO bus is locked out and SHVALID will never resolve. The stretch was added in the Rev B to simplify the wait for SHVALID to resolve, but the code to do this in the open source sequencer is so simple it was never removed. Consistently use MAX_OFFSET for the user max syncrate set from non-volatile storage. This ensures that the offset does not conflict with AH?_OFFSET_UNKNOWN. Have ahd_pause_and_flushwork set the mode to ensure that it has access to the registers it checks. Also modify the checking of intstat so that the check against 0xFF can actually succeed if the INT_PEND mask is something other than 0xFF. Although there are no cardbus U320 controllers, this check may be needed to recover from a hot-plug PCI removal that occurs without informing the driver. Fix a typo. sg_prefetch_cnt -> sg_prefetch_align. This fixes an infinite loop at card initialization if the cacheline size is 0. aic79xx.h: Add AHD_EARLY_REQ_BUG bug flag. Fix spelling errors. Include the CDB's length just after the CDB pointer in the DMA'ed CDB case. Change AH?_OFFSET_UNKNOWN to 0xFF. This is a value that the curr->offset can never be, unlike '0' which we previously used. This fixes code that only checks for a non-zero offset to determine if a sync negotiation is required since it will fire in the unknown case even if the goal is async. aic79xx.reg: Add comments for LQISTAT bits indicating their names in the 7902 data book. We use slightly different and more descriptive names in the firmware. Fix spelling errors. Include the CDB's length just after the CDB pointer in the DMA'ed CDB case. aic79xx.seq: Update comments regarding rundown of the GSFIFO to reflect reality. Fix spelling errors. Since we use an 8byte address and 1 byte length, shorten the size of a block move for the legacy DMA'ed CDB case from 11 to 9 bytes. Remove code that, assuming the abort pending feature worked, would set MK_MESSAGE in the SCB's control byte on completion to catch invalid reselections. Since we don't see interrupts for completed selections, this status update could occur prior to us noticing the SELDO. The "select-out" queue logic will get confused by the MK_MESSAGE bit being set as this is used to catch packatized connections where we select-out with ATN. Since the abort pending feature doesn't work on any released controllers yet, this code was never executed. Add support for the AHD_EARLY_REQ_BUG. Don't ignore persistent REQ assertions just because they were asserted within the bus settle delay window. This allows us to tolerate devices like the GEM318 that violate the SCSI spec. Remove unintentional settnig of SG_CACHE_AVAIL. Writing this bit should have no effect, but who knows... On the Rev A, we must wait for HDMAENACK before loading additional segments to avoid clobbering the address of the first segment in the S/G FIFO. This resolves data-corruption issues with certain IBM (now Hitachi) and Fujitsu U320 drives. Rearrange calc_residual to avoid an extra jmp instruction. On RevA Silicon, if the target returns us to data-out after we have already trained for data-out, it is possible for us to transition the free running clock to data-valid before the required 100ns P1 setup time (8 P1 assertions in fast-160 mode). This will only happen if this L-Q is a continuation of a data transfer for which we have already prefetched data into our FIFO (LQ/Data followed by LQ/Data for the same write transaction). This can cause some target implementations to miss the first few data transfers on the bus. We detect this situation by noticing that this is the first data transfer after an LQ (LQIWORKONLQ true), that the data transfer is a continuation of a transfer already setup in our FIFO (SAVEPTRS interrupt), and that the transaction is a write (DIRECTION set in DFCNTRL). The delay is performed by disabling SCSIEN until we see the first REQ from the target. Only compile in snapshot savepointers handler for RevA silicon where it is enabled. Handle the cfg4icmd packetized interrupt. We just need to load the address and count, start the DMA, and CLRCHN once the transfer is complete. Fix an oversight in the overrun handler for packetized status operations. We need to wait for either CTXTDONE or an overrun when checking for an overrun. The previous code did not wait and thus could decide that no overrun had occurred even though an overrun will occur on the next data-valid req. Add some comment to this section for clarity. Use LAST_SEG_DONE instead of LASTSDONE for testing transfer completion in the packetized status case. LASTSDONE may come up more quickly since it only records completion on the SCSI side, but since LAST_SEG_DONE is used everywhere else (and needs to be), this is less confusing. Add a missing invalidation of the longjmp address in the non-pack handler. This code needs additional review. aic79xx_inline.h: Fix spelling error. aic79xx_osm.c: Set the cdb length for CDBs dma'ed from host memory. Add a comment indicating that, should CAM start supporting cdbs larger than 16bytes, the driver could store the CDB in the status buffer. aic79xx_pci.c: Add a table entry for the 39320A. Added a missing comma to an error string table. Fix spelling errors.
* - Removed various cruft from before we had a hosted toolchain (!).jake2003-02-271-15/+0
| | | | | - Moved special compiler flags to bsd.kern.mk so they get used for modules too.
* NO_GEOM cleanup:phk2003-02-271-115/+42
| | | | | | | | | | | Move <sys/conf.h> before <sys/disk.h>. No need for raidread()/raidwrite(), we have generic code for that. Remove non-functional dump code. Make raidinit() return the softc, not the dev_t. Move to "struct disk*" centric API. Fix printfs' to get name from struct disk instead of dev_t. OK'ed by: scottl
* Add support for the Elan CPU hardware watchdog used in "active" mode.phk2003-02-271-0/+65
|
* add 5801 and 5802 recognition (somehow lost in transition from openbsd)sam2003-02-272-2/+9
| | | | Noticed by: Larry Baird <lab@gta.com>
* Add header file defining a simple, yet expressive watchdog interfacephk2003-02-271-0/+76
| | | | which can be implemented on all the watchdog hardware I know.
* Zero cpi->target_sprt since atapi-cam does not support target mode. Thisnjl2003-02-271-0/+1
| | | | | | | gets rid of annoying messages when targbh tries to attach to the ATA bus and gets rejected. MFC after: 1 day
* Include majors.o in SYSTEM_OBJS to make sparc64 kernels link. This is ajake2003-02-271-1/+1
| | | | quick fix while I work on a better solution.
* Expand some #ifdef's to fix I386_CPU compile.jhb2003-02-272-2/+6
| | | | Reported by: Andy Farkas <andyf@speednet.com.au>
* Remove some long unused declarations. (For example, the PV flags have notalc2003-02-272-12/+0
| | | | been used since revision 1.8, roughly nine years ago.)
* Remember to set if_capenable when setting up checksum offload in fxp_attach().wpaul2003-02-271-0/+1
| | | | Pointed out by: jlemon
* When DDB is in the kernel, unlock VTY switching so that wemux2003-02-271-0/+4
| | | | | | | | don't end up freezing the box. This makes VTY locking useless in the DDB case but a box which is supposed to be physically secure shouldn't compile DDB anyway. Reviewed by: silence on -audit
* This is not going to win prizes for the most useful module ever,markm2003-02-271-0/+9
| | | | but it is useful to me for some testing and warns-fixing.
* Warns and lint fix. Nearly all trivial stuff.markm2003-02-271-7/+8
|
* Update the comment to reflect new reality.phk2003-02-271-15/+6
| | | | GC more entries.
* GC some more major numbers.phk2003-02-271-12/+0
|
* Add the flip-side check: If a driver wants a particular major#, makephk2003-02-271-0/+9
| | | | sure it is marked as allocated in reserved_majors[]. Whine if it wasn't.
* Use MAJOR_AUTO.phk2003-02-272-3/+1
|
* Hook up the if_my module to the build.ru2003-02-271-0/+1
|
* We can now properly return ENODEV in nommap(), so do it.mux2003-02-271-2/+1
| | | | Remove the now wrong comment which says we can't.
* Add support for allocating a device driver major number on demand.phk2003-02-273-2/+19
| | | | | | | | | | | | | | | To do this, initialize the d_maj member of the cdevsw to MAJOR_AUTO. When the cdevsw is first passed to make_dev() a free major number will be assigned. Until we have a bit more experience with this a printf will announce this fact. Major numbers are not reclaimed, so loading/unloading the same device driver which uses MAJOR_AUTO will eventually deplete the pool of free major numbers and the system will panic when it can not allocate one. Still undecided who to invonvenience with the solution to this.
* Use noread(), nowrite() and nopoll() instead of our own stub functions.tjr2003-02-271-24/+3
|
* Add yet a patch for the patchwork quilt called sio(4):phk2003-02-271-0/+4
| | | | Allow people set set flags on pci based SIO ports.
* Typo, I must have hit xZZ in vi(1).phk2003-02-271-1/+1
|
* MFp4(simokawa_sbp branch)simokawa2003-02-275-108/+310
| | | | | | | | | | | | | | | | | | | Improve SBP device probeing: - Wait 2 sec before issuing LOGIN ORB expecting the reconnection hold timer expires. - Serialize management ORB and scanning LUN by CAM on each target. This should fix the problem for devices which have multiple LUNs. Test device is donated by: Jaye Mathisen <mrcpu@internetcds.com> - Freeze SIM queue for 2 sec after BUS RESET. - Retry with LOGIN rather than RECONNECT after LOGIN is not completed for BUS RESET. - Use appropriate CAM status for BUS RESET and DEVICE RESET. - Let CAM to scan targets after BUS REST. - Implement CAM scan target function. - Keep our own devq freeze count. - Let CAM to know that SBP does tagged queuing. These should be merged to RELENG_4 before 4.8-RELEASE.
* Make flags bit 0x10000 mean that PPS timestamping should use thephk2003-02-271-2/+11
| | | | CTS instead of the DCD pin.
* Copy some VM changes from smbfs_putpages() to nwfs_putpages(): locktjr2003-02-271-1/+3
| | | | page queues, use vm_page_undirty().
* Build the ncp and nwfs modules again, but only on i386 for now.tjr2003-02-271-4/+2
|
* Only use function 1 not 0 on cypress chips.sos2003-02-271-1/+3
|
* When we have found a chunk of memory that is large enough and have computedharti2003-02-271-1/+1
| | | | | | | | | | a correctly aligned address in this block we really want to check, that the part of the chunk that starts at the aligned address is large enough with regard to the original request. Comparing it to 0 makes no sense, because this is always true except in the rare case, that the aligned address is just at the end of the chunk. Approved by: jake (mentor)
* Add necessary awk magic to create a table of major numbers allocatedphk2003-02-273-1/+29
| | | | in conf/majors so we can avoid autoallocating them in the kernel.
* When a process has been waiting on a condition variable or mutex theharti2003-02-272-0/+3
| | | | | | | | | | | | td_wmesg field in the thread structure points to the description string of the condition variable or mutex. If the condvar or the mutex had been initialized from a loadable module that was unloaded in the meantime, td_wmesg may now point to invalid memory. Retrieving the process table now may panic the kernel (or access junk). Setting the td_wmesg field to NULL after unblocking on the condvar/mutex prevents this panic. PR: kern/47408 Approved by: jake (mentor)
* Fix vnode corruption bug when trying to rename files across filesystems.tjr2003-02-271-10/+13
| | | | Similar to the bug fixed in smbfs_vnops.c rev 1.33.
* Mark comments with '#' to make this machine-readablephk2003-02-271-20/+20
|
* Sync nwfs_access() with smbfs_access(): use vaccess() instead of checkingtjr2003-02-271-13/+5
| | | | permissions ourself, fixes problem with VAPPEND.
* NODEVFS cleanup:phk2003-02-274-27/+1
| | | | | Remove cdevsw_add() and cdevsw_remove(), they served us well for a long time. Bump __FreeBSD_version to 500104 to mark this.
* NODEVFS cleanup:phk2003-02-272-12/+6
| | | | | Don't call devsw_{add,delete}(). These two drivers are actually broken, and have been for quite some time.
OpenPOWER on IntegriCloud