Commit Graph

44333 Commits

Author SHA1 Message Date
Bill Paul
6998849dc4 Do not attempt to load the firmware a second time. If you reboot your
machine but leave your KLSI adapter plugged into your USB port, it
may stay powered on and retain its firmware in memory. Trying to load
the firmware again in this case will wedge the chip. Try to detect this
in the kue_load_fw() routine and bail if the firmware is already
loaded and running.

Also, in the probe/match routine, force the revision code to the
hardware default and force a rescan of the quirk database. This is
necessary because the adapter will return a different revision code
if the firmware has been loaded. Without the firmware, the revision
code is 0x002. With the firmware, the revision code is 0x202. This
confuses the quirk mechanism, which won't match a quirk to a device
unless the revision code agrees with the quirk table entry.

This makes probe/attach of these devices somewhat more reliable.

Also add a few comments about the device's operation.
2000-01-05 17:13:50 +00:00
Bruce Evans
b6c7fd537e Refreshed the silly copy of <sys/dirent.h>. _KERNEL was still spelled
KERNEL, and the changes to remove the <sys/types.h> prerequisite had
not reached here.

Removed unused/wrong include of <sys/types.h> in synopsis.
2000-01-05 17:04:36 +00:00
Bruce Evans
f5ead3860a Refreshed the silly literal copy of <sys/mtio.h>. _KERNEL was still
spelled KERNEL...
2000-01-05 16:52:34 +00:00
Peter Wemm
bcae942098 Zap pci_map_dense() and pci_map_bwx() - they were for compatability but
are not used.  All the drivers that use memory mapped IO on the Alpha have
been ported already.
2000-01-05 16:40:10 +00:00
Bruce Evans
604d32ca3b Fixed missing includes in synopsis. <sys/file.h> went missing when KERNEL
was not updated to _KERNEL.  Actually including <sys/file.h> as specified
never actually worked, since a prerequisite was missing.
2000-01-05 16:38:58 +00:00
Peter Wemm
37286586ff Patch up some of the evilness left over from the early newbus porting.
In particular:
 - Don't leave resources allocated in the probe routine.  Allocate them
   during probe and release them.  Probe's job is to identify devices only.
 - Don't abuse the ivars pointer.. (!).  Create real ivars and use the
   proper access system.  (the bus_read_ivar method)
 - Don't add the children until attach() has successfully grabbed the
   hardware, otherwise there are potential leaks if attach fails.
2000-01-05 16:31:27 +00:00
Bruce Evans
2e22df0b11 Fixed missing include in synopsis.
Removed superfluous quoting of function name in .Fo macro.  My synopsis
checker doesn't understand it.
2000-01-05 16:31:12 +00:00
Eivind Eklund
3418fe8734 KERNEL -> _KERNEL 2000-01-05 16:25:20 +00:00
Alexey Zelkin
e12881b15e mdoc(7)'fy
sort XREFs
2000-01-05 15:21:01 +00:00
Alexey Zelkin
fd6995f74d mdoc(7)'fy 2000-01-05 15:16:32 +00:00
Marcel Moolenaar
d355b81dd4 Don't build with X support if DESTDIR is defined. This prevents
breaking a cross-build caused by taking the X libraries on the
build machine. In general this means that we never compile with
X support. The user has to manually compile doscmd for that.

Suggested by: bde, imp (among others)
2000-01-05 12:59:31 +00:00
KATO Takenori
f64ac1e326 Synced with sys/i386/isa/clock.c rev 1.149. 2000-01-05 12:35:03 +00:00
KATO Takenori
eb8d1d832c Synced with sys/i386/i386/userconfig.c rev 1.166. 2000-01-05 12:34:10 +00:00
KATO Takenori
f030ad5fda Synced with sys/i386/conf/GENERIC rev 1.222. 2000-01-05 12:33:10 +00:00
Peter Wemm
857dc42503 Missed a filename variable quote in rc 2000-01-05 09:19:27 +00:00
Peter Wemm
57c96870e6 Quote arguments in vi recover script.
PR:		15901
Submitted by:	KOJIMA Hajime <kjm@rins.ryukoku.ac.jp>
2000-01-05 08:17:18 +00:00
Greg Lehey
ffa258b0aa Explicitly type large scalar parameters to avoid compilation warnings
on alpha.

