Commit Graph

19053 Commits

Author SHA1 Message Date
Mike Smith
c2b9ed0fc3 Add the pcdmx theatre lighting controller major number 2000-01-20 02:54:03 +00:00
Jason Evans
60ffb01993 Don't tsleep() while at splbio().
Correctly return EINPROGRESS from aio_error() even when an aio request
is still in the socket queue.

Submitted by:	Adrian Chadd <adrian@bofh.co.uk>
2000-01-20 01:59:58 +00:00
Archie Cobbs
1b67001469 Fix an #ifdef that should have been and #ifndef.
Noticed by:	Hellmuth Michaelis <hm@hcs.de>
2000-01-20 01:49:45 +00:00
KATO Takenori
290fb50e67 Port of the PC-98 ppc to the newbus system. 2000-01-20 00:58:49 +00:00
Bill Paul
88d739dc5f Add support for the Davicom DM9102A 10/100 ethernet controller chip.
This is just to make sure we initialize the chip correctly: we need to
make the sure the port select bit in CSR6 is set properly so that we
use the internal PHY for 10/100 support. (The eval boards I have also
include an external HomePNA PHY, but I need to play with that more
before I can support it.)
2000-01-19 19:03:08 +00:00
Jordan K. Hubbard
6417807e8b Add parallel port clock driver.
Submitted by:	Sascha Schumann <sascha@schumann.cx>
2000-01-19 18:19:16 +00:00
Jordan K. Hubbard
3b2d592ca2 Import simple driver for a parallel port radio clock which receives
the German legal time (commonly available in Europe).

Submitted by:	Sascha Schumann <sascha@schumann.cx>
2000-01-19 18:17:25 +00:00
Søren Schmidt
6e5d660a63 Quantify the calls to ad_attach and atapi_attach so that diskless
or atapiless kernels can be built.
2000-01-19 07:25:46 +00:00
Robert Watson
8f0738756c Fix bde'isms in acl/extattr syscall interface, renaming syscalls to
prettier (?) names, adding some const's around here, et al.

Reviewed by:	bde
2000-01-19 06:07:34 +00:00
Robert Watson
9b0be035b8 Fix bde'isms in acl/extattr syscall interface, renaming syscalls to
prettier (?) names, adding some const's around here, et al.

Commit 2 out of 3.

Reviewed by:	bde
2000-01-19 06:02:31 +00:00
Robert Watson
5134b3e92a Fix bde'isms in acl/extattr syscall interface, renaming syscalls to
prettier (?) names, adding some const's around here, et al.

Commit 1 out of 3.

Reviewed by:	bde
2000-01-19 06:01:07 +00:00
Mike Smith
bffc499a69 Reference machine/param.h rather than the nonexistent
machine/machparam.h in a comment

PR:		kern/11178, kern/16128
2000-01-19 01:26:06 +00:00
Bill Paul
76fd432173 Fix a couple of bugs:
- The busy wait hack in usbdi.c was doing its timeout in microseconds
  instead of milliseconds.
- if_aue.c:aue_intr() is creating a bitmask by and'ing two bits when it
  should be or'ing them.

Submitted by:	Lennart Augustsson
2000-01-19 01:01:56 +00:00
Søren Schmidt
974f34013a Rearrange the probecode, so that 80pin cables can be identified
correctly on both master and slave.
Smash together the ata_params & atapi_params structures as they
are more or less equal anyways.
Get rid of the last SYSINIT's in here.
2000-01-18 21:02:59 +00:00
Cameron Grant
f2410ff244 kludge to fix the end-of-sample repeating bug. i don't know why it happens;
none of my hw does it, but this should fix it for now.

Tested by:	wpaul
2000-01-18 18:59:03 +00:00
Cameron Grant
03a00905d3 update ac97 layer to use device_printf when printing messages 2000-01-18 17:13:43 +00:00
Bill Fumerola
0b04a9eef3 Cast rman_get_virtual() to a vm_offset_t.
Submitted by:	msmith
2000-01-18 15:44:24 +00:00
Alfred Perlstein
28255f07ec unbreak (rv -> r), afaik what Mike intended, boots fine on my machine 2000-01-18 12:24:44 +00:00
Peter Wemm
5995e84e19 Add another four device ID's for isa pnp modems. The USR's seem to use
the same vendor and logical ID.  The rest I am not sure whether they
are vendor or logical, but it won't hurt if I've put a vendor ID here
as merely will not match.  These came from the old sio-pnp code, hence
the uncertainty about which ID it is.
2000-01-18 09:30:58 +00:00
Yoshinobu Inoue
714dabb963 Merge a bug fix from freebsd-current; check m != NULL before touching it,
at udp6_ctlinput().
  There should be kernel panic at PCCARD suspend etc, before this bug fix.

Submitted by:  Hajimu UMEMOTO <ume@mahoroba.org>
2000-01-18 09:02:19 +00:00
Peter Wemm
2d77b66efb Add ADS7182 as a known Joystick. 2000-01-18 08:38:35 +00:00
Peter Wemm
71d38539b4 Add a warning for the snd drivers and a pointer to pcm/sbc/etc. 2000-01-18 08:31:40 +00:00
Jordan K. Hubbard
c5954134e4 Enable POSIX P1003_1B extentions by default; there's no reason I can see
not to class them with the SYSV extentions as "optional but damn useful".

Also desired by:	wollman
2000-01-18 07:52:12 +00:00
Robert Watson
5b0613d5cb IRIX interoperability -- define ACL_MAX_ENTRIES from MAX_ACL_ENTRIES 2000-01-18 06:21:29 +00:00
Kris Kennaway
1180a889cf Bump __FreeBSD_version due to openssl import. 2000-01-18 04:36:56 +00:00
Mike Smith
01fef73008 Don't mark unallocated resources as active; the goal is to reserve them,
and there may be a good reason for them being unallocated (eg. they're
nonsensical or not useful).  The goal here is simply to reserve them
against accidental use by other code.
2000-01-18 02:15:05 +00:00
Mike Smith
f6bf1bb672 Don't try to map memory resources into the kernel until they're actually
activated.  Some of the things that get listed as "resources" aren't
necessarily suited for this.

(This shouldn't be a problem for any driver that correctly passes
RF_ACTIVE)
2000-01-18 02:13:27 +00:00
Kirk McKusick
71c87cfd7e Need to reset the buffer pointer to avoid reconsidering the same buffer
again (without this the rollback analysis was being lost). Should reduce
the write count for most workloads.

Submitted by:	Craig A Soules <soules+@andrew.cmu.edu>
2000-01-18 02:13:26 +00:00
Matt Jacob
a5d8019e08 add a R_PREV_IDX macro 2000-01-18 01:42:11 +00:00
Kirk McKusick
57a91f6fb0 During fastpath processing for removal of a short-lived inode, the
set of restrictions for cancelling an inode dependency (inodedep)
is somewhat stronger than originally coded. Since this check appears
in two places, we codify it into the function check_inode_unwritten
which we then call from the two sites, one freeing blocks and the
other freeing directory entries.

Submitted by:	Steinar Haug via Matthew Dillon
2000-01-18 01:33:05 +00:00
Kirk McKusick
4c6adb0622 Need to reorganize the flushing of directory entry (pagedep) dependencies
so that they never try to lock an inode corresponding to ".." as this
can lead to deadlock. We observe that any inode with an updated link count
is always pushed into its buffer at the time of the link count change, so
we do not need to do a VOP_UPDATE, but merely find its buffer and write it.
The only time we need to get the inode itself is from the result of a
mkdir whose name will never be ".." and hence locking such an inode will
never request a lock above us in the filesystem tree. Thanks to Brian
Fundakowski Feldman for providing the test program that tickled soft updates
into hanging in "inode" sleep.

Submitted by:	Brian Fundakowski Feldman <green@FreeBSD.org>
2000-01-18 01:30:03 +00:00
Bill Paul
b822a5eae9 Add the vendor/device ID for the Farallon PN9000SX gigabit ethernet
card, which is apparently also a Tigon 2 device.
2000-01-18 00:26:29 +00:00
Bill Paul
7b7b87d7ef Change the mechanism by which we detect that the firmware is already
running. It turns out that trying to read the MAC address when there's
no firmware creates a zero length transfer. This apparently doesn't
hurt anything on a UHCI controller, but OHCI controllers generate an
IOERROR, and the device doesn't initialize.

