Commit Graph

11498 Commits

Author SHA1 Message Date
wollman
fc229edf09 Yow! Completely change the way socket options are handled, eliminating
another specialized mbuf type in the process.  Also clean up some
of the cruft surrounding IPFW, multicast routing, RSVP, and other
ill-explored corners.
1998-08-23 03:07:17 +00:00
mckay
f1f17d0e4f Correct/clarify some comments. 1998-08-22 15:24:09 +00:00
dfr
bbcede9c48 Remove bogus unused code. 1998-08-22 10:32:38 +00:00
dfr
e1467bf887 Minor tweaks to track a couple of i386 changes and to make it compile. 1998-08-22 10:31:01 +00:00
gpalmer
a1f44848b3 Add BREAK_TO_DEBUGGER so that config stops whining 1998-08-21 23:43:15 +00:00
wpaul
0a28da8941 Increase the number of descriptors (and, as a consequence, the number
of associated mbuf clusters) in the RX ring from 4 to 16. On my
really fast PI 400Mhz test machines, 4 descriptors (and associated
mbuf clusters) is enough to achieve decent performance without any
RX overruns. However, one person reported problems with the following
scenario:

- P90 system running FreeBSD with a 3c905B-TX adapter, slow IDE hard
  disk (Quantum Bigfoot?)
- PII 266 with SCSI disks running LoseNT and also with a 3c905B-TX
- Both machines connected together via crossover cable at 100Mbps
  full-duplex
- LoseNT machine writing largs amounts of data (2.5 GB work of
  files each in the neighborhood of 1 to 2 MB in size) via samba to
  the FreeBSD machine

In this case, the LoseNT machine is sending data very fast. Apparently
there weren't any problems initially because the user was writing to
one particular disk which was relatively fast, however after this disk
filled up and the user started writing to the second slower disk, RX
overruns would occur and sometimes the RX DMA engine would stall after
a 100 to 500MB had been transfered. The xl_rxeof() handler is supposed
to detect this condition and restart the upload engine; I'm not sure
why it doesn't, unless interrupts are being lost and the rx handler
isn't getting called.

This is still an improvement over the Linux driver, which uses 32
descriptors in its receive ring. :)

Problem reported by: Heiko Schaefer <hschaefer@fto.de>
1998-08-21 16:58:48 +00:00
msmith
53ee95810b This commit was generated by cvs2svn to compensate for changes in r38465,
which included commits to RCS files with non-trunk default branches.
1998-08-21 03:17:42 +00:00
msmith
6f877f3a97 This is the new unified bootstrap, sometimes known previously as the
'three-stage' bootstrap.
There are a number of caveats with the code in its current state:
 - The i386 bootstrap only supports booting from a floppy.
 - The kernel and kld do not yet know how to deal with the extended
   information and module summary passed in.
 - PnP-based autodetection and demand loading of modules is not implemented.
 - i386 ELF kernel loading is not ready yet.
 - The i386 bootstrap is loaded via an ugly blockmap.

On the alpha, both net- and disk-booting (SRM console machines only) is
supported.  No blockmaps are used by this code.

Obtained from:	Parts from the NetBSD/i386 standalone bootstrap.
1998-08-21 03:17:42 +00:00
msmith
8adeb775c4 This is the new unified bootstrap, sometimes known previously as the
'three-stage' bootstrap.
There are a number of caveats with the code in its current state:
 - The i386 bootstrap only supports booting from a floppy.
 - The kernel and kld do not yet know how to deal with the extended
   information and module summary passed in.
 - PnP-based autodetection and demand loading of modules is not implemented.
 - i386 ELF kernel loading is not ready yet.
 - The i386 bootstrap is loaded via an ugly blockmap.

On the alpha, both net- and disk-booting (SRM console machines only) is
supported.  No blockmaps are used by this code.