Submitted-by:	      Bernd Walter <ticso@cicely.de>

struct sd: Add a field for the pid of the reviver when the subdisk is
reviving.

Replace block device macros with generalized device macros.
2000-01-05 06:13:01 +00:00
Greg Lehey
a7482aa7d5 When attaching a plex to a volume with 'up' subdisks, make the plexes
subdisks 'stale', not 'reviving'.
2000-01-05 06:12:25 +00:00
Greg Lehey
b110a1e60b Correct printf format for pointers to avoid compilation warnings on
alpha.

Explicitly type large scalar parameters to avoid compilation warnings
on alpha.

Submitted-by:	      Bernd Walter <ticso@cicely.de>

Make better checks that the revive block size is valid, silently set
it to the defaults if not.

Replace block device macros with generalized device macros.
2000-01-05 06:11:46 +00:00
Greg Lehey
0ea9d6fbc7 Correct printf format for pointers to avoid compilation warnings on
alpha.

Modify the manner in which we lock RAID-5 plexes.  This appears to
solve some of the elusive panics we have seen with corrupted buffer
headers (specifically the zeroed-out b_iodone field).

Submitted-by:	      Bernd Walter <ticso@cicely.de>
2000-01-05 06:10:52 +00:00
Greg Lehey
984e8b9ada Modify the manner in which we lock RAID-5 plexes. This appears to
solve some of the elusive panics we have seen with corrupted buffer
headers (specifically the zeroed-out b_iodone field).

Submitted-by:	      Bernd Walter <ticso@cicely.de>
2000-01-05 06:09:43 +00:00
Greg Lehey
dbd8153d5e Change the name of the define 'SPACETAB' (originally 'isspace') to
'iswhite'.  The original change was required because of name
conflicts.

Add key pairs for the keywords 'mv' and 'move' (part of the move
command).

Add comments.
2000-01-05 06:08:55 +00:00
Greg Lehey
5b58d7c1a2 Include basename() function even if the system isn't i386.
Correct printf format for pointers to avoid compilation warnings on
alpha.

