46326 Commits

Author SHA1 Message Date
nyan
7b1ee4071d Enable the sx driver on i386 and pc98. 2004-04-13 14:04:25 +00:00
des
8f6e7eec62 Use headers from the kernel source tree rather than installed headers.
Submitted by:	ru
2004-04-13 13:43:11 +00:00
luigi
f83ca5e62d route.h: introduce a macro, SA_SIZE(struct sockaddr *) which returns
the space occupied by a struct sockaddr when passed through a
routing socket.
Use it to replace the macro ROUNDUP(int), that does the same but
is redefined by every file which uses it, courtesy of
the School of Cut'n'Paste Programming(TM).

(partial) userland changes to follow.
2004-04-13 11:22:22 +00:00
sos
cc41608d4e Add support for the Promise command sequencer present on all modern Promise
controllers (PDC203** PDC206**).

This also adds preliminary support for the Promise SX4/SX4000 but *only*
as a "normal" Promise ATA controller (ATA RAID's are supported though
but only RAID0, RAID1 and RAID0+1).

This cuts off yet another 5-8% of the command overhead on promise controllers,
making them the fastest we have ever had support for.

Work is now continuing to add support for this in ATA RAID, to accellerate
ATA RAID quite a bit on these controllers, and especially the SX4/SX4000
series as they have quite a few tricks in there..

This commit also adds a few fixes to the SATA code needed for proper support.
2004-04-13 09:44:20 +00:00
ru
cd72891375 Bump __FreeBSD_version on behalf of the new .warning directive in make(1).
Requested by:	kris
2004-04-13 09:33:33 +00:00
imp
b449361466 Fix off by one error, twice.
Submitted by: Carlos Velasco (first one), jhb (second one)
2004-04-12 23:02:21 +00:00
phk
200ffbe56d Do not drop Giant around the poll method yet, we're not ready for it. 2004-04-12 21:52:52 +00:00
imp
09643af85a MFp4:
Alignment for pccards should also be treated in a similar way that
	we tread it for cardbus cards.

	Remove bogus debugs while I'm here.

# This is also necessary to make the CIS reading work.

Submitted by: Carlos Velasco
2004-04-12 21:04:54 +00:00
imp
67c5859522 Improve reading of CIS cards:
(1) Align to 64k for the CIS.  Some cards don't like it when we aren't
    aligned to a 64k boundary.  I can't find anything in the standard
    that requires this, but I have 1/2 dozen cards that won't work at
    all unless I enable this.
(2) Sleep 1s before scanning the CIS.  This may be a nop, but has little
    harm.
(3) The CIS can be up to 4k in some weird, odd-ball edge cases.  Since we
    have limiters for when that's not the case, it does no harm to increase
    it to 4k.

#1 was submitted, in a different form, by Carlos Velasco.
2004-04-12 20:56:34 +00:00
luigi
9d98841616 remove an almost-duplicate piece of code by setting the loop
limits appropriately.
2004-04-12 20:26:01 +00:00
luigi
1a6dae835c in rtinit(), remove one useless variable, and move a few others
within the block where they are used.
2004-04-12 20:24:30 +00:00
cperciva
7eb8531271 stop() no longer needs sched_lock held; in fact, holding sched_lock causes
a LOR against sleepq.  Fix the comment, and fix ptracestop() to pick up
sched_lock after stop() rather than before.

Reported by:	Scott Sipe <cscotts@mindspring.com>
Reviewed by:	rwatson, jhb
2004-04-12 15:56:05 +00:00
ru
14233a5a33 Count outgoing link-level broadcast packets in if_omcasts.
I'm not sure this is completely correct but at least this
is consistent with the accounting of incoming broadcasts.

PR:		kern/65273
Submitted by:	David J Duchscher <daved@tamu.edu>
2004-04-12 14:59:25 +00:00
mux
006bc4ac4c Don't send the available space as is in the FSSTAT call. Under
FreeBSD, we can have a negative available space value, but the
corresponding fields in the NFS protocol are unsigned.  So
trnucate the value to 0 if it's negative, so that the client
doesn't receive absurdly high values.