Obtained from:	Parts from the NetBSD/i386 standalone bootstrap.
1998-08-21 03:17:42 +00:00
wpaul
3bcc497b40 Fix small printf() bogon (forgot newline, and the message was longer that
80 cols).
1998-08-20 14:48:58 +00:00
dfr
6171fd666c Add support for TurboChannel alphas (DEC 3000/300 and 3000/500).
Obtained from: NetBSD
Submitted by: Andrew Gallatin <gallatin@cs.duke.edu>
1998-08-20 08:27:11 +00:00
bde
7ec87642b0 Moved `nx' functions to the one place where they are used (su.c).
They shouldn't be used there either.  They should have gone away
about 3 years ago when the statically initialized devswitches went
away, but su.c unfortunately still frobs the cdevswitch in the old
way.
1998-08-20 06:10:42 +00:00
msmith
a26b2a4808 A better fix for kern/7144:
The check for dropping unicast packets not sent to our ethernet
address is after the bpf tap, but not conditioned on it.  All packets
received should get handed to bpf, and unicast packets not to us (mac)
should get dropped whether or not there is a bpf listener.  I believe
that the common optimization that the interface is in hw promisc mode
iff there is a bpf listener is in general wrong, but more frequently
so on wavelans.

I think Max's fix makes bpf listeners not see unicast packets sent to
others, but I'm not sure.

One can argue that checking on MOD_ENAL is wrong, but the code only
drops packets that shouldn't be received.  The correctness condition
is that it be run whenever unicast packets without our mac address can
be received.

PR:		kern/7144
Submitted by:	Greg Troxel <gdt@ir.bbn.com>
1998-08-20 05:49:59 +00:00
bde
9b05d00244 Fixed bogus spelling nx*' of some no*' devswitch functions. 1998-08-20 05:48:17 +00:00
bde
ea9b5a8583 Fixed devfs initialization which I broke in the previous commit.
Fixed an old name and disorder in the sio dictionary.
1998-08-20 05:21:50 +00:00
bde
3f2c481320 Fixed devfs initialization which I broke in the previous commit. 1998-08-20 05:12:48 +00:00
des
8b89f9953c Include opt_devfs.h which defines SLICE, to make previous commit
meaningful.

Pointed out by:	Luoqi Chen
1998-08-19 20:20:52 +00:00
wpaul
4063113d87 Make two changes:
If I'm reading the manual correctly, the 3c905B actually loses its
PCI configuration during the transition from D3(hot) back to D0, not
during the transition from D0 to D3(hot). This means it should be possible
to save the existing PCI settings, restet the power state, then restore
the PCI settings afterwards. Changed xl_attach() to attempt this first
thing before the normal PCI setup. I'm not certain this will work correctly,
but it shouldn't hurt.

If xl_init() is called while an autoneg session is in progress, the
autoneg timeout and chip state will get clobbered. Try to avoid this
by checking sc->xl_autoneg at the start of xl_init() and defer
the initialization until later if it's set. (xl_init() is always called
at the end of an autoneg session by xl_autoneg_mii().)

Problem pointed out by: Larry Baird <lab@gta.com>
1998-08-19 15:07:46 +00:00
kato
0aa0d773bb Sync with sys/i386/isa/sio.c revision 1.211. 1998-08-19 11:48:38 +00:00
sos
3d0aaf531d Make struct buf->b_offset reflect the real byte offset which got
in via the uio struct. This enables device drivers to use != DEV_BSIZE
blocking on devices with wierd sector/block sizes (ie CDROM's).
1998-08-19 10:50:32 +00:00
kato
39709df7ef Sync with sys/i386/isa/syscons.c revision 1.275. 1998-08-19 09:35:18 +00:00
kato
cbddd1689e Sync with sys/i386/i386/machdep.c revision 1.304. 1998-08-19 09:32:15 +00:00
bde
56864fff0b Enabled dynamically sized tty input buffers (with enough buffering
for 1 second's worth of input) and larger tty output buffers.  The
interrupt-level buffers are still too small for speeds above 115200
bps (only a little too small for 230400 bps if RTS flow control is
enabled).

Don't call ttsetwater() explicitly in open().  It is now called for
the TTYDISC l_open() and should be static.

Don't attempt to register the cdevsw more than once.
1998-08-19 04:17:38 +00:00
bde
2320c89792 A limit of 200000 for the output buffer high watermark was excessive,
since (hardware) ttys have too low a bandwidth to benefit significantly
from large buffers.  Use twice the old limit for the new-default case
and 8 times the old limit for the driver-specifies-watermark case.
Nothing uses these cases yet.

Removed related debugging code.
1998-08-19 04:01:00 +00:00
jkoshy
94f2150411 Correct handling of ASCII DEL (0x7F).
I don't have access to a real VT220 to verify this against.
However, I'm committing the patch in `good faith' because
(a) getting hold of a real VT220 is going to be increasingly difficult
    the longer the PR sits around,
(b) some one was troubled enough to in a PR and
(c) the fix is minor and has no other implications.