Submitted-by:	      Bernd Walter <ticso@cicely.de>
2000-01-05 06:08:23 +00:00
Greg Lehey
a86a06a0b5 Add the keywords 'mv' and 'move'. 2000-01-05 06:07:59 +00:00
Greg Lehey
5756902abc Add function moveobject, which currently moves subdisks to different
drives.  This function just does the low-level configuration changes;
the resultant subdisk is stale if it previously had any contents,
otherwise it is empty (i.e. in need of initializing if it's RAID-5).
We still need to handle getting the contents moved over, but the
current version will suffice to migrate subdisks from a disk which has
failed.

Submitted-by:  Marius Bendiksen <marius@marius.scancall.no>
2000-01-05 06:07:26 +00:00
Greg Lehey
233fb3be1e Add VINUM_MOVE ioctl.
Fix transfer lengths for some ioctls.

Rearrange file: put structs first, then ioctl requests.
2000-01-05 06:06:01 +00:00
Greg Lehey
f54047e7f4 Explicitly type large scalar parameters to avoid compilation warnings
on alpha.

Submitted-by:	      Bernd Walter <ticso@cicely.de>

Remove #include of vm/vm_zone.h.

Submitted-by:	Someone, I'm sure, but I seem to have lost the
		attribution.  Sorry.

Get the check for disk devices correct, and return an appropriate
message if the check fails.
2000-01-05 06:05:33 +00:00
Greg Lehey
3999d58378 Add declaration for give_sd_to_drive, needed for the 'move' command. 2000-01-05 06:04:17 +00:00
Greg Lehey
7da7966a73 Set P_SYSTEM in the daemon proc structure to alleviate delays on
shutdown.

Submitted-by:	Alfred Perlstein <bright@wintelcom.net>

Correct printf format for pointers to avoid compilation warnings on
alpha.

Submitted-by:	Bernd Walter <ticso@cicely.de>

Identify daemon as 'vinum', not 'vinumd', in messages.  This
corresponds to the name in ps.
2000-01-05 06:03:56 +00:00
Greg Lehey
140c8af97a Explicitly type large scalar parameters to avoid compilation warnings
on alpha.

Submitted-by:	      Bernd Walter <ticso@cicely.de>

Get parameters right for some error messages returned via
throw_rude_remark().

Fix typo in comment.

Remove the 'static' attribute from give_sd_to_drive.  This is needed
for the implementation of moveobject() in vinumioctl.c.
2000-01-05 06:02:57 +00:00
Greg Lehey
ee5a9cbce2 Describe 'move' function.
Submitted-by:	Marius Bendiksen <marius@marius.scancall.no>

Describe state transitions in more detail, in particular how to revive
subdisks.
2000-01-05 05:59:08 +00:00
Greg Lehey
3bceb06958 Change parameters of some declarations.
Add declaration for vinum_mv.
2000-01-05 05:58:01 +00:00
Greg Lehey
af5f43cbd7 makedev: Give all devices permissions 740.
Suggested-by:	Bernd Walter (ticso@cicely.de)

Add key pairs for 'mv' and 'move' (a synonym for 'mv').  Required for
the move command code submitted by Marius Bendiksen
<marius@marius.scancall.no>

make_devices: Don't create symlinks for drives if they are only
referenced.  Previously, spurious symlinks appeared in the current
directory.

Problem-reported-by:	Bernd Walter (ticso@cicely.de)

No longer create character devices, now that there is no difference.
Make the devices as character devices, not block devices.
2000-01-05 05:57:31 +00:00
Greg Lehey
95b9eac9db Explicitly type large scalar parameters to avoid compilation warnings
on alpha.

Submitted-by:	Bernd Walter <ticso@cicely.de>

Replace %q formats with %lld.

Desired-by:	bde

Remove #ifdef RAID5

vinum_lsi: If a subdisk is in 'reviving' state, check the status of
the revive and report the status of the revive.  In verbose mode,
display the pid of the reviver.
2000-01-05 05:56:47 +00:00
Greg Lehey
2768093ea6 Explicitly type large scalar parameters to avoid compilation warnings
on alpha.

Submitted-by:	Bernd Walter <ticso@cicely.de>

Add function vinum_mv, which moves subdisks to different drives.  This
function just does the low-level configuration changes; the resultant
subdisk is stale if it previously had any contents, otherwise it is
empty (i.e. in need of initializing if it's RAID-5).  We still need to
handle getting the contents moved over, but the current version will
suffice to migrate subdisks from a disk which has failed.

Submitted-by:	Marius Bendiksen <marius@marius.scancall.no>

vinum_start:  Get the revive block size right.
2000-01-05 05:55:57 +00:00
Matthew Dillon
c37c9620cd Enhance reassignbuf(). When a buffer cannot be time-optimally inserted
into vnode dirtyblkhd we append it to the list instead of prepend it to
    the list in order to maintain a 'forward' locality of reference, which
    is arguably better then 'reverse'.  The original algorithm did things this
    way to but at a huge time cost.

    Enhance the append interlock for NFS writes to handle intr/soft mounts
    better.

    Fix the hysteresis for NFS async daemon I/O requests to reduce the
    number of unnecessary context switches.

    Modify handling of NFS mount options.  Any given user option that is
    too high now defaults to the kernel maximum for that option rather then
    the kernel default for that option.

Reviewed by:	 Alfred Perlstein <bright@wintelcom.net>
2000-01-05 05:11:37 +00:00
Robert Watson
32900e82f3 Man pages for the VFS extended attribute and access control list vnops.
Reviewed by:	eivind
2000-01-05 04:59:02 +00:00
Bill Paul
dfd1e98eac Add device driver support for USB ethernet adapters based on the
Kawasaki LSI KL5KUSB101B chip, including the LinkSys USB10T, the
Entrega NET-USB-E45, the Peracom USB Ethernet Adapter, the 3Com
3c19250 and the ADS Technologies USB-10BT. This device is 10mbs
half-duplex only, so there's miibus or ifmedia support. This device
also requires firmware to be loaded into it, however KLSI allows
redistribution of the firmware images (I specifically asked about
this; they said it was ok).

Special thanks to Annelise Anderson for getting me in touch with
KLSI (eventually) and thanks to KLSI for providing the necessary
programming info.

Highlights:
- Add driver files to /sys/dev/usb
- update usbdevs and regenerate attendate files
- update usb_quirks.c
- Update HARDWARE.TXT and RELNOTES.TXT for i386 and alpha
- Update LINT, GENERIC and others for i386, alpha and pc98
- Add man page
- Add module
- Update sysinstall and userconfig.c
2000-01-05 04:27:24 +00:00
Cameron Grant
2abc85f0c0 argh, forgot the bus_dma_tag_creates.
also, panic if channel init fails instead of derefing null.
2000-01-05 04:01:34 +00:00
Brian Somers
24870fab24 Add protocol to ``nat port'' examples - it's mandatory.
Suggested by:	Mark Knight <markk@knigma.org>
2000-01-05 02:59:28 +00:00
Cameron Grant
ebb0b1f9bb set up the pci regs properly for busmastering. this makes the card work on
my smp box.
2000-01-05 02:03:55 +00:00
Mike Smith
961fb00d0a Remove the unused 'func' arguments to the deregistration functions.
Submitted by:	 Darrell Anderson <anderson@cs.duke.edu>
2000-01-05 01:09:34 +00:00
Cameron Grant
9d1671b8c2 allocate isa bounce buffers of the right size for ess/mss cards, fixes
panics reported
2000-01-05 00:39:20 +00:00
Matthew Dillon
54986abd15 Fix at least one source of the continued 'NFS append race'. close()
was calling nfs_flush() and then clearing the NMODIFIED bit.  This is
    not legal since there might still be dirty buffers after the nfs_flush
    (for example, pending commits).  The clearing of this bit in turn prevented
    a necessary vinvalbuf() from occuring leaving left over dirty buffers
    even after truncating the file in a new operation.  The fix is to
    simply not clear NMODIFIED.

    Also added a sysctl vfs.nfs.nfsv3_commit_on_close which, if set to 1,
    will cause close() to do a stage 1 write AND a stage 2 commit
    synchronously.  By default only the stage 1 write is done synchronously.

Reviewed by:	Alfred Perlstein <bright@wintelcom.net>
2000-01-05 00:32:18 +00:00
Greg Lehey
1780425711 Remove non-functional 'all:' target.
Remove unused 'state.h' and 'maketabs' targets.
Fix white space style bugs.

Submitted-by:	bde

Sort module names in SRCS.

Suggested-by:	bde

Correct breakage committed in revision 1.16.
2000-01-04 23:46:41 +00:00
Matthew Dillon
eb6088c84d Update some of the network driver documentation in the LINT file, which
is where most people look to match drivers up with cards.

Reviewed by:	wpaul
2000-01-04 23:09:42 +00:00
Tor Egge
82916a1126 ISA device drivers use the ISA source interrupt number in locations where
the low level interrupt handler number should be used.  Change
setup_apic_irq_mapping() to allocate low level interrupt handler X (Xintr${X})
for any ISA interrupt X mentioned in the MP table.

Remove an assumption in the driver for the system clock (clock.c) that
interrupts mentioned in the MP table as delivered to IOAPIC #0 intpin Y
is handled by low level interrupt handler Y (Xintr${Y}) but don't assume
that low level interrupt handler 0 (Xintr0) is used.

Don't allocate two low level interrupt handlers for the system clock.
Reviewed by:	NOKUBI Hirotaka <hnokubi@yyy.or.jp>
2000-01-04 22:24:59 +00:00
Archie Cobbs
4164c44770 Fix race condition caused by missing splnet()'s. 2000-01-04 22:06:08 +00:00
Marcel Moolenaar
1d19afde95 Add btxld to the list of cross-tools on machines that don't have it
natively (ie non-i386 architectures).
2000-01-04 14:12:12 +00:00
Marcel Moolenaar
b0ca5f031d o Allow btxld to be compiled on 64-bit machines
o  s/unsigned/unsigned int/g
o  Add -Wall

btxld can now be built as a cross-tool for cross-building i386/pc98 on
platforms that don't have btxld (such as alpha).
2000-01-04 14:10:36 +00:00