Tested by:	cognet
2004-04-12 13:02:21 +00:00
markm
7743e85352 Fix "sleeping without a mutex" panic. 2004-04-12 09:13:24 +00:00
njl
a9c2757cc6 Remove a check for the return value added in rev 1.41. It's not an error
to fail to turn off a fan, since the case is that it's usually already off.
2004-04-12 05:04:47 +00:00
imp
3688839453 Move sx to i386/NOTES for the moment. I missed the
enable/disable_intr() in the code.
2004-04-12 02:36:51 +00:00
mux
cfce98c517 Bump __FreeBSD_version for getgrent(3) removal. I doubt anything
outside of the tree uses it, but it doesn't cost anything.
2004-04-11 21:57:07 +00:00
mux
de871a9ba9 Belatedly remove the getvfsent(3) API. All the consumers have been
updated to use getvfsbyname(3) or the vfs.conflist sysctl since a
long time, except mount_smbfs(8) which has just been fixed.
2004-04-11 21:36:31 +00:00
mux
6b230f7964 Put struct ovfsconf inside BURN_BRIDGES as well. 2004-04-11 21:26:07 +00:00
mux
79217d1505 Put deprecated sysctl code inside BURN_BRIDGES. 2004-04-11 21:09:22 +00:00
ru
157640c616 Implemented per-interface polling(4) control. 2004-04-11 21:01:12 +00:00
ru
bade226899 Implemented per-interface polling(4) control. 2004-04-11 20:34:08 +00:00
imp
ef96ba541f Add sx driver, since it looks like it should work on all
architectures.
2004-04-11 20:17:34 +00:00
imp
8a7f14cc73 Update to recent driver api changes. 2004-04-11 20:15:15 +00:00
imp
761024be8e Add glue for new sx driver. 2004-04-11 20:01:18 +00:00
alc
643a21e287 Use vm_page_hold() rather than vm_page_wire() for short-duration page
wiring.  The reason being that vm_page_hold() is cheaper.
2004-04-11 19:57:11 +00:00
imp
a0e860ef19 Frank Mayhar's <frank@exit.com> sx driver for older Specialix
I/O8+ and I/O4+ intelligent serial controllers.  si is for
completely different hardware, also made by Specialix.
2004-04-11 19:32:20 +00:00
ru
3f9b8e99a0 Implemented per-interface polling(4) control. 2004-04-11 19:25:56 +00:00
imp
7764e9e2f9 Add note about why we're ignoring the below 1MB bit. 2004-04-11 19:22:25 +00:00
ru
a93512febd Fixed resetting of the watchdog timer and queue full flag. 2004-04-11 18:28:14 +00:00
mlaier
d2fa2c987e Commit import of OpenBSD-stable fix:
Fix by dhartmei@ and mcbride@
 1.433
 Properly m_copyback() modified TCP sequence number after demodulation
 1.432
 Fix icmp checksum when sequence number modlation is being used.
 Also fix a daddr vs saddr cut-n-paste error in ICMP error handling.

 Fixes PR 3724

Obtained from:	OpenBSD
Reviewed by:	dhartmei
Approved by:	rwatson
2004-04-11 17:35:40 +00:00
marcel
6dbee1d482 Unbreak build: s/TAILQ_ISEMPTY/TAILQ_EMPTY/g 2004-04-11 17:15:36 +00:00
rwatson
f8b24f78ad In 4.x, if_ipending is used to track network interrupt state. In 5.x,
it is no longer used, so GC the ifnet.if_ipending field.
2004-04-11 16:35:53 +00:00
rsm
8c727ff7fc Stop xe claiming ownership of every card passed to xe_pccard_match.
Found by:	Pete Carss <itinerant at mac dot com>
Reviewed by:	imp (mentor)
Pointy hat to:	rsm
2004-04-11 16:34:29 +00:00
rwatson
64b26340c2 Compare IFF_POLLING flag with ifp->if_flags rather than ifp->if_ipending,
which was almost certainly a bug since polling support was introduced
in this driver.

Found during discussion with:	mlaier
2004-04-11 16:26:39 +00:00
ru
88016a0d08 Implemented per-interface polling(4) control. 2004-04-11 16:23:16 +00:00
marcel
3085115018 Include nehemiah.c only on i386, as is done for the non-modules
build.
2004-04-11 15:40:18 +00:00
ru
57c7179066 Implemented per-interface polling(4) control. 2004-04-11 15:35:49 +00:00
ru
2ffc7fc147 Implemented per-interface polling(4) control. 2004-04-11 15:18:09 +00:00
ru
7da0b60b17 Implemented per-interface polling(4) control. 2004-04-11 14:42:25 +00:00
ru
ba67628e61 First driver with user-configurable polling(4). 2004-04-11 13:47:15 +00:00
ru
dd9ed98446 Added the new interface capability option for drivers that implement
user-configurable polling(4) support.  Make ifconfig(8) aware of it.

Suggested by:	luigi
2004-04-11 13:36:52 +00:00
peadar
7ddbd99725 Don't let the NFS server module be unloaded as long as there are
nfsd processes running

Reviewed By:	iedowse
PR:		16299
2004-04-11 13:33:34 +00:00
peadar
9bb40b73ee Clean up properly when unloading NFS client module.
This includes a modified form of some code from Thomas Moestl (tmm@)
to properly clean up the UMA zone and the "nfsnodehashtbl" hash
table.

Reviewed By:	iedowse
PR:		16299
2004-04-11 13:30:20 +00:00
nyan
3341cc4adb Fix pc98 build. 2004-04-11 09:13:42 +00:00
imp
a85109257a Add system tunable to turn off power state changes. Default to off until
we get the resource allocation stuff hammered out.

Fix and off by one error that caused unnecessary filtering of valid
BARs for only 4 bytes than ICH3 and other PCI IDE controllers have.
Andrew Gallatin submitted this, although it doesn't solve the problems
ICH3 controllers have with the new code, it does restore the former
resource list on the probe line.
2004-04-11 07:02:49 +00:00
alc
b3d75fb6f4 Remove a comment that refers to avail_start and avail_end as these
variables no longer exist.
2004-04-11 06:37:36 +00:00
alc
0f6d9cd13e Remove avail_end. It is not used. 2004-04-11 06:02:24 +00:00
alc
39f4094512 Remove avail_end. It is not used. 2004-04-11 05:08:26 +00:00