Instead, check the bcdDevice revision code. We know this will be
different when the firmware is running, so if we detect the firmware's
code instead of the bare hardware's code, we skip the firmware load.
2000-01-17 23:14:40 +00:00
Brian Feldman
f582ac0630 Fix vn_isdisk() usage to make AIO work on non-disk-files again, rather
than just return ENOTBLK.

PR:	16163
Submitted by:	Adrian Chadd <adrian@FreeBSD.org>
2000-01-17 21:18:39 +00:00
Mike Spengler
96cdb64ea9 Remove un-needed #include's.
Pointed out by: phk
2000-01-17 20:49:59 +00:00
Archie Cobbs
010c5481fd Work around aparent bug in the .Dv macro by eliminating some spaces.
The closing curly-brace in this line was being omitted somehow.
2000-01-17 20:10:39 +00:00
Bill Paul
4c10dd65ca The correct part number for the CATC ASIC is USB-EL1210A, not
USB-EL1201A or even USB-EL1202A. Wonder what drugs I was on when
I made this mistake, and then propagated it to 6 different files.

*sigh*
2000-01-17 18:49:20 +00:00
Yoshihiro Takahashi
690951a252 Remove unnecessary includes. 2000-01-17 12:49:54 +00:00
Yoshihiro Takahashi
41d8671572 Use rman_get_bustag and rman_get_bushandle to initialize bus tag and
bus handle.
2000-01-17 12:38:51 +00:00
Yoshihiro Takahashi
521c75a254 Use rman_get_start instead of bus handle directly. 2000-01-17 12:38:00 +00:00
Peter Wemm
615407b5a0 Some SB128's (ES1371) have a different PCI vendor id. Vendor == 0x3274
instead of the normal 0x1274.

Tested by:	des
2000-01-17 07:54:00 +00:00
Kirk McKusick
105ef72c55 Better bounding on softdep_flushfiles; other minor tweeks to checks. 2000-01-17 06:35:11 +00:00
Kirk McKusick
107d5039ef Must track multiple uncommitted renames until one ultimately gets
committed to disk or is removed.
2000-01-17 06:28:18 +00:00
Matt Jacob
10b6172afb Do the minor changes needed because of change to ccb_getdev structure.
JKH Trading Stamps applied.

Reviewed by:	gibbs@freebsd.org, ken@freebsd.org
2000-01-17 06:27:37 +00:00
Matt Jacob
ab6eec3ad9 Increase size of the scsi_inquiry_data structure to it's nearly
full size. Define a SHORT_INQUIRY_LENGTH for use during initial
probing (covers the size used previously). Define some SPC-2 related
fields (and define the revision code for SPC-2) which includes some
further SPI-3 defines. Don't go all the way (256 bytes) for the structure-
stop 4 bytes short- because we haven't auditted the source base to find
any u_int8_t potential overflow issues. Add RBC (single byte device)
and OCR (Optical Character Reader) device type codes.

Approved by JKH.

Reviewed by:	gibbs@freebsd.org, ken@freebsd.org
2000-01-17 06:24:35 +00:00
Matt Jacob
9ec5d7cd35 Remove garbage collected tags from their usage in the ccb_getdev
structure. Remove usage of the (now gone) pd_type tag of same.

Add an extra probing state such that if we successfully run an
initial inquiry (36 bytes), rerun another one with a longer data
size as informed by the 'additional length' field in the first
returned inquiry data (making sure not to get bigger than the
actual scsi_inquiry_data structure- which has also been modified-
see separate checkin of scsi_all.h). This allows devices such
as SAF-TE devices (which have identifying marks in offsets 48-53
in inquiry data) to be successfully found without special case
inquiry commands. There are also a lot of other things such as
version codes that are coming in in the SPC2 specification that it
would be useful to get our hands on.

Reviewed by:	gibbs@freebsd.org, ken@freebsd.org
2000-01-17 06:20:08 +00:00
Matt Jacob
826eb7c840 Shift bits for CAM flags so that the top bit isn't set in an enum
(at request of Ken Merry). Garbage collect items out of the ccb_getdev
structure and and a length field so that consumes will know how much
of the inq_data tag is valid. Clean up a few misspellings. Add
a CAM_SEND_STATUS target mode flag.

All of this necessitated a CAM_VERSION bump.

JHK approved.

Reviewed by:	gibbs@freebsd.org, ken@freebsd.org
2000-01-17 06:15:35 +00:00
Matt Jacob
5fd6140dfa Add a CAM_SENT_STATUS for use in target mode. JHK approved.
Reviewed by:	gibbs@freebsd.org, ken@freebsd.org
2000-01-17 06:11:33 +00:00
Søren Schmidt
46a37dbac0 Add support for the Intel 810 chipset (ICH type of chips)
Prober support for the VIA 82C686, I finally got the right datasheet.

Get rid of atapi_wait, merge it into ata_wait.

Avoid a couple of races by using asleep instead of tsleep.

Always use 16bit transfers on ISA systems.