PR: 7559
Submitted by: Christian Weisgerber <naddy@mips.rhein-neckar.de>
1998-08-19 03:39:40 +00:00
jkoshy
5b6a21c528 Correct glyph displayed by PCVT in ISO Latin-1 mode.
PR: 7610
Submitted-by: Christian Weisgerber <naddy@mips.rhein-neckar.de>
1998-08-19 03:07:16 +00:00
kato
d7dec6daac Delete dpt driver. 1998-08-19 02:41:51 +00:00
ache
14ff3cf3dc Implement DLT_RAW from libpcap 1998-08-18 10:13:11 +00:00
msmith
c9c20b2646 Presently there is only one `currentldt' variable for all cpus
in a SMP system. Unexpected things could happen if each cpu
        has a different ldt setting and one cpu tries to use value
        of currentldt set by another cpu.

        The fix is to move currentldt to the per-cpu area. It includes
        patches I filed in PR i386/6219 which are also user ldt related.

PR:		i386/7591, i386/6219
Submitted by:	Luoqi Chen <luoqi@watermarkgroup.com>
1998-08-18 07:47:12 +00:00
sos
954150234c Fix one forgotten instance of \n to \r 1998-08-18 07:36:47 +00:00
bde
a9109319d2 Quick fix for breakage of read clustering on non-IDE drives. Read
clustering is obsolescent technology so hardly anyone noticed.  On
a DORS 32160 SCSI drive with 4 tags, read clustering makes very
little difference even for huge sequential reads.  However, on a
ZIP SCSI drive with 0 tags, the minimum overhead per block is about
40 msec, so very large clusters must be used to get anywhere near
the maximum transfer rate.  Using clusters consisting of 1 8K block
reduces the transfer rate to about 250K/sec.  Under msdosfs, missing
read clustering is normal and a cluster size of 1 512 byte block
reduces the transfer rate to about 25K/sec.

Broken in:	rev.1.18
1998-08-18 03:54:39 +00:00
bde
228c4dc2c1 Fixed printf format errors. 1998-08-18 00:32:50 +00:00
bde
d8ffe16d37 Converted rcsid to $Id$ again. There shouldn't be any rcsids in the kernel. 1998-08-17 19:26:37 +00:00
bde
abcb39880b Removed unused includes. 1998-08-17 19:09:36 +00:00
bde
b681414641 Fixed printf format errors (none detected in GENERIC again). 1998-08-17 19:06:47 +00:00
bde
918cd62b9b Fixed a type mismatch.
Fixed a missing extern declaration (bug for bug compatibly including
style bugs.  Should probably be static).
1998-08-17 18:47:36 +00:00
bde
406dfdf3be Removed unused includes. Fixed disordering of includes. 1998-08-17 18:12:52 +00:00
bde
664d1cf297 Backed out previous commit. The seconds part of microtime() is
not the necessarily the same as the seconds part of getmicrotime()
yet, and anyway, we should have used `time_second' if we only wanted
a sloppy value for the seconds part.  There is no point in making
ibcs2's time(2) more efficient than FreeBSD's time(3).
1998-08-17 17:53:12 +00:00
bde
3b486dcdf9 Fixed nonsense overflow checking (checking that a long variable is less
than INT_MAX after it has possibly overflowed).

Removed an unused variable and its associated 2 style bugs.

Removed unused includes.
1998-08-17 17:28:10 +00:00
bde
3afa080e78 Oops, the previous commit was of a local version. 1998-08-17 16:58:02 +00:00
bde
6d6096f450 FIxed typo (syntax error) in previous commit. 1998-08-17 16:46:33 +00:00
dfr
cc614626bb Don't use unaligned accesses when printing extended sense codes. 1998-08-17 09:24:31 +00:00
dfr
4a7cdadb42 Add macros for accessing device memory. 1998-08-17 08:57:05 +00:00
dfr
9c410acd54 Add Miata system type and pull in the LOCATE_PCS macro from NetBSD. 1998-08-17 08:26:12 +00:00
dfr
e468ba5e45 Add breakpoint() for BREAK_TO_DEBUGGER. 1998-08-17 08:21:31 +00:00
kato
383755b28e Sync with sys/i386/isa/lpt.c revision 1.70. 1998-08-17 08:21:09 +00:00
dfr
2e02e15343 Update to work with the new elf headers. 1998-08-17 08:06:31 +00:00
dfr
0b040eaa37 Update to use elf_generic.h. 1998-08-17 08:05:55 +00:00
dfr
38a4039324 Disable some unnecessary debugging code. 1998-08-17 08:04:42 +00:00
jb
82c53b9620 Remove support for NetBSD syscalls. 1998-08-17 03:46:10 +00:00