Clear up the atapi_read/write functions.
2000-01-17 02:04:19 +00:00
Matt Jacob
8d9e6c80ca Do not propagate the ENCI_SVALID bit for overall enclosure status
to userland apps- they get confused.
2000-01-17 02:02:41 +00:00
Matt Jacob
6da094e967 Add in SAF-TE handling code and do some minor consistency cleanups. 2000-01-17 00:36:28 +00:00
Bill Paul
20a08a85e4 Remove device name strings from vendor/product lists since we don't use
them (they're read from the device directly). Also do a set_config
command for the ADMtek and CATC drivers.
2000-01-16 22:45:07 +00:00
Matt Jacob
be13abf9a0 Fix breakage from last commit- macro was broken. I appreciate the
committer's fixing things for alpha, but I sure wish they could
have compiled on one!
2000-01-16 19:02:29 +00:00
Wilko Bulte
c0927dd219 Removed outdated comment on experimental nature of ata. Added comment to esp 2000-01-16 18:46:21 +00:00
Yoshinobu Inoue
42ae04d936 fix kernel panic at rtfree() in INET6 enabled envrionment.
This is probably due to twice rtfree() in in6_pcbdetach(),
  one for inp->in6p_route.ro_rt, and another one for inp->inp_route.ro_rt.
  But these 2 are actually shared in inpcb, so 2nd rtfree() is not necessary.
2000-01-16 18:00:06 +00:00
Peter Wemm
8ccd633455 Implement setres[ug]id() and getres[ug]id(). This has been sitting in
my tree for ages (~2 years) waiting for an excuse to commit it.  Now Linux
has implemented it and it seems that Staroffice (when using the
linux_base6.1 port's libc) calls this in the linux emulator and dies in
setup.  The Linux emulator can call these now.
2000-01-16 16:34:26 +00:00
Cameron Grant
9bc502089a fix missing \n in sndstat output 2000-01-16 12:52:22 +00:00
Wilko Bulte
d8f1ce3873 Correct comments / point to right LINT file (./LINT does not exist for Alpha) 2000-01-16 12:39:24 +00:00
Cameron Grant
0a12fe07e7 oops, best play format was set to unsigned 16 bit instead of signed 16 bit
stereo.  remenant from testing.
2000-01-16 12:05:07 +00:00
Jeroen Ruigrok van der Werven
80756f7e69 Convert last examples of controller' to device'. 2000-01-16 09:37:18 +00:00
Poul-Henning Kamp
2a277567e2 Cleanup some more remaining bdev fluff. 2000-01-16 09:25:34 +00:00
Poul-Henning Kamp
af8862e4e6 Cleanup some remaining bdev fluff. 2000-01-16 09:25:10 +00:00
Andrew Gallatin
a6db6c48bf The kernel side of per-process unaligned access control (printing, fixing &
delivering SIGBUS).  This will allow a non-superuser to control unaligned
access behaviour on a per-process basis once a userland control program
(uac) is written.

Reviewed by: obrien
Tested by:   obrien
2000-01-16 07:07:33 +00:00
Tatsumi Hosokawa
a7da6b679e This fixes a bug that /etc/pccard_ether did not work without DHCP.
For example, when /etc/pccard.conf had ed0 in config line, but kernel
refused this name and said

devclass_alloc_unit: ed0 already exists, using next availale unit
number

Kernel used ed1 as device name and it did not match with config and
insert/remove lines.  Fortunately, dhclient was called without args,
and it works, but if we wanted to use static IP address for PC-card,
it did not work.

This modification makes pccardd to execute insert/remove lines with
the true device name that returns from kernel.  (Last change to
etc/pccard.conf.sample eliminated all hardwired device name from
insert/remove lines in /etc/pccard.conf)
2000-01-16 06:44:48 +00:00
Bill Paul
58361cb1b9 Fix an instance of rman_get_start() than should be rman_get_bushandle(). 2000-01-16 06:41:49 +00:00
Bruce Evans
5ac51c3b6a Fixed pedantic syntax errors caused by a trailing semicolon in the
definition of EVENTHANDLER_DECLARE().

Removed all other trailing semicolons in macro definitions.  The
ones after `do ... while (0)' wrappers defeated the point of the
wrappers but were harmless.

Enforce semicolons after invocation of declaration-like macros.
2000-01-16 06:11:33 +00:00
Jonathan M. Bresler
f6a3d83f00 Add SPLASSERT() macro. SPLASSERT() compiles to a no-op
unless both "option INVARIANTS" and "options INVARIANT_SUPPORT"
        are defined in the kernel's config(8) file.

        SPLASSERT(expression, msg) used KASSERT to check that the
        expression is true, panic()ing the kernel otherwise.

Approved by: jkh
Reviewed by: jdp, dfr, phk, eivind and green
2000-01-16 02:10:21 +00:00
Matthew N. Dodd
358fbd755e Set ifq_maxlen to default (IFQ_MAXLEN). 2000-01-16 00:48:33 +00:00
Matt Jacob
982ab0744f buglet fix 2000-01-15 23:05:29 +00:00
Matt Jacob
c8c54c88ae Do a wad of cleanup and put into place at least *one* functional
portion of SES retrieval (native SES itself) and implement all
the appropriate ioctls. Seems to work...
2000-01-15 22:41:27 +00:00
Matt Jacob
92ebdff04b Move the kernel specific stuff into scsi_ses.c. Redo the ioctls
to be more platform independent. Add a ses_hlptxt structure definition
and retrieval ioctl for when we are able to retrieve object help text

SES Objects can have up to 64 KBytes of associated 'help' text- the
Sun A5000 uses this, for example, to give physical location information
(e.g., 'left power supply').
2000-01-15 22:40:04 +00:00
Mike Spengler
3ee23c43ff Ensure that DMA mappings are freed in error situations. 2000-01-15 21:01:04 +00:00
Mike Spengler
c34532be04 Notice when an interface's ATM address changes when running a local arpserver. 2000-01-15 20:46:07 +00:00
Mike Spengler
98e185d2a5 Process SPANS ARP requests even if source IP is 0.0.0.0 (or broadcast). This
can occur when talking to a Fore host which is using "bonded" interfaces.
2000-01-15 20:34:55 +00:00
Bill Paul
09bc5c209e Fix the tl driver so it doesn't run off the end of the RX descriptor list
and panic in out of mbufs condition.
2000-01-15 20:14:49 +00:00
Poul-Henning Kamp
eba2a1aeb9 |The hard limit for the BPF buffer size is 32KB, which appears too low
|for high speed networks (even at 100Mbit/s this corresponds to 1/300th
|of a second). The default buffer size is 4KB, but libpcap and ipfilter
|both override this (using the BIOCSBLEN ioctl) and allocate 32KB.
|
|The following patch adds an sysctl for bpf_maxbufsize, similar to the
|one for bpf_bufsize that you added back in December 1995. I choose to
|make the default for this limit 512KB (the value suggested by NFR).

Submitted by:	se
Reviewed by:	phk
2000-01-15 19:46:12 +00:00
Bruce Evans
ee32b1da10 Don't clobber the sources when plain "make" is run. Just print a message
as in all other Makefiles that create syscall files.

Fixed some style bugs.
2000-01-15 19:40:08 +00:00
Matt Jacob
121ac7c9a2 add SEND/RECEIVE diagnostic opcodes, SEND is a Mandatory command 2000-01-15 19:05:29 +00:00
Bill Paul
4640135aaf Minor enhancement: set the 'dual link LED' bit in the auxmode register
of the Broadcom BCM5201 PHY on the LinkSys USB100TX adapter so that the
link LED correctly (lights up amber for 10mbps link, green for 100mbps
link).

Note that the sticker on the bottom of the adapter says amber for 10
and green for 100, but the appendix in the manual that comes with
the adapter says green for 10 and amber for 100. Given that there doesn't
seem to be any way to make the hardware produce the latter combination,
I think it's safe to say the sticker is right and the manual is wrong.
I'm just shocked, shocked I tell you.
2000-01-15 18:43:07 +00:00
Bill Paul
cf91f8282c Actually read the PCI device ID when testing the device ID value against
the supported devices list.
2000-01-15 18:04:28 +00:00
Tatsumi Hosokawa
5df7e2d6d1 Added "sn" and "pcic" entries to UserConfig. 2000-01-15 16:33:49 +00:00
Mark Newton
a2eddaf1c6 Fix handling of svr4_sigsets, which are implemented in SysVR4 as a sequence
of 4 longs used as a bitmask.  sv4r4_sigfillset has been broken for a
while, probably since rev 1.5.

This patch fixes SVR4_NSIG (i.e.: sets it to the actual number of signals,
instead of the number of bits in the mask) because some SysVR4 clients
honestly seem to care about whether bits in the signal mask are set for
non-existant signals.

Additionally, the svr4_sigfillset macro has been replaced by a
fully fledged function, because the macro didn't actually work
(it returned an all-ones mask, but we don't want that:  we want 0's
set where FreeBSD doesn't actually have a signal which is the same
as an SysVR4 signal, for example).

SysVR4 clients can now successfully ignore signals, although catching
them remains problematic (see commit log message for rev1.13 of
sys/i386/svr4/svr4_machdep.c for more info).
2000-01-15 15:38:17 +00:00
Mark Newton
44d6135018 Remove some all-too-wordy debugging prints 2000-01-15 15:30:44 +00:00
Mark Newton
e88c343da8 Pre-freeze cleanups: Conditionalize debugging writes on DEBUG_SVR4,
eliminate warnings, etc.

Note that svr4_setcontext() and svr4_getcontext() currently don't work
correctly, which makes returning from signal handlers somewhat problematic
(for reference:  the SysVR4 setcontext() and getcontext() syscalls behave
like a low-level version of setjmp() and longjmp(), in that they save and
restore process context.  SysVR4 uses this to implement its signal handler
trampoline:  The context which is saved before a signal handler is called
is restored by an implicit call to the setcontext() syscall when the signal
handler returns.  That currently doesn't work right in this emulator,
although it used to).

I'm committing this anyway, with a caveat that it's buggy, so that I can
(a) note the bug for anyone who is wondering about it, and (b) get the
stuff I've done to improve (but not fix) the situation in the tree before
4.0 is released.  If I have time to fix it totally RSN I'll talk to Jordan
to see if I can bend him into letting me commit a bugfix :-)

Note that the situation now is somewhat better than it was yesterday
anyway, because I've fixed the handling of svr4_sigsets which previously
was causing signal handlers to not get called at all.  Stay tuned for
an upcoming commit to svr4_signal.c...
2000-01-15 15:29:37 +00:00
Kazutaka YOKOTA
2b944ee2b9 This is the 3rd stage of syscons code reorganization.
- Split terminal emulation code from the main part of the driver so
that we can have alternative terminal emulator modules if we like in
the future.  (We are not quite there yet, though.)

- Put sysmouse related code in a separate file, thus, simplifying the
main part of the driver.

As some files are added to the source tree, you need to run config(8)
before you compile a new kernel next time.

You shouldn't see any functional change by this commit; this is only
internal code reorganization.
2000-01-15 15:25:43 +00:00
Mark Newton
bbe23e1d7c Include #warning about unconditionalizing VM86, which isn't supposed to work
in the svr4 emulator yet.
2000-01-15 15:23:14 +00:00
Yoshinobu Inoue
3a2a9f7976 Fixed the problem that IPsec connection hangs when bigger data is sent.
-opt_ipsec.h was missing on some tcp files (sorry for basic mistake)
  -made buildable as above fix
  -also added some missing IPv4 mapped IPv6 addr consideration into
   ipsec4_getpolicybysock
2000-01-15 14:56:38 +00:00
Yoshinobu Inoue
0567ae029a Added missing 'else' for 'if (isipv6)' at IPv6 length setting in tcp_respond().
By this bug, IPv6 reset was not sent.
(I checked around same kind of bug, but no other found.)
2000-01-15 14:34:56 +00:00
Tatsumi Hosokawa
d789ee6ac8 Fixed a bug in PCIC polling mode.
(it does not work without this fix)
2000-01-15 12:02:03 +00:00
Boris Popov
1e77d7a17d Check if module was compiled without SMP support and running on
an SMP system.
2000-01-15 08:35:48 +00:00
Boris Popov
6cca21b14d Add VT_NWFS tag. 2000-01-15 08:28:03 +00:00
Matt Jacob
8904e70b83 Add reference to SES device (it won't be in GENERIC unless folks clamor
for it). Document it's only option.
2000-01-15 07:46:39 +00:00
Matt Jacob
4092880e7f Remove inclusion of dkbad.h- seems like a bug, but I had a stale
dkbad.h in /usr/include/sys- the local build process shouldn't have
been happy with that, but not finding dkbad.h in ../../sys. Hmm.
2000-01-15 07:39:05 +00:00
Yoshinobu Inoue
66810dd0c3 Clear ro->ro_rt just after RTFREE().
Pleases let me make sure that no one touch the invalid ro_rt pointer,
  after splx(s) and before next ro_rt initialization.
  Though usually this seems to be already called at splnet,
  I still sometime experience kernel crash at rtfree() in my
  INET6 enabled environment where IPv6 connection is frequently used.
  (Off-course, it might be just due to another bug.)
2000-01-15 07:27:12 +00:00
Matt Jacob
52e48164b9 add options collateral for SES/SAF-TE driver 2000-01-15 07:12:09 +00:00
Matt Jacob
e575259c13 add file collateral for SES/SAF-TE driver 2000-01-15 07:11:36 +00:00
Matt Jacob
69ad2fbe7e add functional but stub SES/SAF-TE driver 2000-01-15 07:09:12 +00:00
Matt Jacob
003a310f5f Remove compile warning not seen when compiling with target mode enabled. 2000-01-15 07:06:44 +00:00
Seigo Tanimura
25b734e7ee A processor with the CPUID of 0x?8? is Pentium III.
(aka Coppermine)

Noticed by:	Satoshi Sawada <k-sawata@gnoc2.comminet.or.jp>
Reviewd by:	Takuma Yamada <fuzzy2@st.rim.or.jp>
2000-01-15 06:29:03 +00:00
Yoshinobu Inoue
595ad28111 Removed wrong(unnecessary) & operators for pointer, in ipsec_hdrsiz_tcp().
This must be one of the reason why connections over IPsec hangs for
bigger packets.(which was reported on freebsd-current@freebsd.org)

But there still seems to be another bug and the problem is not yet fixed.
2000-01-15 05:39:28 +00:00
Yoshinobu Inoue
79c361bc79 wrapped prototype declarations by __P(())
Submitted by: bde
2000-01-15 05:30:15 +00:00
Matthew N. Dodd
f0b421372f Fix driver to restore function on 3c574 adapters. The panic on
ifconfig and bogus ethernet address (4b:57:4b:57:4b:57) has been
hacked around.  I'll revisit this when I have a clue whats going on.

Reviewed by:	obrien
2000-01-15 05:21:43 +00:00
Yoshinobu Inoue
bb913f0f78 add forward declarations, and small cosmetic changes.
Submitted by: bde
2000-01-15 05:20:40 +00:00
Yoshinobu Inoue
0d18fdd0fc comment the string after #endif
Specified by: bde
2000-01-15 05:15:06 +00:00
Yoshinobu Inoue
b540203735 cosmetic change: sort function prototypes
Specified by: bde
2000-01-15 05:06:14 +00:00
Yoshinobu Inoue
c3a5e52033 -K&R fix for some prototype declaration
-fix some comments for #endif to match them with their #ifndef

Submitted by: bde
2000-01-15 04:57:12 +00:00
Tatsumi Hosokawa
2a37f70f26 Removed PCCARD config file again.
(PCCARD support has been merged into GENERIC config file)
2000-01-15 03:45:22 +00:00
Matt Jacob
65b024e1bf Redo FC target mode dma routine to try and generate an extra CTIO
in the not so odd case of Moving Data *AND* Sending Status in last CTIO *AND*
status is a CHECK CONDITION *AND* we have Sense Data to send.
2000-01-15 01:54:36 +00:00
Matt Jacob
0719e3345c clean up for SBus Ultra (yes, we do not do that here yet) 2000-01-15 01:52:01 +00:00
Matt Jacob
00a8e1748b a whale of a lot of target mode cleanup 2000-01-15 01:50:48 +00:00
Matt Jacob
0c02c31bc0 cleanup- it was not MI code as it should have been 2000-01-15 01:49:09 +00:00
Matt Jacob
427469a4a8 cleanup 2000-01-15 01:48:24 +00:00
Matt Jacob
6b016bfd75 include public target mode functions 2000-01-15 01:47:10 +00:00
Matt Jacob
b5a11b0bc5 public target mode stuff 2000-01-15 01:46:37 +00:00
Matt Jacob
abde225be8 tighten up printout 2000-01-15 01:43:19 +00:00
Bill Paul
1e152b85f6 Grrr. Really add the module makefile for the Aironet driver. 2000-01-14 23:46:05 +00:00
Warner Losh
00e888b639 Add pccard aic attachment. 2000-01-14 23:44:32 +00:00
Warner Losh
2a457ef118 Add support to aic for pccard attachments. Reports from testers have
been so positive that I'm going to go ahead and commit this now rather
than do another round of patches.

My Adaptec 1460D works great with these changes.
2000-01-14 23:42:36 +00:00
Justin T. Gibbs
434bbf6e63 Clean up the xpt_sim creation to mirror how HBA drivers perform this task.
Clean up node creation in the EDT so that initialization follows member
declaration.

Sort registered paths by pathid so that we probe busses in order of
ascending pathid.  This makes hardwiring of busses without wiring
individual targets do what the user expects. (submitted by tegge@FreeBSD.org)

Fix an EDT node leak.  Target nodes would never go away.

Implement xpt_bus_deregister().
(prodded by some patches from T. Ichinoseki, but implemented differently.)
2000-01-14 23:08:46 +00:00
Bill Paul
261b9b3066 Add driver support for the Aironet 4500/4800 series wireless 802.11
NICs. (Finally!) The PCMCIA, ISA and PCI varieties are all supported,
though only the ISA and PCI ones will work on the alpha for now.
PCCARD, ISA and PCI attachments are all provided. Also provided an
ancontrol(8) utility for configuring the NIC, man pages, and updated
pccard.conf.sample. ISA cards are supported in both ISA PnP and hard-wired
mode, although you must configure the kernel explicitly to support the
hardwired mode since you have to know the I/O address and port ahead
of time.

Special thanks to Doug Ambrisko for doing the initial newbus hackery
and getting it to work in infrastructure mode.
2000-01-14 20:41:03 +00:00
Bruce Evans
f9ad65b0f2 Forward declare some structs so that this header is more self-suifficent. 2000-01-14 19:54:42 +00:00
Guido van Rooij
b33271069e Apply patches in rev 1.2 and 1.9 that I forgot
Pointe out by:	bde
2000-01-14 19:48:42 +00:00
Bruce Evans
d3efeb2865 Use MALLOC_DECLARE when it is #defined, not when a (wrong) test of
__FreeBSD_version succeeds.
2000-01-14 19:47:07 +00:00
Matthew N. Dodd
1ef4c904b6 Oops! We need an entry for if_ie still. Change a few nits
while I'm here.
2000-01-14 18:50:40 +00:00
Bill Paul
e4f25e405c Fix multicast filter programming. 2000-01-14 17:03:00 +00:00
Peter Wemm
99904c75f7 Make this compile - missing ")"; 2000-01-14 15:54:45 +00:00
Luoqi Chen
768d9eee10 Remove pre-CAM aic driver. Support for apm, pccard and pc98 has yet to
be incorporated into the new CAM driver.
2000-01-14 14:18:00 +00:00
KATO Takenori
64a0195e51 Synced with sys/i386/isa/isa_compat.h rev 1.24. 2000-01-14 13:10:22 +00:00
KATO Takenori
e852ba82d4 Synced with sys/i386/i386/userconfig.c rev 1.168. 2000-01-14 13:07:16 +00:00
KATO Takenori
85a13e4332 Synced with sys/i386/conf/GENERIC rev 1.228. 2000-01-14 13:05:33 +00:00
KATO Takenori
81e8342ad3 Synced with options.i386 rev 1.132. 2000-01-14 12:56:42 +00:00
Sheldon Hearn
ade4d795c2 Protect the i386 machine-dependant type definitions of __int64_t
and __uint64_t from lint(1) with /* LONGLONG */ comments.
2000-01-14 10:41:39 +00:00
Peter Wemm
a7c517ceaf Add back the 'at ppbus?' for the lpt etc drivers. Now it's used. 2000-01-14 08:16:28 +00:00
Nicolas Souchu
bdcee5cff6 ppi needs to use a bus method to get this rather than peering inside the
1284 stuff.

Submitted by: Peter Wemm <peter@netplex.com.au>
2000-01-14 08:03:15 +00:00
Rodney W. Grimes
d05257b0f2 Replace beforeinstall target with new variables used by .mk system.
Reviewed by:	marcel, and make world
2000-01-14 07:57:47 +00:00
Peter Wemm
c5191a983c Pre 4.0 tidy up.
Collect together the components of several drivers and export eisa from
the i386-only area (It's not, it's on some alphas too).  The code hasn't
been updated to work on the Alpha yet, but that can come later.

Repository copies were done a while ago.
Moving these now keeps them in consistant place across the 4.x series
as the newbusification progresses.

Submitted by:   mdodd
2000-01-14 07:14:17 +00:00
Bill Paul
cfc5d9f44e Do a few minor cleanups. 2000-01-14 07:08:33 +00:00
Peter Wemm
a9d565fcd2 Don't do device_set_desc() until after checking for PnP probes. Otherwise
things like sound cards can get called "Parallel port".  A note to the
unwary; the isa-pnp devices in the system are probed like PCI - each
device ID is passed to *all* isa probe routines to find the best match.
If the driver is not prepared to deal with this, it must abort in this
scenario or it will try and claim all PnP devices.
2000-01-14 05:03:23 +00:00
Matthew Dillon
173cce7c8e Non-operational change, fix compiler warning.
Reviewed by:  mckusick
2000-01-14 04:39:28 +00:00
Justin T. Gibbs
9bfb3cb2c7 The error status for a scsi status error is "CAM_SCSI_STATUS_ERROR", not 0. 2000-01-14 03:39:30 +00:00
Justin T. Gibbs
9c0b8410b8 adv_pci.c:
Update list of supported products.
	Adjust probe message to include the ASC3030.

advansys.c:
	Fix a long standing bug in the error recovery strategy.  In order
	to keep recovery simple, we freeze the SIMQ, stopping the XPT from
	submitting new requests.  Unfortunately, we also will freeze the
	SIMQ if bus_dmamap_load blocks or we run out of controller resources.
	On cards with limited resources it was possible to freeze the
	SIM a second time and never unfreeze it.  Now we more carefully
	track our exception state so we never freeze the SIMQ more than
	once.

	Don't rely on pointers fitting in a 32bit field stored in the
	per-transaction data structures on the card.  Use an index to
	an array of transaction mapping structures instead.  This should
	allow this driver to work on the Alpha.

	Deal with the ASC3030 which is almost idistinguishable from the
	ASC3050.  Unfortunately the ASC3030 does not work at Ultra speeds,
	so if we can't find an eeprom, we must assume that ultra is disabled.
	The SIIG cards using the 3030 do not have eeproms.  As a side effect,
	we now honor the ultra disable bit in the eeprom if it is present.

	Don't bother attempting to write corrected eeprom data back to the
	eeprom.  We can function just fine if the data is corrupted and
	I'd rather not risk messing up the user's eeprom.

	Modify the interrupt handler to catch latched external bus rests.

	Dynamically determine the maximum number of S/G elements we can
	map at a single time.  The nature of the firmware interface for
	these cards makes this value dependent on the number of "queues"
	the card can support.

advlib.c:
advlib.h:
advmcode.c:
advmcode.h:
	Synchronize with the latest firmware image released in the
	Linux Advansys driver.
2000-01-14 03:33:38 +00:00
Bill Paul
0177987224 Add device driver support for USB ethernet adapters based on the CATC
USB-EL1202A chipset. Between this and the other two drivers, we should
have support for pretty much every USB ethernet adapter on the market.
The only other USB chip that I know of is the SMC USB97C196, and right
now I don't know of any adapters that use it (including the ones made
by SMC :/ ).

Note that the CATC chip supports a nifty feature: read and write combining.
This allows multiple ethernet packets to be transfered in a single USB
bulk in/out transaction. However I'm again having trouble with large
bulk in transfers like I did with the ADMtek chip, which leads me to
believe that our USB stack needs some work before we can really make
use of this feature. When/if things improve, I intend to revisit the
aue and cue drivers. For now, I've lost enough sanity points.
2000-01-14 03:14:49 +00:00
Jason Evans
bfbbc4aa44 Add aio_waitcomplete(). Make aio work correctly for socket descriptors.
Make gratuitous style(9) fixes (me, not the submitter) to make the aio
code more readable.

PR:		kern/12053
Submitted by:	Chris Sedore <cmsedore@maxwell.syr.edu>
2000-01-14 02:53:29 +00:00
Bill Paul
4c645f4852 Pull my head out of my ass and actually make the tx netisr stuff work right.
Do not not not call m_freem() in the txeof routines. Let the netisr routine
do it. This also makes the tx netisr queuing much simpler (I can just use
another ifqueue instead of the mess I had before.)

Thanks to Bosko Milekic for making me actually think about what I was
doing for a minute.
2000-01-14 01:36:16 +00:00
Bill Paul
f1a80ccf63 Clean up rxeof routines a little. 2000-01-14 00:49:28 +00:00
Nicolas Souchu
0f210c922b Port of ppbus standalone framework to the newbus system.
Note1: the correct interrupt level is invoked correctly for each driver.
       For this purpose, drivers request the bus before being able to
       call BUS_SETUP_INTR and BUS_TEARDOWN_INTR call is forced by the ppbus
       core when drivers release it. Thus, when BUS_SETUP_INTR is called
       at ppbus driver level, ppbus checks that the caller owns the
       bus and stores the interrupt handler cookie (in order to unregister
       it later).

       Printing is impossible while plip link is up is still TRUE.
       vpo (ZIP driver) and lpt are make in such a way that
       using the ZIP and printing concurrently is permitted is also TRUE.

Note2: specific chipset detection is not done by default. PPC_PROBE_CHIPSET
       is now needed to force chipset detection. If set, the flags 0x40
       still avoid detection at boot.

Port of the pcf(4) driver to the newbus system (was previously directly
connected to the rootbus and attached by a bogus pcf_isa_probe function).
2000-01-14 00:18:06 +00:00
Bill Paul
e562c84330 Fix instance of AUE_BUFSZ that should have been AUE_CUTOFF. 2000-01-13 23:40:00 +00:00
Bill Paul
c76ce56239 Remove debug printf I left in by mistake. 2000-01-13 20:53:49 +00:00
Matthew Dillon
34ddf54812 The alpha build cuases the 'nfsuid bloated' warning to occur. Well,
there is nothing we can do about it.  In fact, after further review
    there simply are not very many instances of the two structures NFS
    checks for 'bloat' so I've decided to simply rip the checks out entirely.

Submitted by:	 Andrew Gallatin <gallatin@cs.duke.edu>
2000-01-13 20:18:25 +00:00
Bill Paul
278b83e09b Regenerate. 2000-01-13 20:17:11 +00:00
Bill Paul
4f0a6f0403 Bunch of updates:
- Add vendor/device ID for Corega USB-T ethernet adapter to necessary
  places so that it will work with the kue driver.

- Add vendor/device ID for CATC Netmate devices for driver to be added
  soon.

- Get really crazy about netisr stuff: avoid doing any mbuf allocations
  or deallocations at splbio/splusb.

- Fix if_aue driver so that it works with LinkSys USB100TX: you need
  to flip the GPIO bits just the right way to put the PHY in the right
  mode.
2000-01-13 20:13:58 +00:00
Kirk McKusick
d7127837a2 Confirming Peter's fix (locking 101: release the lock before you go
to sleep). Locking 101, part 2: do not look at buffer contents after
you have been asleep. There is no telling what wonderous changes may
have occurred.
2000-01-13 20:03:22 +00:00
Guido van Rooij
0f9f7e9f23 Bring over ipfilter kernel sources, including merging the local modifications. 2000-01-13 19:01:33 +00:00
Peter Wemm
7f473504e6 Free the global softupdates lock prior to tsleep() in getdirtybuf().
This seems to be responsible for a bunch of panics where the process
sleeps and something else finds softupdates "locked" when it shouldn't
be.  This commit is unreviewed, but has been a big help here.
Previously my boxes would panic pretty much on the first fsync() that
wrote something to disk.
2000-01-13 18:48:12 +00:00
Matt Jacob
ec9509a376 add MAINTAINER file for clarity 2000-01-13 18:45:14 +00:00
Yoshinobu Inoue
ba9b06509a fix wrong name which is hidden by wrong ifdef.
Sorry for build failure. There was a mistake when I moved the patch
from my build check machine to commit machine.

Specified by: peter
2000-01-13 15:27:50 +00:00
Yoshinobu Inoue
5d60ed0e69 Change struct sockaddr_storage member name, because following change
is very likely to become consensus as recent ietf/ipng mailing list
discussion. Also recent KAME repository and other KAME patched BSDs
also applied it.

  s/__ss_family/ss_family/
  s/__ss_len/ss_len/

Makeworld is confirmed, and no application should be affected by this change
yet.
2000-01-13 14:52:53 +00:00
Yoshinobu Inoue
21ab895ff5 Clear rt after RTFREE. This might have sometime caused kernel panic at rtfree()
on INET6 enabled environment.
2000-01-13 14:21:30 +00:00
Peter Wemm
87263c3c61 Add missing 'DEVICE_SYSCTLS' to opt_bus.h. This is the (experimental?)
code that exports the bus heirarchy to hw.devices.*
2000-01-13 13:29:51 +00:00
KATO Takenori
1a5f564f56 Synced with sys/dev/syscons/syscons.c rev 1.331. 2000-01-13 12:24:43 +00:00
KATO Takenori
a9d02f5a66 Synced with following changes:
>yokota      2000/01/11 05:39:06 PST
>
>  Modified files:
>    sys/dev/usb          ukbd.c
>    sys/dev/kbd          atkbd.c kbd.c kbdreg.h
>  Log:
>  Rework shifta/ctla/alta key handling.  It appears that there was
>  misunderstanding between the PR originator and me.  I hope I got it
>  right this time.
>
>  Revision  Changes    Path
>  1.22      +4 -1      src/sys/dev/usb/ukbd.c
>  1.21      +1 -8      src/sys/dev/kbd/atkbd.c
>  1.16      +19 -10    src/sys/dev/kbd/kbd.c
>  1.9       +2 -2      src/sys/dev/kbd/kbdreg.h

Submitted by:	yokota
2000-01-13 11:47:42 +00:00
KATO Takenori
50a2971692 Synced with sys/isa/sio.c rev 1.284. 2000-01-13 11:45:33 +00:00
Matthew N. Dodd
d09cfe6b93 Remove old copy of if_ed.c; it is no longer used. 2000-01-13 09:30:18 +00:00
Matthew N. Dodd
39fb813864 Set ifq_maxlen. (to default IFQ_MAXLEN) 2000-01-13 09:13:22 +00:00
Matthew N. Dodd
de9cfdd736 Allow SMP systems with an MCA bus to work properly.
Reviewed by:	peter
2000-01-13 09:09:02 +00:00
Matthew N. Dodd
47a70d921b Implement BUS_{GET,SET,DELETE}_RESOURCE methods. 2000-01-13 09:01:46 +00:00
Matthew N. Dodd
919886a01f Correctly test CF. 2000-01-13 08:49:47 +00:00
Peter Wemm
101c72e44b Remove duplicate DEC 21050 PCI-PCI bridge (0x00011011)
Add an entry for the Toshiba Fast Infra Red controller (0x07011179)
2000-01-13 08:40:10 +00:00
Matthew N. Dodd
69eae97a91 Add a few devices IDs and clarify the SiS 85c496 entry. 2000-01-13 08:01:53 +00:00
Kirk McKusick
1c2ceb2880 Because cylinder group blocks are now written in background,
it is no longer sufficient to get a lock on a buffer to know
that its write has been completed. We have to first get the
lock on the buffer, then check to see if it is doing a
background write. If it is doing background write, we have
to wait for the background write to finish, then check to see
if that fullfilled our dependency, and if not to start another
write. Luckily the explanation is longer than the fix.
2000-01-13 07:20:01 +00:00
Kirk McKusick
94313add1f A panic occurs during an fsync when a dirty block associated with
a vnode has not been written (which would clear certain of its
dependencies). The problems arises because fsync with MNT_NOWAIT
no longer pushes all the dirty blocks associated with a vnode. It
skips those that require rollbacks, since they will just get instantly
dirty again. Such skipped blocks are marked so that they will not be
skipped a second time (otherwise circular dependencies would never
clear). So, we fsync twice to ensure that everything will be written
at least once.
2000-01-13 07:17:39 +00:00
Matthew N. Dodd
1f3e0d3de8 Remove the 'at isa? ...' bits for ex0.
Remove the confusing text about pccard and unit numbers for ep0.
2000-01-13 07:01:13 +00:00
Matthew N. Dodd
6b84907d69 Cosmetic cleanups. 2000-01-13 06:55:35 +00:00
Matthew N. Dodd
a0f5c15f22 Implement a DEVICE_IDENTIFY method. I want to revisit some of this later
but this is enough to get us going.
2000-01-13 06:52:51 +00:00
Matthew N. Dodd
b5e3bc2086 When I converted this driver to newbus I also cleaned up the code
layout.  It seems that I cleaned it up a bit too much and confused a few

if () {
	if () {
	} else {
	}
}

statements in the obvious manner.

This allows the driver to transmit packets again.  *sigh*
2000-01-13 06:46:02 +00:00
Warner Losh
ff95378bb1 Stop the recurring feeling of deja vu
Stop the recurring feeling of deja vu
Stop the recurring feeling of deja vu
Stop the recurring feeling of deja vu

and debounce the eject messages.  We now mark the socket empty in the
interrupt handler, rather than after we've disabled the socket which
happens "much later".
2000-01-13 06:32:33 +00:00
Cameron Grant
724efc44ec attach to non-ac97 neomagic chips and hope that ac97 ones do not have the
same pnpbios id
2000-01-13 06:11:32 +00:00
Cameron Grant
5b4c3f3ca0 be less verbose 2000-01-13 06:00:57 +00:00
Yoshinobu Inoue
8972cdb14e add a comment for some possible? IPv4 option processing. 2000-01-13 05:21:05 +00:00
Yoshinobu Inoue
72e174286c removed incorrect ip6 length setting for IPv6 tcp reset packet. 2000-01-13 05:18:30 +00:00
Yoshinobu Inoue
23ecf4b562 removed an ours case which think a packet destined to loopback interface
with IPv6 loopback addr for its dest or src addr as ours.
2000-01-13 05:12:48 +00:00
Yoshinobu Inoue
fa310a7e3b added missing IPV6_PORTRANGE case. 2000-01-13 05:07:42 +00:00
Yoshinobu Inoue
7a7f8a20cd remove unnecessary "$ifdef INET6" 2000-01-13 05:01:27 +00:00
Andrew Gallatin
6a82a4ba50 add entries for several DEC PCI-PCI bridges & the Cypress PCI-ISA bridge found
on newer alpha workstations and servers
2000-01-13 02:47:36 +00:00
Andrew Gallatin
91dab55369 Make this compile on alpha 2000-01-13 02:09:44 +00:00
Bill Paul
fda39fd069 Reintroduce the dc_coal() workaround routine for coalescing outbound
packets into a single buffer, and set the DC_TX_COALESCE flag for the
Davicom DM9102 chip. I thought I had escaped this problem, but... This
chip appears to silently corrupt or discard transmitted frames when
using scatter/gather DMA (i.e. DMAing each packet fragment in place
with a separate descriptor). The only way to insure reliable transmission
is to coalesce transmitted packets into a single cluster buffer. (There
may also be an alignment constraint here, but mbuf cluster buffers are
naturally aligned on 2K boundaries, which seems to be good enough.)

The DM9102 driver for Linux written by Davicom also uses this workaround.
Unfortunately, the Davicom datasheet has no errata section describing
this or any other apparently known defect.

Problem noted by: allan_chou@davicom.com.tw
2000-01-12 22:24:05 +00:00
Matthew N. Dodd
2b00168c1f Remove a stray splx(s) call. This fixes the compiler warning.
Submitted by:	gibbs
2000-01-12 17:51:01 +00:00
Bill Paul
502c509ce0 Apply the same netisr mechanism to transmissions as well. In order to
drive the transmitter, we have to check the interface's send queue in the
TX end of frame handler (i.e. the usb bulk out callback) and push out new
transmissions if the queue has packets in it and the transmitter is
ready. But the txeof handler is also called from a USB callback running
at splusb() too.

Grrr.
2000-01-12 17:46:40 +00:00
Luoqi Chen
49503b44fd Seconds to ticks conversion was done at the wrong place. 2000-01-12 17:26:42 +00:00
Yoshihiro Takahashi
dad8dd78d6 Merge from sys/conf/files.i386 revision 1.296. 2000-01-12 13:43:23 +00:00
Kazutaka YOKOTA
e2f29c6e43 Make the mouse cursor char code configurable via the CONS_MOUSECTL
ioctl.

By popular demand.
2000-01-12 12:30:33 +00:00
Daniel Eischen
d404cb51ee Add support for detection of the ESS 1878 chip. 2000-01-12 11:16:23 +00:00
Matthew N. Dodd
c7c26de958 Speedup if_start routine a little. TX threshold logic needs some more
kicking but these changes get me around 1000 KB/sec.
2000-01-12 06:42:49 +00:00
Matthew N. Dodd
2ff4e76374 Fix the performance problems I caused by setting ifq_maxlen to 8.
Use IFQ_MAXLEN instead.  This seemed like a good idea at the time since
most 3c509s have all of 2k for their TX fifo.  My intention was to revisit
ifq_maxlen and auto-scale it or something.

ttcp-t: 16777216 bytes in 21.53 real seconds = 761.07 KB/sec +++
ttcp-t: 2771 I/O calls, msec/call = 7.96, calls/sec = 128.72
ttcp-t: 0.0user 2.9sys 0:21real 13% 20i+280d 222maxrss 0+2pf 717+0csw

ttcp-r: 16777216 bytes in 14.11 real seconds = 1161.48 KB/sec +++
ttcp-r: 2050 I/O calls, msec/call = 7.05, calls/sec = 145.33
ttcp-r: 0.0user 1.4sys 0:14real 10% 87i+1198d 196maxrss 0+1pf 1949+186csw

I've got some tweaks that move the TX speed up to the RX speed but I've
got to groom them from the mess I've made of my source tree.

Yelled at by:	wpaul
2000-01-12 05:27:08 +00:00
David E. O'Brien
c201f69bed Sort. 2000-01-12 02:30:42 +00:00
Bill Paul
8647d85ac3 Correctly set the data length when transmitting 802.3 frames (we need to
subtract the length of the SNAP header).
2000-01-12 00:57:27 +00:00
Kazutaka YOKOTA
def6f6178c Add opt_ukbd.h. 2000-01-12 00:46:08 +00:00
Bill Paul
611d6a1573 Straighten out the logic in kue_setmulti() a little (the case where we
have no multicast entries to add is not handled right).
2000-01-11 18:09:19 +00:00
Peter Wemm
d0e12656b8 Add $FreeBSD$
Make the alpha linker script more like the i386 version - delete the
/usr/local and egcs directories
2000-01-11 15:35:16 +00:00
Peter Wemm
07997cf9cd Aiee! I committed the wrong conf/files. Replace the changes for newppbus
with the intended changes.
Drop db_aout.c from files, let db_kld.c do the work.

Noticed by:	bde
2000-01-11 14:54:09 +00:00
Kazutaka YOKOTA
35e61cbd71 Add a new mechanism, cndbctl(), to tell the console driver that
ddb is entered.  Don't refer to `in_Debugger' to see if we
are in the debugger.  (The variable used to be static in Debugger()
and wasn't updated if ddb is entered via traps and panic anyway.)

- Don't refer to `in_Debugger'.
- Add `db_active' to i386/i386/db_interface.d (as in
  alpha/alpha/db_interface.c).
- Remove cnpollc() stub from ddb/db_input.c.
- Add the dbctl function to syscons, pcvt, and sio. (The function for
  pcvt and sio is noop at the moment.)

Jointly developed by: bde and me

(The final version was tweaked by me and not reviewed by bde.  Thus,
if there is any error in this commit, that is entirely of mine, not
his.)

Some changes were obtained from: NetBSD
2000-01-11 14:54:01 +00:00
Kazutaka YOKOTA
7642cc829e Rework shifta/ctla/alta key handling. It appears that there was
misunderstanding between the PR originator and me.  I hope I got it
right this time.
2000-01-11 13:39:05 +00:00
Peter Wemm
5dfaebe1c3 Unused file. This (NetBSD derived) file was obsoleted by kld. 2000-01-11 13:29:10 +00:00
Peter Wemm
63aad530bc Fix a typo in the db_kld.c file - it's kld support not raw a.out support.
Always use db_kld.c for symbol table support as the base kernel maintains
this information.
2000-01-11 13:25:12 +00:00
Cameron Grant
e7fb32964c exclude chips with subdevices specified on a list of non-ac97 chips 2000-01-11 10:37:16 +00:00
Kirk McKusick
4ed62fbd7f The only known cause of this panic is running out of disk space.
The problem occurs when an indirect block and a data block are
being allocated at the same time. For example when the 13th block
of the file is written, the filesystem needs to allocate the first
indirect block and a data block. If the indirect block allocation
succeeds, but the data block allocation fails, the error code
dellocates the indirect block as it has nothing at which to point.
Unfortunately, it does not deallocate the indirect block's associated
dependencies which then fail when they find the block unexpectedly
gone (ptr == 0 instead of its expected value). The fix is to fsync
the file before doing the block rollback, as the fsync will flush
out all of the dependencies. Once the rollback is done the file
must be fsync'ed again so that the soft updates code does not find
unexpected changes. This approach is much slower than writing the
code to back out the extraneous dependencies, but running out of
disk space is not expected to be a common occurence, so just getting
it right is the main criterion.

PR:		kern/15063
Submitted by:	Assar Westerlund <assar@stacken.kth.se>
2000-01-11 08:27:00 +00:00
Kirk McKusick
10767f840b We cannot proceed to free the blocks of the file until the dependencies
have been cleaned up by deallocte_dependencies(). Once that is done, it
is safe to post the request to free the blocks. A similar change is also
needed for the freefile case.
2000-01-11 06:52:35 +00:00
Bill Paul
a0067d7b89 Attempt to fix a problem with receiving packets on USB ethernet interfaces.
Packets are received inside USB bulk transfer callbacks, which run at
splusb() (actually splbio()). The packet input queues are meant to be
manipulated at splimp(). However the locking apparently breaks down under
certain circumstances and the input queues can get trampled.

There's a similar problem with if_ppp, which is driven by hardware/tty
interrupts from the serial driver, but which must also manipulate the
packet input queues at splimp(). The fix there is to use a netisr, and
that's the fix I used here. (I can hear you groaning back there. Hush up.)

The usb_ethersubr module maintains a single queue of its own. When a
packet is received in the USB callback routine, it's placed on this
queue with usb_ether_input(). This routine also schedules a soft net
interrupt with schednetisr(). The ISR routine then runs later, at
splnet, outside of the USB callback/interrupt context, and passes the
packet to ether_input(), hopefully in a safe manner.

The reason this is implemented as a separate module is that there are
a limited number of NETISRs that we can use, and snarfing one up for
each driver that needs it is wasteful (there will be three once I get
the CATC driver done). It also reduces code duplication to a certain
small extent. Unfortunately, it also needs to be linked in with the
usb.ko module in order for the USB ethernet drivers to share it.

Also removed some uneeded includes from if_aue.c and if_kue.c

Fix suggested by: peter
Not rejected as a hairbrained idea by: n_hibma
2000-01-10 23:12:54 +00:00
Nick Hibma
3a08f9ce41 Add an extra debugging message. 2000-01-10 22:33:43 +00:00
Nick Hibma
57d56d6643 Add Sun keyboard and NetChip 2000-01-10 22:31:01 +00:00
Marcel Moolenaar
0484ef81d9 Update syscalls to Linux kernel 2.3.38. These syscalls are
implemented as dummies to ease problem solving.
2000-01-10 22:19:06 +00:00
Marcel Moolenaar
20ebea30eb Update the syscalls to Linux kernel 2.3.38. 2000-01-10 22:16:35 +00:00
Archie Cobbs
0bd38143fa Add a comment to hopefully prevent more bugs like kern/8596. 2000-01-10 19:34:40 +00:00
Ruslan Ermilov
5db1e34ea4 MGETHDR() does not initialize m_pkthdr.rcvif, do it here.
This fixes page fault panic observed when diverting packets
with IP options (e.g. ping -R remoteIP over natd).

PR:	kern/8596, kern/11199
2000-01-10 18:46:05 +00:00
Marcel Moolenaar
759eb4613e Return Linux kernel version 2.2.12 by default. This is in line
with linux_base-6.1.
2000-01-10 13:09:08 +00:00
Kazutaka YOKOTA
689e7081eb Added PCIR_BIOS (0x30). 2000-01-10 12:53:19 +00:00
Poul-Henning Kamp
200988017c remove check now done in vn_isdisk(). 2000-01-10 12:24:36 +00:00
Poul-Henning Kamp
d685023e68 Also handle zero return from dscheck().
PR:		15956
2000-01-10 12:21:39 +00:00
Poul-Henning Kamp
86807e1622 Remove controller miibus, there already were a device miibus. 2000-01-10 12:06:32 +00:00
Poul-Henning Kamp
ba4ad1fcea Give vn_isdisk() a second argument where it can return a suitable errno.
Suggested by:	bde
2000-01-10 12:04:27 +00:00
Alfred Perlstein
a9dd30b96b revision 1.40 backed out the removal of PCATCH in a tsleep allowing
an infinite loop if a signal is delivered here.
remove it again, this still ought to be revisited as the error should
probably be returned.
2000-01-10 10:24:47 +00:00
Kazutaka YOKOTA
56f5e27c4b Obtain the initial key repeat rate setting via BIOS in i386 if
possible.
2000-01-10 08:52:32 +00:00
Kazutaka YOKOTA
934d11e395 Add some keyboard IDs. 2000-01-10 08:50:43 +00:00
Kazutaka YOKOTA
4d00f04203 Rework the algorithm to detect MDA/CGA/EGA/VGA cards, so that
the vga driver won't be fooled to believe it has a CGA card when
in fact it is a VGA card.
2000-01-10 08:49:49 +00:00
Alexey Zelkin
fc76d115ae . add manpage for svr4(8)
. s/freebsd/FreeBSD
2000-01-10 08:48:11 +00:00
Kazutaka YOKOTA
e066609ffd - Fix typo: CGA40 -> CGA80
- Remove erroneous comments.
2000-01-10 08:47:04 +00:00
Kirk McKusick
26e5527c86 Missing FREE_LOCK call before handle_workitem_freeblocks.
Submitted by:	"Kenneth D. Merry" <ken@kdm.org>
2000-01-10 08:39:03 +00:00
Warner Losh
90bba6bf72 Move xe driver from dev/pccard to dev/xe. Convert driver to newbus.
Driver is not functional yet, but does compile.  Tests with xe cards
indicates that it doesn't panic the machine when they are present, but
fail to probe.  Interface help in the pcic/pccard layers are needed to
complete this driver.
2000-01-10 08:05:53 +00:00
Warner Losh
310086415a Panic if proc0 hasn't been created and we try to call kthread_create.
This prevents a more mysterious crash later.

XXX The long term solution is defer creation of these things until
XXX proc0 lives
2000-01-10 08:00:58 +00:00
Cameron Grant
898cb2af53 make dsp_read() assert that it has a read channel, not a write channel
Submitted by:	green
2000-01-10 07:05:15 +00:00
Warner Losh
78ae73b5ea Eliminate pccard_chip_* tonight.
o ifdef out pccardchip.h (almost all of it, there are dangling bits
o Add rid/res members to pccard_function
o remove pct/pch from pccard_softc
o map memory properly in scan_cis (almost, see XXX for more work)
o manage ccr.
o remove bogus comment I added about touching the ccr being a layering
  violation for pccard.  It is properly done at that level.
o More function prototyping
2000-01-10 06:58:17 +00:00
Cameron Grant
10b23f4c02 don't complain about bad intrs unless we get 1000 of them consecutively
whilst we are playing or recording.  since we should irq ~20 times/sec when
active, this should never trigger.  in theory.  if it never does trigger,
the check will be removed.
2000-01-10 06:19:20 +00:00
Warner Losh
82af5353b0 Add some comments about things that have become bad as I've been
working on this code, or things that I think are layering violations.
Plus a minor whitespace cleanup in one place while I'm at it.
2000-01-10 06:17:27 +00:00
Warner Losh
796b3a67c3 Add new resource flag type: RF_PCCARD_ATTR for pccard's attribute memory.
This was suggested by Doug a while ago.
2000-01-10 06:13:52 +00:00
Sean Eric Fagan
893618352c Handle the case where we truss an SUGID program -- in particular, we need
to wake up any processes waiting via PIOCWAIT on process exit, and truss
needs to be more aware that a process may actually disappear while it's
waiting.

Reviewed by:	Paul Saab <ps@yahoo-inc.com>
2000-01-10 04:09:05 +00:00
Cameron Grant
9090c22ce7 general tidyup 2000-01-10 03:22:28 +00:00
Warner Losh
e9cb811b17 Commit kernel part of patches to get the 3Com OfficeConnect 3CXSH572BT
working on -current.

Submitted by: Eric D. Futch <efutch@nyct.net>
Approved by: mdodd
2000-01-10 02:32:43 +00:00
Warner Losh
89ce66ed87 Uncomment pcic device and put pccard in GENERIC. PCCARD will be removed
in a little while as soon as I find all the places it is used in the
tree.
2000-01-10 02:29:23 +00:00
Cameron Grant
4ee074718b return the sample rate set instead of 0. oops. mpg123 should now work. 2000-01-10 01:59:12 +00:00
Justin T. Gibbs
dbf94fd693 Avoid setting DPARCKEN until I can figure out why it causes
spurious parity errors on some controllers.
2000-01-10 01:47:51 +00:00
Kirk McKusick
cf60e8e4bf Several performance improvements for soft updates have been added:
1) Fastpath deletions. When a file is being deleted, check to see if it
   was so recently created that its inode has not yet been written to
   disk. If so, the delete can proceed to immediately free the inode.
2) Background writes: No file or block allocations can be done while the
   bitmap is being written to disk. To avoid these stalls, the bitmap is
   copied to another buffer which is written thus leaving the original
   available for futher allocations.
3) Link count tracking. Constantly track the difference in i_effnlink and
   i_nlink so that inodes that have had no change other than i_effnlink
   need not be written.
4) Identify buffers with rollback dependencies so that the buffer flushing
   daemon can choose to skip over them.
2000-01-10 00:24:24 +00:00
Kirk McKusick
bd5f5da94d Add bwillwrite to all system calls that create things in the filesystem.
Benchmarks that create huge trees of empty files overwhelm the buffer cache.
2000-01-10 00:08:53 +00:00
Kirk McKusick
411e1480fd Remove the P_BUFEXHAUST flag from the syncer process (leaving
it only on the buf_daemon process). The problem is that when the
syncer process starts running the worklist, it wants to delete
lots of files. It does this by VFS_VGET'ing the vnodes, clearing
the blocks in them and bdwrite'ing the buffer. It can process close
to a thousand files per second which generates a large number of
dirty buffers. So, giving it special priviledge at the buffer trough
leads to trouble as the buf_daemon does occationally need a free
buffer to proceed and if the syncer has used every last one up,
we are toast.
2000-01-10 00:07:24 +00:00
Kirk McKusick
f0f7d38386 Keep tighter control of removal dependencies by limiting the number
of dirrem structure rather than the collaterally created freeblks
and freefile structures. Limit the rate of buffer dirtying by the
syncer process during periods of intense file removal.
2000-01-09 23:35:38 +00:00
David E. O'Brien
5e93c21150 * Add `sym' SCSI driver options.
* bring in NIC comments from GENERIC
* slightly reorder a few things in an feable attempt at making the
  organization of LINT more logical.
2000-01-09 23:33:38 +00:00
Kirk McKusick
3f5b28bc07 Reorganize softdep_fsync so that it only does the inode-is-flushed
check before the inode is unlocked while grabbing its parent directory.
Once it is unlocked, other operations may slip in that could make
the inode-is-flushed check fail. Allowing other writes to the inode
before returning from fsync does not break the semantics of fsync
since we have flushed everything that was dirty at the time of the
fsync call.
2000-01-09 23:14:57 +00:00
Kirk McKusick
e2dc60835d Get rid of unreferenced function. 2000-01-09 22:42:42 +00:00
Kirk McKusick
83aaf63ab2 Make static non-exported functions from soft updates. 2000-01-09 22:40:09 +00:00
Matt Jacob
e85919b9f8 change debug printout lefvels for a couple of places 2000-01-09 21:47:39 +00:00
Bill Paul
234c72c615 Close PR# 15986: issue an RX reset command when initializing the interface,
but only for those cards that don't use miibus (i.e. all the 10mbps only
cards, and the 100baseFX card).

PR:	kern/15986
2000-01-09 21:12:59 +00:00