Commit Graph

13021 Commits

Author SHA1 Message Date
Nick Hibma
da3ff61390 Fixed warning in usr.sbin/usbd 1998-12-12 11:57:59 +00:00
Nick Hibma
b3f65f42c0 When no driver was found for a device, the message 'not probed' appeared
This is odd, especially in the case of USB where the driver is found
in several tries: vendor specific, class specific, interface specific.
The mouse driver is found at the interface specific level...
Reviewed by:	Doug Rabson (dfr@freebsd.org)
1998-12-12 11:30:04 +00:00
Warner Losh
69acd21dfd Add support for the YE-Data external PCMCIA floppy driver. This
floppy is used on the toshiba Libretto line of subnotebook computers.
It differs from a normal floppy in that you must use PIO rather than
DMA to transfer the data.

To enable this, you must add options "FDC_YE" to your kernel.  I don't
have a machine that has a floppy and a pcmcia slot to test to make
sure that this doesn't impact normal floppy units, so I've left this as
an option.

I have ported this to -current and made an attempt to ensure that the
indentation conforms to style(9), aka the bruce filter.

Reviewed by:	nate, markm
Submitted by:	David Horwitt (dhorwitt@ucsd.edu)
1998-12-12 08:16:01 +00:00
Poul-Henning Kamp
93e31e2f3c Set and propagate the correct cause code values.
Submitted by: Mike Spengler <mks@circe.networkcs.com>
1998-12-11 21:47:47 +00:00
Poul-Henning Kamp
439872d909 Copy application name and connection attributes for accept() sockets from
listen() socket.

Allow setsockopt(APPLNAME) after socket is connected.
1998-12-11 21:47:21 +00:00
Poul-Henning Kamp
48672719c3 (almost) null commit, recording message for previous commit:
s/_NET_IF_HDLC_H_/_NET_IF_SPPP_H_/

Unfold almost correct and hideous beyond reason, boolean expression,
making it more correct at the same time.
1998-12-11 21:42:57 +00:00
Poul-Henning Kamp
34d528017b *** empty log message *** 1998-12-11 21:40:13 +00:00
KATO Takenori
77d493c5b5 Sync with sys/i386/isa/lpt.c revision 1.72. 1998-12-11 08:48:21 +00:00
KATO Takenori
e4a8d41703 Sync with sys/i386/i386/machdep.c revision 1.317. 1998-12-11 08:04:33 +00:00
Matt Jacob
ed744c4e51 Some fixes to handle fixed mode and variable mode more sensibly- and also
incorporate some notion of which revision the device is. If it's < SCSI2, for
example, READ BLOCK LIMITS is not a MANDATORY command.

At any rate, the initial state is to try and read block limits to get a notion
of the smallest and largest record size as well as the granularity. However,
this doesn't mean that the device should actually *in* fixed block mode should
the max && min  be equal... *That* choice is (for now) determined by whether
the device comes up with a blocksize of nonzero. If so, then it's a fixed block
preferred device, otherwise not (this will change again soon).

When actually doing I/O, and you're in fixed length mode, the block count is
*not* the byte count divided by the minimum block size- it's the byte count
divided by the current blocksize (or use shift/mask shortcuts if that worked
out...).

Then when you *change* the blocksize via an ioctl, make sure this actually
propagates to the stored notion of blocksize (and update the shift/mask
shortcuts).

Misc Other:
	When doing a mode select, only use the SCSI_SAME_DENSITY (0x7f) code if
the device is >= SCSI2- otherwise just use the saved density code.

	Recover from the ripple of ILLEGAL REQUEST not being 'retried' in that
RESERVE/RELEASE is not a mandatory command for < SCSI2 (so ignore it if it
fails).
1998-12-11 07:19:36 +00:00
Julian Elischer
8cbe8a3ebf If we failed to probe/attach somehow, we never have a sc->sc_hcca
but the present PCI probe code still thinks we are there as the pci attach
can't return an error code.

This means we are in the shared interrupt list, but have not been set up.
If we are sharing ints with another device, ohci_intr will be called and will
coredump on a NULL reference. So just return if it is called when not set up.

This fixes the symptom and not the cause.
The right answer is to let the PCI system know that the attach failed,
or to fail earlier (in the PCI probe).
The attach() is a void fn() so it can't return failure..
1998-12-11 06:02:06 +00:00
Justin T. Gibbs
57c2edb48f Convert dadump to use reasonable data types so that some casting is unecessary. 1998-12-11 03:54:43 +00:00
Justin T. Gibbs
a0f37f55ee Do not attempt to retry commands that fail with ILLEGAL REQUEST status. 1998-12-11 03:53:05 +00:00
Justin T. Gibbs
4c196f451c Remove unsued variable.
If we are not transfering any data, use a non S/G ccb type that doesn't
return residual information.  It seems that some firmware revisions dislike
S/G ccbs with 0 length S/G lists.

Correct bt_cmd() so that we always honor command status that was latched
by our interrupt routine while polling for completion..
1998-12-11 03:50:35 +00:00
Nick Hibma
8a1e798f6c Fixed same as Julian did in uhci_pci.c and fixed the fetching of the revision ohci_pci.c; clean up 1998-12-11 00:09:54 +00:00
Nick Hibma
7ee72fdb25 Reversed the order of the USB devices, makes sure the ugen device is probed last 1998-12-10 23:36:46 +00:00
Mike Smith
8f9e83e526 Perform APM power-off on power-off request, not halt request. 1998-12-10 23:36:14 +00:00
Julian Elischer
3265f363c6 The shift and the masking were in the wrong order for extracting
the INTERFACE type byte from the longword register.
1998-12-10 22:07:05 +00:00
Julian Elischer
1f35e8c8da Remove some compiler warnings. 1998-12-10 20:11:47 +00:00
Eivind Eklund
2ae353f9a7 Rename one of the two devfs_link's to devfs_makelink. 1998-12-10 19:57:01 +00:00
Bill Paul
a43b75fe5e Silence gcc -Wall -ansi -pedantic.
Pointed out by: Eivind
1998-12-10 19:02:07 +00:00
Brian Somers
db21d4f4fc Support ESS1868 (and probably ESS688 & ESS1668).
Submitted by: Max Khon <fjoe@husky.iclub.nsu.ru>
1998-12-10 18:36:10 +00:00
Bill Paul
6ab0ab275d Silence gcc -Wall -ansi -pedantic and fix minor bug in xl_txeof().
Pointed out by: Eivind
1998-12-10 16:18:43 +00:00
Jordan K. Hubbard
57da30bfc9 linux_pipe does not preserve the edx register. Linux and
programs using glibc expect edx to be preserved accross syscalls.
As a result, linux programs running in emulation mode can
have whatever value may be represented by edx clobbered.

PR:		9038
Submitted-By:	Richard Seaman, Jr. <dick@tar.com>
1998-12-10 13:47:18 +00:00
Justin T. Gibbs
4dd5dcaecd Revamp the way that exceptional message handling is performed so that it
is more robust and common code can be used for both the target and iniator
roles.  The mechanism for tracking negotiation state has also been simplified.

Add support for sync/wide negotiation in target mode and fix many of
the target mode bugs running at higher speeds uncovered.  Make a first
stab at getting all of the bus skew delays correct.  Sync+Wide dataout
transfers still cause problems, but this may be an initiator problem.

Ensure that we exit BITBUCKET mode if the controller is restarted.

Add support for target mode only firmware downloads.  This has been
tested on the aic7880, but should mean that we can perform target mode
on any aic7xxx controller.  Mixed mode (initiator and target roles in
the same firmware load) is currently only supported on the aic7890, but
with optimization, may fit on chips with less instruction space.
1998-12-10 04:14:50 +00:00
Justin T. Gibbs
4227e01d4d Convert debugging printfs to the CAM_DEBUG macro.
Allow sync transfers if the controller supports it.  Wide will follow
as soon as I get the kinks worked out of wide target transfers in the
aic7xxx driver (currently the only target mode driver in the tree).
1998-12-10 04:07:42 +00:00
Justin T. Gibbs
9819265820 Expand the hba_misc fied in the Path Inquiry ccb to allow a controller driver
to specify that it does not provide initiator services (PIM_NOINITIATOR)
and that the initial bus reset for device probing should be avoided
(PIM_NOBUSRESET).

Modify the XPT layer to honor these flags.
1998-12-10 04:05:49 +00:00
Archie Cobbs
e43f5ffbb8 Eliminate compiler warning. 1998-12-10 02:31:08 +00:00
Archie Cobbs
ec42b6caff Eliminate compiler warning. 1998-12-10 02:02:30 +00:00
Jordan K. Hubbard
337c96916f poll(2) sets POLLNVAL for descriptors passed in that are less than
0.  This makes it difficult to do efficient manipulation of the
struct pollfd since you can't leave a slot empty.

PR:		8599
Submitted-by:	Marc Slemko <marcs@znep.com>
1998-12-10 01:53:26 +00:00
Archie Cobbs
bd3d61e39f Eliminate compiler warning. 1998-12-10 01:52:16 +00:00
Steve Price
b6e744b572 Cleanup up the wording for the F00F bug workaround message.
PR:		8041
Submitted by:	Dan Nelson <dnelson@emsphone.com>
1998-12-10 01:49:01 +00:00
Robert V. Baron
efb73e5aca In ktrwrite, use uio_procp = curproc vs 0 1998-12-10 01:47:41 +00:00
Archie Cobbs
4b62fdebb8 Eliminate compiler warnings. 1998-12-10 01:42:32 +00:00
Nick Hibma
97797dc959 Various bug fixes:
1) Removed 'emulation' of bitmaps in printfs, FreeBSD seems to have caught
  up on that one
2) Fixed a few bugs in the timeout/timo timeout variables
3) First attempt at fixing a bug mentioned by Kazu: uhci_run is not able
  start/stop his USB host on his motherboard.
1998-12-09 23:36:15 +00:00
Nick Hibma
a48e33e094 Preliminary support for OHCI motherboards 1998-12-09 23:28:43 +00:00
Nick Hibma
d584bf7a28 1) Fixed bug: sc was used unitialised in uhci_run
2) Clean up the code and remove superfluous statements
1998-12-09 23:23:13 +00:00
Dmitrij Tejblum
fc56545639 Don't disable mmap with large file offset. 1998-12-09 20:22:21 +00:00
Eivind Eklund
5fd7941bd3 Remove the if fixed in the last commit; bde quite correctly point out
that it can never fail.
1998-12-09 15:12:53 +00:00
Eivind Eklund
63bd338384 Back out last change; there was 'fixup' code for the case later.
Noticed by:	bde
1998-12-09 13:48:08 +00:00
Eivind Eklund
0d8e97fbaf Someday I hope people will learn that "#endif" is not a comment
introducer in ANSI C.
1998-12-09 03:30:52 +00:00
Eivind Eklund
80524be65c If we're not going to check returnvalues, it had better be M_WAITOK.
M_NOWAIT -> M_WAITOK in attach.
1998-12-09 03:11:33 +00:00
Eivind Eklund
11e8322cac Move the return so that the DEVFS code can execute, too. All code is
equal (it is just that some is more equal than other).
1998-12-09 02:56:48 +00:00
Eivind Eklund
d51523c6c9 Get rid of CTLTYPE_OPAQUE in a SYSCTL_OPAQUE - it is added my the
SYSCTL_OPAQUE macro.
1998-12-09 02:26:45 +00:00
Eivind Eklund
98b5612b47 malloc(xxx, yyy, M_WAITOK) does not fail. This probably explains why
the bug in the check had never been discovered.
1998-12-09 02:18:53 +00:00
Eivind Eklund
bf51e54f46 Make compare correct with unsigned types. (Problem introduced by Lite/2). 1998-12-09 02:06:27 +00:00
Eivind Eklund
cd0f360aeb Check return value of malloc. 1998-12-09 01:33:03 +00:00
Eivind Eklund
626bfed6f6 Bailing out when malloc returns != NULL will not help anybody. 1998-12-09 01:27:29 +00:00
Eivind Eklund
761d24ba21 Adjust prototype to match definition (by adding a 'const'). 1998-12-09 01:12:18 +00:00
Eivind Eklund
d27dddc9d5 Fix typo (; in "if (vp == NULL);"). 1998-12-08 23:11:24 +00:00
Eivind Eklund
290e3eed11 Better error checking. 1998-12-08 20:41:05 +00:00
KATO Takenori
8b14dec9ba Use CNAME macro for pc98_system_parameter, which is referenced from C
source.

Submitted by:	Masanori Kanaoka <kana@saijo.mke.mei.co.jp>
1998-12-08 10:22:31 +00:00
Bruce Evans
e1501bb6eb Backed out the FIOASYNC fix in rev.1.108. fcntl(fd, F_SETFL, flags)
depends on the bug.  It does an FIOASYNC ioctl to sync the setting
of the O_ASYNC "file" flag with drivers even if the setting hasn't
changed.

PR:		9003
1998-12-08 10:22:07 +00:00
KATO Takenori
d021dab50a Sync with sys/i386/conf/Makefile.i386 revision 1.130. 1998-12-08 08:19:45 +00:00
KATO Takenori
e4561e2ae0 Sync with sys/i386/isa/fd.c, if_fe.c, npx.c and sio.c revisions 1.126,
1.44, 1.63 and 1.219, respectively.
1998-12-08 08:18:59 +00:00
KATO Takenori
5a5f82fc61 Sync with sys/i386/i386/userconfig.c revision 1.117. 1998-12-08 08:17:43 +00:00
Warner Losh
f7c9e34bea If there is no .depends file, use the standard ad-hoc way of ensuring
that the generated files are generated before any of the object files.
Also minor cleanup of dependencies in conf/files that I bogusly added
before.

This should fix the requirement that make depend be done starting from
a clean config directory.  If you don't have a clean directory, make
depend is still required if you want the proper .o's to be recompiled.

Reviewed by: bde
1998-12-07 22:36:54 +00:00
Archie Cobbs
f1d19042b0 The "easy" fixes for compiling the kernel -Wunused: remove unreferenced static
and local variables, goto labels, and functions declared but not defined.
1998-12-07 21:58:50 +00:00
Eivind Eklund
4979978b8d Fix grouping of statements. This remove a potential panic in the soft
updates code.  While I'm here, remove an unintended trigraph.

Reviewed by:	Kirk McKusick <kirk@freebsd.org>
1998-12-07 17:23:45 +00:00
Eivind Eklund
f865e453e5 Propagate unsignedness to all variants of 'k', and reorganize the
conditionals to be fully resistent against overflow in unsigned
computations.

Potential problem pointed out by:	bde
Reviewed by:				bde
1998-12-07 16:31:15 +00:00
Andrey A. Chernov
722135c358 unlocalize date
Submitted by: Cejka Rudolf <cejkar@dcse.fee.vutbr.cz>
1998-12-07 16:17:41 +00:00
Andrey A. Chernov
8e3c23be56 Move stime declaration to main block, otherwise can left uninitialized
in rare cases.
Found by: Eivind Eklund <eivind@yes.no>
1998-12-07 07:59:20 +00:00
Eivind Eklund
6572231d20 Clean up some pointer usage. 1998-12-07 05:41:10 +00:00
Eivind Eklund
c4b7d2b697 Remove guard for < 0 on an unsigned variable. 1998-12-07 03:26:34 +00:00
Eivind Eklund
c598db2204 '\0' is the most ugly NULL pointer constant I've ever seen in real code. 1998-12-07 02:47:46 +00:00
Bill Paul
989c9647f2 if_rl.c: make a small tweak to properly handle the Accton MPX 5030/5038
as a RealTek 8139
if_rlreg.h: use bus_space_read_X() in CSR_READ_X() macros instead of
            directly calling inb()/outb() etc...
rl.4 + RELNOTES.TXT: mention that SMC EtherEZ PCI 1211-TX is supported
                     by the RealTek driver
1998-12-07 00:35:06 +00:00
Bruce Evans
f9809f9802 Ifdefed a conditionally used include.
Don't depend on "implicit int".

Don't bloat the data section with labpc_devsw_installed.
1998-12-06 17:58:21 +00:00
Jordan K. Hubbard
7525853ce7 MFC: loosen compare even though bde doesn't like it. 1998-12-06 11:36:24 +00:00
Matt Jacob
0a194dfe3f fix warning messages from previous delta 1998-12-06 00:10:52 +00:00
Matt Jacob
aa872be6f3 use CAM_DEBUG_XPT to track XPT; correct a misspelling 1998-12-06 00:06:48 +00:00
Matt Jacob
373524d467 print the appropriate SCSI revision (with CCS as a proper name for the announce message 1998-12-06 00:05:47 +00:00
Archie Cobbs
2326715f79 Avoid compiler warning (printf arg type mismatch) when compiling #ifdef DEBUG 1998-12-06 00:03:30 +00:00
Matt Jacob
c7f682db21 Add a CAM_DEBUG_XPT define (to debug XPT layer only). Add a CAM_DEBUGGED
macro to be like the CAM_DEBUG macro but to instead provide a predicate
result.
1998-12-05 23:55:48 +00:00
Matt Jacob
80592d5b75 Fix it so that it works on an eb164 when you have a serial console on com1.
Obtained from:gallatin@freebsd.org
1998-12-05 22:36:31 +00:00
Matt Jacob
c7131a684c Add in named SID field revision names (including CCS).
Add in named defines for DEFAULT and NOCHANGE densities (for sequential
access devices).
1998-12-05 22:10:14 +00:00
KATO Takenori
e697d57628 Print out information for write-allocate of AMD CPUs.
Submitted by:	Akio Morita <amorita@meadow.scphys.kyoto-u.ac.jp>
1998-12-05 16:30:55 +00:00
Robert Nordier
b956ca7ca4 Revise some comments and labels. 1998-12-05 11:58:33 +00:00
KATO Takenori
6684a4f19d Sync with sys/i386/isa/fd.c revision 1.125. 1998-12-05 09:24:20 +00:00
KATO Takenori
dae18d3bae Sync with sys/i386/i386/userconfig.c revision 1.116. 1998-12-05 09:22:05 +00:00
KATO Takenori
7d1d31e431 Sync with sys/i386/conf/optins.i386 revision 1.94. 1998-12-05 09:20:53 +00:00
KATO Takenori
0289a3dcbb Sync with sys/i386/conf/SMP-GENERIC revision 1.23. 1998-12-05 09:19:30 +00:00
KATO Takenori
5365b3a408 Sync with sys/i386/conf/GENERIC revision 1.133. 1998-12-05 09:17:31 +00:00
Kirk McKusick
fcdfed00d5 Even the most recently allocated buffer may not have its b_blkno
field properly filled in, so we must do a VOP_BMAP on that buffer
as well if it is not resolved.
Submitted by: Luoqi Chen <luoqi@watermarkgroup.com>
1998-12-05 06:12:14 +00:00
Matthew Dillon
dadea2fa26 Obtained from: "Kenneth D. Merry" <ken@plutotech.com>
ICMP_BANDLIM option moved from i386/conf/options.i386 to generic
    conf/options since it is platform indpendant.
1998-12-05 03:19:51 +00:00
Bill Paul
f5c444e19e Add sanity check to foo_start() routines: in the unlikely (though
apparently possible) event that the transmit start routine is
called with and empty if_snd queue, bail out instead of dereferencing
unilitialized transmit list pointers and panicking.
1998-12-05 02:21:44 +00:00
Matt Jacob
cc56928232 oops on last 1998-12-05 01:46:40 +00:00
Matt Jacob
e205b454ac Remove the Target mode functions until they're in better shape. Implement some
suggested compilation cleanups from Eklund. Wire down a hard loop id if we are
not on a platform that has the ability to get to a PCI BIOS (it still will
float to the ID it gets after a LIP but at least we can try). Clarify that the
expanded lun is based upon SCCLUN defines (in f/w).
1998-12-05 01:33:57 +00:00
Matt Jacob
d3a9eb2ebe make a real "done" func; clarify some LUN widths 1998-12-05 01:31:21 +00:00
Matt Jacob
e9c2652818 compilation fixes from Eklund 1998-12-05 01:30:52 +00:00
Matt Jacob
828dbae745 compilation fixes from Eklund && move XS_CMD_DONE to be a real function 1998-12-05 01:30:27 +00:00
Matt Jacob
ff717ff328 do a bit of cleanup on some target mode structures and clarify a couple other minro things 1998-12-05 01:29:43 +00:00
Matt Jacob
9f8afea40b roll core version minor and wire a non-i386 default Loop ID to 113 1998-12-05 01:28:38 +00:00
Matt Jacob
f1535c024e offset was wrong for HARDLOOPID in NVRAM 1998-12-05 01:07:52 +00:00
Matt Jacob
fef255f9d9 Roll to 1.15 f/w level for Qlogic 2100. Leave all flavors in, but control which
one gets compiled in by default. The default is private loop, non-expanded lun.
1998-12-05 00:47:25 +00:00
Matt Jacob
6fa014b216 roll to 1.31 level 1998-12-05 00:38:31 +00:00
Matt Jacob
2fa86a2b83 trivial header fix 1998-12-05 00:07:04 +00:00
Archie Cobbs
2127f26023 Examine all occurrences of sprintf(), strcat(), and str[n]cpy()
for possible buffer overflow problems. Replaced most sprintf()'s
with snprintf(); for others cases, added terminating NUL bytes where
appropriate, replaced constants like "16" with sizeof(), etc.

These changes include several bug fixes, but most changes are for
maintainability's sake. Any instance where it wasn't "immediately
obvious" that a buffer overflow could not occur was made safer.

Reviewed by:	Bruce Evans <bde@zeta.org.au>
Reviewed by:	Matthew Dillon <dillon@apollo.backplane.com>
Reviewed by:	Mike Spengler <mks@networkcs.com>
1998-12-04 22:54:57 +00:00
Archie Cobbs
790eeb2b51 Fix compiler warnings. 1998-12-04 22:14:05 +00:00
Archie Cobbs
70b4961b81 Eliminate a zillion "left-hand operand of comma expression has no effect"
compiler warnings when NLPT_DEBUG is not defined.
1998-12-04 22:00:33 +00:00
Bill Paul
c13be48aee Put back some missing chip identification code that got lost somehow
during a trek through RCS. The Macronix 98713 and 98713A both have the
same PCI device ID but different revision numbers, and we need to be
able to tell one from the other. The 98715 and 98715A chips have the
same device ID as the 98725 chip but different revision numbers, however
we lump them into the same category except when identifying them during
the PCI probe output.

The main reason we need tell the chips apart is that the Macronix app
notes say you have to write a special magic number into one of the
registers in order to put the chip in normal operating mode. The 98713
requires one magic value, while all the others require a different one.
1998-12-04 21:48:12 +00:00
Archie Cobbs
03ba67cd99 Fix typo: expression needs parentheses
PR:             8280 (3/3 patches contained in this PR)
Submitted by:   Sakari Jalovaara <sja@tekla.fi>
1998-12-04 21:41:18 +00:00
Archie Cobbs
aa0d9efc2e Fix typo: the expression .. & .. == .. needs parentheses: (.. & ..) == ..
PR:             8280 (2/3 patches contained in this PR)
Submitted by:   Sakari Jalovaara <sja@tekla.fi>
1998-12-04 21:33:06 +00:00
Archie Cobbs
4c6844ea51 Fix typo: "==" should have been "="
PR:		8280 (1/3 patches contained in this PR)
Reviewed by:	Nate Williams <nate@mt.sri.com>
Submitted by:	Sakari Jalovaara <sja@tekla.fi>
1998-12-04 21:28:39 +00:00
Robert V. Baron
0f45501efd Don't print diagnostic anymore 1998-12-04 18:44:21 +00:00
Robert V. Baron
af1f63c7eb In vnode_pager_input_old, set auio.uio_procp = curproc
vs auio.uio_procp = (struct proc *) 0
1998-12-04 18:39:44 +00:00
Bill Paul
726ff6a158 An early Christmas present: add driver support for a whole bunch of
PCI fast ethernet adapters, plus man pages.

if_pn.c: Netgear FA310TX model D1, LinkSys LNE100TX, Matrox FastNIC 10/100,
         various other PNIC devices

if_mx.c: NDC Communications SOHOware SFA100 (Macronix 98713A), various
         other boards based on the Macronix 98713, 98713A, 98715, 98715A
         and 98725 chips

if_vr.c: D-Link DFE530-TX, other boards based on the VIA Rhine and
         Rhine II chips (note: the D-Link and certain other cards
         that actually use a Rhine II chip still return the PCI
         device ID of the Rhine I. I don't know why, and it doesn't
         really matter since the driver treats both chips the same
         anyway.)

if_wb.c: Trendware TE100-PCIE and various other cards based on the
         Winbond W89C840F chip (the Trendware card is identical to
         the sample boards Winbond sent me, so who knows how many
         clones there are running around)

All drivers include support for ifmedia, BPF and hardware multicast
filtering.

Also updated GENERIC, LINT, RELNOTES.TXT, userconfig and
sysinstall device list.

I also have a driver for the ASIX AX88140A in the works.
1998-12-04 18:01:24 +00:00
KATO Takenori
c31c6a9cce Sync with sys/i386/conf/majors.i386 revision 1.93. 1998-12-04 14:41:32 +00:00
KATO Takenori
7ef0b9d6e5 Sync with sys/i386/conf/majors.i386 revision up to 1.55. 1998-12-04 14:39:29 +00:00
Doug Rabson
5b38fe900d Implement 'software completion' for floating point arithmetic. On the
alpha, operations involving non-finite numbers or denormalised numbers
or operations which should generate such numbers will cause an arithmetic
exception.  For programs which follow some strict code generation rules,
the kernel trap handler can then 'complete' the operation by emulating
the faulting instruction.

To use software completion, a program must be compiled with the arguments
'-mtrap-precision=i' and '-mfp-trap-mode=su' or '-mfp-trap-mode=sui'.
Programs compiled in this way can use non-finite and denormalised numbers
at the expense of slightly less efficient code generation of floating
point instructions.  Programs not compiled with these options will receive
a SIGFPE signal when non-finite or denormalised numbers are used or
generated.

Reviewed by: John Polstra <jdp@polstra.com>
1998-12-04 10:52:48 +00:00
Matthew Dillon
5fce7fc47f Cleanup icmp_var.h, make icmp bandlim sysctl permanent but if ICMP_BANDLIM
option not defined the sysctl int value is set to -1 and read-only.

    #ifdef KERNEL's added appropriately to wall off visibility of kernel
    routines from user code.
1998-12-04 04:21:25 +00:00
Matthew Dillon
a3e7459d60 Obtained from: "Andrey A. Chernov" <ache@nagual.pp.ru>
Quick add #ifdef KERNEL for ICMP_BANDLIM option so userland program
     can #include icmp_var.h
1998-12-04 03:49:18 +00:00
John Birrell
a05e9b7308 Add __attribute__ ((unused)) to the SYSINIT etc macros which declare
static structures that are used with the data set magic. This allows
kernel modules, for example, to be compiled with -Wall -Werror.
1998-12-03 23:02:03 +00:00
Matthew Dillon
aeb728f0d5 Make bootp error message slightly more verbose 1998-12-03 20:28:23 +00:00
Matthew Dillon
51508de112 Reviewed by: freebsd-current
Add ICMP_BANDLIM option and 'net.inet.icmp.icmplim' sysctl.  If option
    is specified in kernel config, icmplim defaults to 100 pps.  Setting it
    to 0 will disable the feature.  This feature limits ICMP error responses
    for packets sent to bad tcp or udp ports, which does a lot to help the
    machine handle network D.O.S. attacks.

    The kernel will report packet rates that exceed the limit at a rate of
    one kernel printf per second.  There is one issue in regards to the
    'tail end' of an attack... the kernel will not output the last report
    until some unrelated and valid icmp error packet is return at some
    point after the attack is over.  This is a minor reporting issue only.
1998-12-03 20:23:21 +00:00
Matthew Dillon
3b60b6ac12 Reviewed by: freebsd-current
Add ICMP_BANDLIM option
1998-12-03 20:06:01 +00:00
David Greenman
911e8dbc2a Fixed broken code in sendfile(2) when using file offsets. 1998-12-03 12:35:47 +00:00
Jordan K. Hubbard
c918f6386e Local reserved range is now 100-127 for bdevs and 200-255 for cdevs.
Corrected by:	bde
1998-12-03 08:32:49 +00:00
Archie Cobbs
8245f3f5b4 Add snprintf(3) and vsnprintf(3) capability to the kernel.
Reviewed by:	bde
1998-12-03 04:45:57 +00:00
Jordan K. Hubbard
78a0ae7aa1 109 id Intelligent Disk [Array] (md@doc.ic.ac.uk)
Requested by:		Mark Dawson <md@doc.ic.ac.uk>
1998-12-02 21:26:11 +00:00
Kenneth D. Merry
4f1d0ef261 "Fix" a problem with the Quantum Viking. It appears that this drive does
not like the 6-byte read and write commands!  It returns illegal request,
with the field pointer pointing to byte 9 of a 6 byte CDB.

In any case, the work around is to put in a quirk mechanism that makes sure
that we don't send 6-byte reads or writes to this device.  It's rather sad
that this is necessary.  You'd think that they would be able to get
something that basic to work right in their firmware...

Reviewed by:	gibbs
Reported by:	Adam McDougall <bsdx@spawnet.com>
1998-12-02 17:35:28 +00:00
Doug Rabson
28ae06aad0 Restore the user HAE all the time, not just when returning to usermode.
This closes a very small window where the use HAE might not be restored
at all.  This only happens when switching to a process which has used the
HAE.
1998-12-02 10:24:56 +00:00
Doug Rabson
5ac82ff587 Enable BWX i/o access. I disabled it by mistake with the last commit.
Pointed out by: Andrew Gallatin <gallatin@cs.duke.edu>
1998-12-02 09:33:27 +00:00
KATO Takenori
9ad861edee - For some old Cyrix CPUs, %cr2 is clobbered by interrupts. This
problem is worked around by using an interrupt gate for the page
   fault handler.  This code was originally made for NetBSD/pc98 by
   Naofumi Honda <honda@kururu.math.sci.hokudai.ac.jp> and has already
   been in PC98 tree.  Because of this bug, trap_fatal cannot show
   correct page fault address if %cr2 is obtained in this function.
   Therefore, trap_fatal uses the value from trap() function.
-  The trap handler always enables interruption when buggy application
   or kernel code has disabled interrupts and then trapped.  This code
   was prepared by Bruce Evans <bde@FreeBSD.org>.

Submitted by:	Bruce Evans <bde@FreeBSD.org>
		Naofumi Honda <honda@kururu.math.sci.hokudai.ac.jp>
1998-12-02 08:15:17 +00:00
KATO Takenori
2992cdbc3f Sync with sys/i386/isa/isa.c revision 1.117. 1998-12-02 08:04:12 +00:00
KATO Takenori
de693de8e7 Sync with sys/i386/conf/majors.i386 revision up to 1.53. 1998-12-02 08:02:41 +00:00
Jordan K. Hubbard
2ba88dd218 (deliberately seperate commits) - reserve cdev for Nick Hibma's usb
driver.
1998-12-02 03:14:27 +00:00
Jordan K. Hubbard
a2c5c55001 *thwap* - move id driver to blkdev from cdev list; it's obviously
going to want a major number from that list instead.  Also use the
same preallocated local range (500-600) for blkdevs as well as cdevs,
just to be orthogonal.  The latter was for Brian, who has a *lot*
of local device drivers and needs more than just a single reserved
number.
1998-12-02 03:13:35 +00:00
Jordan K. Hubbard
ac7722254f Allocate 108 for Intelligent Disk [Array] driver
(http://www.doc.ic.ac.uk/~md/ida/).

Requested by:	Mark Dawson <md@doc.ic.ac.uk>
1998-12-02 03:09:44 +00:00
Eivind Eklund
0bfe299097 Check return value of malloc() in expand_name.
Reviewed by:	sef
1998-12-02 01:53:48 +00:00
Søren Schmidt
e4ef2ec1ed The Neomagic chip is a 2160 not a 3160. 1998-12-01 21:50:58 +00:00
Nate Williams
09ede38dc4 - Fix modulo bug.
Reminded by:	bde
1998-12-01 05:29:06 +00:00
Dmitrij Tejblum
5c5926277e Honor MNT_NOATIME.
PR:		8383
Submitted by:	Carl Mascott <cmascott@world.std.com>
1998-11-29 22:38:57 +00:00
Poul-Henning Kamp
510eb5b9db Make the previous behaviour the default, add a sysctl which you
can set if your hw/sw produces the "calcru negative..." message.

Setting the alternate method (sysctl -w kern.timecounter.method=1)
makes the the get{nano|micro}*() functions call the real thing at
resulting in a measurable but minor overhead.

I decided to NOT have the "calcru" change the method automatically
because you should be aware of this problem if you have it.

The problems currently seen, related to usleep and a few other corners
are fixed for both methods.
1998-11-29 20:31:02 +00:00
Poul-Henning Kamp
5986967ee2 don't print '?' for ioaddr the device may legitimately not have an
ioaddr.
1998-11-29 15:42:40 +00:00
Robert Nordier
12c38b04f1 Drop EDD support detection, though retain configurable use of disk
packet interface.  Add booteasy-style F5 support.  Add no-update
option. Implement various space optimizations and consistency fixes.
1998-11-29 14:09:00 +00:00
KATO Takenori
f06a63b4f2 Sync with sys/i386/boot/netboot/Makefile revision 1.21. 1998-11-29 11:55:11 +00:00
Bruce Evans
672be20b9f Don't use the strange null pointer constant `(ufs_daddr_t)0' in a call
to VOP_BMAP().  Don't use uncast NULLs in the same call.
1998-11-29 03:12:06 +00:00
Bruce Evans
d21c930ccb Fixed sloppy clearing of TS_BUSY. Don't clear it until the transmitter
is completely empty.  There is an interrupt for output completion.  It
is painful to use, but polling method used in the corresponding fix in
sio.c (rev.1.152) can't be used because there is no status bit for
transmitter-empty.  Now ttywait() works right.

Reminded by:	NIST-PCTS
1998-11-28 15:48:09 +00:00
Bruce Evans
4635f7acc0 Merge from sio.c rev.1.163:
Don't call timeout() for DTR wakeup if the relevant timeout is already
active.  This fixes "timeout table full" panics when sufficiently many
cyopen()s are interrupted while they are sleeping waiting for the
timeout to expire.
1998-11-28 13:18:16 +00:00
Doug Rabson
e63149c330 Add support for 'vmstat -i'.
Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
Obtained from: NetBSD
1998-11-28 09:55:16 +00:00
Joerg Wunsch
85e5fe218b Fix my breakage of `make installworld'. However, i don't think it's right to
install all those images at all (nor to install them under /usr/mdec), given
the high degree of customization this Makefile needs in order to get images
that are actually useful for some NIC.

Submitted by:	John Hay <jhay@mikom.csir.co.za>,
		Paul Allenby <pallenby@mikom.csir.co.za>
1998-11-28 08:03:24 +00:00
Mike Smith
49b41a660f Alias Adaptec as a vendor of Cogent NICs. 1998-11-28 00:25:32 +00:00
David Greenman
f2b678d4cb Compare p_cpulimit with RLIM_INFINITY before comparing it with the process
runtime. p_runtime is unsigned while p_cpulimit is not, so this avoids the
nasty side effect of the process getting killed when the runtime comes up
"negative" due to other bugs.
1998-11-27 11:44:22 +00:00
Tor Egge
18830dba83 Don't forget to update the pmap associated with aio daemons when adding
new page directory entries for a growing kernel virtual address space.
1998-11-27 01:14:21 +00:00
Tor Egge
f0ac792bec Attempt to handle interrupts delivered to all IO APICs by using the first
IO APIC with a sufficient number of pins.
1998-11-26 23:14:23 +00:00
Nick Hibma
0cec007c5f Initial commit of ported NetBSD USB stack 1998-11-26 23:13:13 +00:00
Nick Hibma
48ecb15bdc Removed probes for USB chips 82371xB (done in dev/pci/uhci_pci.c) 1998-11-26 21:57:52 +00:00
Eivind Eklund
29be051d68 Staticize some more. 1998-11-26 18:54:52 +00:00
Eivind Eklund
9fcdafaefc Staticize. 1998-11-26 18:50:24 +00:00
Bruce Evans
e7414d1bfa Fixed the previous fix - stathz doesn't give the statclock frequency
when it is 0.

Submitted by:	mostly by Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
1998-11-26 16:49:55 +00:00
Bruce Evans
44f05f9c92 Oops, yet again back out some local changes that shouldn't have been
in the previous commit.
1998-11-26 14:05:58 +00:00
Bruce Evans
e4d0e37b33 Fixed scaling of p_pctcpu. It was wrong by a factor of stathz/hz.
Until recently, this was half compensated for in at least ps and top
by multiplying by 100/stathz to get a better wrong factor of 100/hz.
1998-11-26 14:00:08 +00:00
KATO Takenori
7adae46cd3 Sync with sys/i386/boot/netboot/Makefile revision 1.20. 1998-11-26 11:47:51 +00:00
Joerg Wunsch
4d7b27af07 Make netboot work again. All this depends on the object format being
a.out (by now).
1998-11-26 11:11:29 +00:00
Joerg Wunsch
ae1b283631 ...nor does this old TDC3620 like to be asked for compression.
But well, now it's running again!
1998-11-26 10:47:52 +00:00
Paul Richards
1a3376721b Add Id string to if_lnc.h and fix up copyrights to be consistent and up to date. 1998-11-26 00:57:32 +00:00
Paul Richards
6789e41fe6 Despite what people may think the Am79C970 returns the chip id of an Am79C965.
Fix the PCI probe code to accept this id otherwise cards based on the Am79C970
fail to probe.
1998-11-26 00:53:45 +00:00
Warner Losh
46d4978e39 o Patch, slightly altered, from Graham Menhennitt for older aha 1542B
cards.  My machine didn't tickle this problem, so I can't tell if
  it fixed anything or not.  However, it didn't break my already working
  1542-{B,C,CF,CP} probes.
o Minor comment correction
o Minor correction in printf
1998-11-25 19:12:56 +00:00
Joerg Wunsch
36230d67d0 This old firmware of the TDC3620 hangs the SCSI bus upon serial
number requests.  Don't ask it so.
1998-11-25 13:50:10 +00:00
KATO Takenori
fcc6e7373f Reorder entries of ed drivers. Many NICs can be automatically
detected, even though a user doesn't disable unused entries with
userconfig.

Submitted by:	Nobuyuki Koganemaru <kogane@koganemaru.co.jp>
1998-11-25 11:00:31 +00:00
KATO Takenori
3bf3b7af20 Cosmetic change. 1998-11-25 10:53:21 +00:00
Doug Rabson
d24b518319 Port top to the alpha.
Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
1998-11-25 09:45:28 +00:00
David Greenman
c699f45e35 Add missing splvm protection around unqueue call. Without this, the page
queues would eventually get corrupted.
1998-11-25 07:40:49 +00:00
Eivind Eklund
38cc2d9316 Move the declaration of PPro_vmtrr from the header file to pmap.c,
replacing the one in the header file with a definition.  This makes it
easier to work with tools that grok ANSI C only.
1998-11-24 20:25:52 +00:00
Eivind Eklund
5b6a440bab Whoops - wrong copy of files, so all wasn't converted. Rest of perl -> perl5 1998-11-24 19:02:43 +00:00
Eivind Eklund
999c8b9450 perl -> perl5, to allow to compile on older boxes with perl5 installed (but
without perl5 as the system perl)
1998-11-24 18:58:43 +00:00
Bruce Evans
976d09b9f2 Untangled the Cyclades offsets a little. CY16_RESET and CY_CLEAR_INTR
were half of their physical offsets for ISA and 1/4 of their physical
offsets for PCI, while all other Cyclades offsets were physical/1 for
ISA and physical/2 for PCI.  Logically wrong macros were used to scale
CY16_RESET and CY_CLEAR_INTR to the correct physical offsets.

Fixed some style bugs (mostly long lines).
1998-11-23 13:58:55 +00:00
Poul-Henning Kamp
c2906d55d0 Make timecounters more resistant to badly behaved SW/HW which locks
out interrupts for too long.  If you still see the "calcru: negative
time..." message you can increase NTIMECOUNTER (see LINT).

Sideeffect is that a timecounter is required to not wrap around in
less than (1 + delta) seconds instead of the (1/hz + delta) required
until now.

Many thanks to: msmith, wpaul, wosch & bde
1998-11-23 09:59:02 +00:00
Søren Schmidt
8843cc3508 Add a kludge to prevent panicing when using VM86 and hitting here
with a NULL curproc.

Originally by: Tor Egge (IIRC)
1998-11-23 09:34:19 +00:00
Bruce Evans
f6233520ce Fixed a missing include. `SYSININT(...);' garbage in gave null garbage out. 1998-11-23 09:33:35 +00:00
KATO Takenori
76a505024d Sync with sys/i386/isa/sio.c revision up to 1.218. 1998-11-23 07:49:03 +00:00
KATO Takenori
94563b4513 Sync with sys/i386/boot/biosboot/Makefile revision 1.67. 1998-11-23 07:34:37 +00:00
Justin T. Gibbs
08c6fbfa40 Change the delivery mechanism for incoming target commands. We now
use a 256 entry ring buffer of descriptersfor this purpose.  This allows
the use of a simple 8bit counter in the sequencer code for tracking start
location.

Entries in the ring buffer now contain a "cmd_valid" byte at their tail.
As an entry is serviced, this byte is cleared by the kernel and set by
the sequencer during its dma of a new entry.  Since this byte is the last
portion of the command touched during a dma, the kernel can use this
byte to ensure the command it processes is completely valid.

The new command format requires a fixed sized DMA from the controller
to deliver which allowed for additional simplification of the sequencer
code.  The hack that required 1 SCB slot to be stolen for incoming
command delivery notification is also gone.
1998-11-23 01:33:47 +00:00
Don Lewis
9d2b090975 We can't call fsetown() from sonewconn() because sonewconn() is be called
from an interrupt context and fsetown() wants to peek at curproc, call
malloc(..., M_WAITOK), and fiddle with various unprotected data structures.
The fix is to move the code that duplicates the F_SETOWN/FIOSETOWN state
of the original socket to the new socket from sonewconn() to accept1(),
since accept1() runs in the correct context.  Deferring this until the
process calls accept() is harmless since the process can't do anything
useful with SIGIO on the new socket until it has the descriptor for that
socket.

One could make the case for not bothering to duplicate the
F_SETOWN/FIOSETOWN state and requiring the process to explicitly make the
fcntl() or ioctl() call on the new socket, but this would be incompatible
with the previous implementation and might break programs which rely on
the old semantics.

This bug was discovered by Andrew Gallatin <gallatin@cs.duke.edu>.
1998-11-23 00:45:39 +00:00
Kenneth D. Merry
22b9c86cfd Fix a few problems that Bruce noticed about a month ago, and fix oup one
other problem.

- Hold onto splsoftcam() in the peripheral driver open routines until we
  have locked the periph.  This eliminates a race condition.

- Disallow opening the pass driver when securelevel > 1.

- If a user tries to open the pass driver with O_NONBLOCK set, return
  EINVAL instead of ENODEV.  (noticed by gibbs)
1998-11-22 23:44:47 +00:00
Nicolas Souchu
f8cf96db8f Remove broken and useless intr interface.
Submitted by: Doug Rabson <dfr@nlsystems.com>
	      Amancio Hasty <hasty@rah.star-gate.com>

Avoid compile warnings.
1998-11-22 22:01:42 +00:00
Bruce Evans
a84c84f5b0 Reduce i/o overheads by not preserving the channel access register in
interrupt handlers.  Instead, load and use it atomically as necessary.
This reduces mode switching overhead for "polled" mode interrupt handling
from 5 i/o's to 3 (per service type, per port) so that polled mode is only
slightly more inefficient than "interrupt" mode.
1998-11-22 17:40:32 +00:00
Kazutaka YOKOTA
570f565d11 Oops, I forgot to update this file when I changed moused recently. 1998-11-22 11:57:59 +00:00
Bruce Evans
8280a33470 Deleted the workaround for lockup of certain (hopefully no longer used)
UARTs when their divisor latch registers are selected while they are
doing output.  Waiting for (some) output to drain is not permitted for
the TCSANOW case of tcsetattr().  NIST-PCTS easily detects bugs like
this by testing at at speeds that no one would want to use (50 bps).

Deleted stale comments related to flushing i/o.  Flushing works properly
for 16550s according to NIST-PCTS (it can't work properly for 16450s).
This finishes fixing all sio(16550)-related bugs found by NIST-PCTS.
1998-11-22 10:47:42 +00:00
Bruce Evans
121d04904e Fixed a comment in code that will soon go away. 1998-11-22 09:41:12 +00:00
Bruce Evans
1e1c37f1cd Return ENOTTY instead of EBADF for ioctls on dead vnodes. This fixes
tcsetpgrp() on controlling terminals that are no longer associated
with the session of the calling process, not to mention ioctl.2.
1998-11-22 09:19:07 +00:00
Bruce Evans
7dd89537f1 Fixed some missing cases in the check for ioctls that involve modification.
Many (mostly machine-dependent ones) are still missing.  NIST-PCTS found
this bug for all the ioctls used to implement the POSIX tc* functions
(TIOCCBRK, TIOCDRAIN, TIOCSPGRP, TIOCSBRK, TIOCSTART and TIOCSTOP), and
I found FIOASYNC, TIOCCONS, TIOCEXCL, TIOCHPCL, TIOCNXCL, TIOCSCTTY and
TIOCSDRAINWAIT by inspection.  TIOCSPGRP was ifdefed out for some reason.

Handle tcsetattr()'s historical speed conversions correctly and more
centrally:
- don't store speeds of 0 in the final termios struct.  Drivers can now
  depend on tp->t_ispeed and tp->t_ospeed giving the actual speed.
  Applications can now depend on tcgetattr() being POSIX.1 conformant.
- convert from a proposed input speed of 0 to the proposed output speed
  (except if that is 0, convert to the current output speed).  Drivers
  can now depend on the proposed input speed being nonzero.
- don't reject negative speeds.  Negative speeds can't happen now that
  speed_t is unsigned, and rejecting invalid speeds is a bug - tcsetattr()
  is supposed to succeed if it can "perform any of the requested actions",
  so it shouldn't fail in practice.
1998-11-22 09:04:09 +00:00
Robert Nordier
5103ed619b Drop use of BIOS int 0x14 services in favor of direct port I/O.
Feedback and testing: Adrian Filipi-Martin <adrian@ubergeeks.com>
1998-11-22 07:59:16 +00:00
Andrey A. Chernov
468b3a66d9 add -aout key to cc, size, strip - it not work for elf system 1998-11-21 21:07:17 +00:00
Archie Cobbs
2b81bbcbef Eliminate compiler warning. 1998-11-21 01:57:48 +00:00
Archie Cobbs
3a8dbd82b3 Eliminate some ompiler warnings. 1998-11-21 01:54:50 +00:00
Dmitrij Tejblum
bad3d41d83 Support NT VFAT lower case flags.
PR:		8383
(Mostly) Submitted by:	Carl Mascott <cmascott@world.std.com>
1998-11-21 00:20:24 +00:00
Bill Paul
36c84dd2b3 Add missing return statement to rl_phy_writereg(). This bug didn't actually
hurt anything, but it's still a bug.

Pointed out by: Jason Wright <jason@thought.net>
1998-11-20 19:26:37 +00:00
Kazutaka YOKOTA
0e06fe21c6 - Added some configuration flags as workaround for not-so-compatible
keyboard/mouse/display switch products (console switches).  Some
  products claim they emulate the PS/2 mouse when the host computer
  talks to the mouse while the mouse is actually routed to another
  host.

	flags 0x200	Do not try to identify the mouse model. All
			mice will be recognized as "generic PS/2".
	      0x400	Do not reset the mouse.  Some switches' response
			to the reset command is too slow and the psm
			will timeout.
	      0x1000	Relax error checking when probing the mouse
			port.

- Added another flag for pad devices.

	flags 0x800	Assume the pad behaves like ALPS GlidePoint
			when the user `taps' the surface of the pad;
			it will be reported as the fourth button.
1998-11-20 11:46:43 +00:00
Kazutaka YOKOTA
1b11ca6c6b - Added support for Genius Kidspad tablet.
# `moused' is getting too over-loaded now.  If we want something
# more than simple mouse emulation for tablets or remote devices,
# we should start writing a separate daemon...

Submitted by: luigi
1998-11-20 11:22:17 +00:00
Archie Cobbs
a8c0f6e542 Fix misallocation of buffer bug (too short) 1998-11-20 02:57:41 +00:00
Paul Richards
9abd5d84ac This fixes a bug in the bcache code whereby false cache hits occur
the first time block 0 is read. This fix initialises the block
numbers to -1 which isn't the most correct thing for a daddr_t but
it isn't likely to cause a problem in the boot blocks and it could
do with a more thought out fix later.

The bug is probably benign on the i386 but on the alpha it can
cause initial file opens to fail. This is the cause of the "can't
open /boot/boot.conf" errors.

It appears on the alpha because of a number of combining factors.
On the alpha the LABELSECTOR is 0 so block 0 needs to be read in
from the media. The first time this happens you get a false hit
because the bc_blkno field is zero initially. Also, the timestamp
check against this cache hit succeeds because on the alpha a hacked
getsecs() function can return 0 when it starts counting so that
the zero initial timestamp + BCACHE_TIMEOUT is greater than the
current time until getsecs() has counted passed BCACHE_TIMEOUT.

The overall effect is that the first open() that occurs gets a
false cache hit and returns garbage to the bd_strategy() function
which then fails the open() call. This false hit then stays in the
cache until BCACHE_TIMEOUT getsecs() ticks have passed; all open()
calls during this time fail.

This explains why you can generally access the media by the time
you get to interp() and start issuing commands but the earlier
attempts to run the boot scripts are failing.

It's possible that this is causing the problem switching to the
mfsroot floppy as well but I haven't confirmed that.
1998-11-19 18:12:03 +00:00
John Polstra
b2052ac8cf Fix a couple of typos. 1998-11-19 18:07:28 +00:00
Bruce Evans
04258de351 Fixed a null pointer panic in spc_free(). swap_pager_putpages()
almost always causes this panic for the curproc != pageproc case.
This case apparently doesn't happen in normal operation, but it
happens when vm_page_alloc_contig() is called when there is a memory
hogging application that hasn't already been paged out.

PR:		8632
Reviewed by:	info@opensound.com (Dev Mazumdar), dg
Broken in:	rev.1.89 (1998/02/23)
1998-11-19 06:20:42 +00:00
Doug Rabson
75410e3d0e Fix things so that pci interrupts can be registered correctly on apecs
and lca machines (which route PCI interrupts through the ISA PIC).

Reviewed by: dima
1998-11-18 23:53:12 +00:00
Doug Rabson
eae8e50443 Add sc_traparg_a0, sc_traparg_a1 and sc_traparg_a2 to the sigcontext
structure for the alpha.  These give extra information about some
signals (such as SIGSEGV) and should be compatible with Digital Unix.

Submitted by: jdp
1998-11-18 23:51:40 +00:00
Dima Ruban
fa1303baf8 Remove -U__NetBSD__ 1998-11-18 23:51:17 +00:00
Bill Paul
552a0ec7c3 The Accton 1207D adapter uses a chip called the MXP 5030 (or 5038)
which is either a RealTek 8139 in disguise or a RealTek workalike.
This commit fixes the PCI vendor/device ID for this device
and updates the description string to reflect the actual identity
of the device.

I also changed the transmit encapsulation routine to always to
buffer copies on transmit. We end up doing this 99% of the time
anyway. I also tweaked the code that pads packets out to the minimum
length (60) bytes. I was fixing up the m_pkthdr.len value but not
m_len. I don't think this makes that much difference in the grand
scheme of things, but it makes me feel better.
1998-11-18 21:03:58 +00:00
Bill Paul
eb90b606c2 Fix a minor bug in xl_attach() where the list buffer region is rounded
to a longword boundary.

Noticed by: Jason Wright <jason@thought.net>
1998-11-18 16:46:53 +00:00
David Greenman
4f699173cb Closed a very narrow and rare race condition that involved net interrupts,
bio interrupts, and a truncated file that along with the precise alignment
of the planets could result in a page being freed multiple times or a
just-freed page being put onto the inactive queue.
1998-11-18 09:00:47 +00:00
KATO Takenori
8ea9416c8c Fix ROOL UP/DOWN keys of PC-98. 1998-11-18 08:33:58 +00:00
Doug Rabson
73c8631124 Remove stale references to ih_next and ih_prev.
Pointed out by: Roman V. Palagin <romanp@wuppy.rcs.ru>
1998-11-17 10:53:37 +00:00
Doug Rabson
b0a6dfad26 Definitions for alpha specific device resources. 1998-11-17 10:40:33 +00:00
Doug Rabson
9b0e7f94af Definitions for alpha specific system calls. 1998-11-17 10:40:07 +00:00
Kirk McKusick
96334b8fc8 Because buffers may be tossed and recreated at will under the new VM
system, the mapping from logical to physical block number may be lost.
Hence we have to check for a reconstituted buffer and redo the call to
VOP_BMAP if the physical block number has been lost.
1998-11-17 00:31:12 +00:00
Robert V. Baron
b3a2ec1e44 A few bug fixes for Robert Watson 1998-11-16 19:48:26 +00:00
Doug Rabson
7a94149e37 Make the previous fix more portable.
Requested by: bde
1998-11-16 08:27:36 +00:00
KATO Takenori
d969b47c9c Sync with sys/i386/isa/wd.c revision up to 1.180. 1998-11-16 08:13:54 +00:00
KATO Takenori
258591400a Sync with sys/i386/conf/options.i386 revision 1.92. 1998-11-16 08:11:58 +00:00
KATO Takenori
22276a9a88 Sync with sys/i386/conf/Makefile.i386 revision 1.129. 1998-11-16 08:09:16 +00:00
Kenneth D. Merry
d9e371b995 Now that the wd driver is fixed (Thanks Bruce!), re-enable the
devstat_end_transaction error message that gets printed whenever the
busy count is < 0.

This will help catch drivers that improperly implement devstat(9) support.
1998-11-15 23:57:22 +00:00
Guido van Rooij
d285db5598 The below patch helps to reduce the leakage of internal socket information
when a TCP "stealth" scan is directed at a *BSD box by ensuring the window
is 0 for all RST packets generated through tcp_respond()
Reviewed by:	Don Lewis <Don.Lewis@tsc.tdk.com>
Obtained from:	Bugtraq (from: Darren Reed <avalon@COOMBS.ANU.EDU.AU>)
1998-11-15 21:35:09 +00:00
Mike Smith
ad6d02135b Reimplement the NFS ACCESS RPC cache as an "accelerator" rather than a true
cache.  If the cached result lets us say "yes", then go with that.  If
we're not sure, or we think the answer might be "no", go to the wire to be
certain.    This avoids all of the possible false veto cases, and allows us
to key the cached value with just the UID for which the cached value holds,
reducing the bloat of the nfsnode structure from 104 bytes to just 12 bytes.

Since the "yes" case is by far the most common, this should still provide
a substantial performance improvement.  Also default the cache to on, with
a conservative timeout (2 seconds).  This improves performance if NFS is
loaded as a KLD module, as there's not (yet) code to parse an option out
of the module arguments to set it, and sysctl doesn't work (yet) for OIDs
in modules.

The 'accelerator' mode was suggested by Bjoern Groenvall (bg@sics.se)

Feedback on this would be appreciated as testing has been necessarily
limited by Comdex, and it would be valuable to have this in 2.2.8.
1998-11-15 20:36:18 +00:00
Eivind Eklund
340fe9ae67 Make it possible to adjust the IDE probe delay from kernel config files. 1998-11-15 20:08:50 +00:00
Eivind Eklund
34e7656caa Depend on __FreeBSD_version instead of __FreeBSD__ 1998-11-15 19:30:48 +00:00
Doug Rabson
08b6a4cbee * Add hooks to allow the X server to access I/O ports and memory.
* Update drivers to the latest version of the bus interface.

The ISA drivers' use of the new resource api is minimal.  Garrett has
some much cleaner drivers which should be more easily shared between
i386 and alpha.  This has only been tested on cia based machines.  It
should work on lca and apecs but I might have broken something.
1998-11-15 18:25:17 +00:00
Doug Rabson
128d4f3960 Build subr_rman.c by default. 1998-11-15 18:16:23 +00:00
Doug Rabson
225b9157e6 Don't include link_elf.c twice in the link. 1998-11-15 18:15:06 +00:00
Doug Rabson
921433915d A couple of minor sanity checks.
Submitted by: Nick Hibma <nick.hibma@jrc.it>
1998-11-15 18:11:21 +00:00
Doug Rabson
48a39a495a Fix printf format errors on alpha. 1998-11-15 18:10:14 +00:00
Doug Rabson
2f2dcad41b * Change 'struct resource' to 'struct config_resource'.
* Bump config version.
1998-11-15 18:07:35 +00:00
David Greenman
efac52b4ab In sendfile(2), check against sb_lowat when filling the socket buffer,
rather than 0.
1998-11-15 16:55:09 +00:00
Bruce Evans
b54e74eb87 Fixed a misspelling of boolean true as MNT_WAIT. 1998-11-15 15:46:33 +00:00
Bruce Evans
c25ded316f Finished updating module event handlers to be compatible with
modeventhand_t.
1998-11-15 15:33:52 +00:00
Bruce Evans
a9ef8bf740 Don't generate module event handlers of the wrong (old) type.
Fixed some pedantic syntax errors (an extra semicolon in each
SYSUNINIT() expansion).
1998-11-15 15:25:56 +00:00
Bruce Evans
4ae860afde Fixed the type of vfs_modevent (a little late, to match the corresponding
change in sys/mount.h).
1998-11-15 15:18:30 +00:00
Bruce Evans
afbbfd3b05 Fixed the type and order of vfs_modevent. This fixes part of a spew of
warnings for the recent change of the type of a module event handler.

Fixed a rotted comment (numeric types of filesystems are not listed here).

Made the function protototype in VFS_SET() more like the corresponding
function definition (don't use extern for prototypes).

Enforce a semicolon after the LKM case of VFS_SET().
1998-11-15 15:12:58 +00:00
Bruce Evans
14fddaf97a Fixed a missing include. <sys/kernel.h> is needed by the new
MALLOC_DEFINE() and MALLOC_DEFINE() is needed by the recently
reenabled "reallocblks" code, but <sys/kernel.h> was only included
if CLUSTERDEBUG was defined.  This was too harmless.  gcc only
warns about garbage like `SYSINIT(blech);' at file scope ...
1998-11-15 14:11:06 +00:00
Bruce Evans
4cfe0f4600 Fixed the bug that caused negative busycounts in devstat. The
devstart_start_transaction() call is misplaced - it is after the
wdustart() call that queues the transaction on the controller queue.
Normally this doesn't matter because we're running at splbio() so
nothing will look at the controller queue.  However, obsolescent
code for syncing labels sometimes slept after the transaction was
started, so the transaction sometimes completed before it was
[recorded as] started.  This code was misplaced even for syncing
labels.  Move it to the right place.  It should go away, but
something may depend on its side effects.
1998-11-15 13:54:31 +00:00
Dima Ruban
9ffad24346 indent 1998-11-15 00:50:59 +00:00
David Greenman
f2efb8e4c8 Fixed a couple of nits in sendfile(2): clear PG_ZERO before unbusying
the page, and use passed-in "p" rather than curproc in uio struct.
1998-11-14 23:36:17 +00:00
Garrett Wollman
14177d72cd My changes to the new device interface:
- Interface wth the new resource manager.
	- Allow for multiple drivers implementing a single devclass.
	- Remove ordering dependencies between header files.
	- Style cleanup.
	- Add DEVICE_SUSPEND and DEVICE_RESUME methods.
	- Move to a single-phase interrupt setup scheme.

Kernel builds on the Alpha are brken until Doug gets a chance to incorporate
these changes on that side.

Agreed to in principle by: dfr
1998-11-14 21:58:51 +00:00
Luigi Rizzo
a6a30776d3 Add a missing newline
Submitted by:	Roger Hardiman
1998-11-14 13:07:59 +00:00
Mike Smith
bcda95d923 Add documentation for $rootdev. 1998-11-13 23:53:02 +00:00
Mike Smith
8f0a6b5b8c Add a new variable $num_ide_disks which is used to offset the unit number
for SCSI disks when converting from BIOS unit numbers to da unit numbers.

Prompted by Kevin Street <street@iname.com>
1998-11-13 23:40:02 +00:00
Mike Smith
692c33253b Avoid a null pointer reference if the target of an NFS rename has been
sillrenamed, or if the source vnode doesn't have an associated nfsnode.

Bug report from Andrew Gallatin <gallatin@cs.duke.edu>
1998-11-13 22:58:48 +00:00
Mike Smith
d02d6d040a Don't count non-local dirty buffers as outstanding when shutting down.
This avoids the fsck-on-reboot symptoms if you're shutting down with a
hung or unreachable NFS server mounted.  Also remove non-local
filesystems from the mount list to prevent the system hanging when it tries
to unmount them (for the same reason).

Drew points out that there's a good argument for forcibly removing all
"non syncable" filesystems from the mount list (eg. NFS mounts, disks
that aren't responding, etc.) as this then allows you to sync and
cleanly unmount their parents.  No such change is included in this
patch.

Submitted by:	Andrew Gallatin <gallatin@cs.duke.edu>
1998-11-13 22:40:37 +00:00
David Greenman
b991b29639 Increased PID_MAX to 99999. The main reason for doing this is to make the
pid space somewhat more sparse which improves the performance of finding
an unused pid on systems with large numbers of processes. The new value
was chosen so that it doesn't overflow the 5 digit pid fields in various
programs.
1998-11-13 17:53:55 +00:00
Justin T. Gibbs
921cb54a13 Move a diagnostic behind "if (bootverbose)". 1998-11-13 13:23:36 +00:00
Doug Rabson
86442b5201 Fix a panic in nfsrv_dorec() where a NULL pointer could be passed to
free() sometimes.

Reviewed by: Eric Haug <ejh@eas.slu.edu>
1998-11-13 09:44:12 +00:00
Doug Rabson
92c6ae04da A couple of fixes to device_delete_child() to delete all children of
the device and to free the device which is being deleted (not its
parent - oops).

Submitted by: Nick Hibma <nick.hibma@jrc.it>
1998-11-13 09:39:37 +00:00
KATO Takenori
e6a8c534a3 Sync with sys/i386/conf/GENERIC revision 1.131. 1998-11-13 08:18:44 +00:00
KATO Takenori
e4b4a0d1dc Sync with sys/i386/boot/kzipboot/malloc.c revision 1.7. 1998-11-13 08:18:14 +00:00
Mike Smith
c5118de899 Implement NFS ACCESS RPC result caching.
This yields startling performance increases for NFS clients for many
access profiles, due to the fact that ACCESS results are persistently
cached in the namecache in many cases.

Note that the code is somewhat conservative in that it requires an
exact credential match for a cache hit.  This bloats the nfsnode
structure by sizeof(struct ucred) (96 bytes).  Any less conservative
approach opens the possibility for a false veto in eg. setuid
applications.  Alternative suggestions would be welcomed.

The cache is normally disabled, to activate set the sysctl variable
vfs.nfs.access_cache_timeout to a nonzero value.  This is the time in
seconds that a cached entry will be considered valid; useful values appear
to be 2-10 seconds.  Performance of the cache can be monitored with the
vfs.nfs.access_cache_hits and vfs.nfs.access_cache_hits variables.
1998-11-13 02:39:09 +00:00
David Greenman
1c680b45a2 Restored the "reallocblks" code to its former glory. What this does is
basically do a on-the-fly defragmentation of the FFS filesystem, changing
file block allocations to make them contiguous. Thanks to Kirk McKusick
for providing hints on what needed to be done to get this working.
1998-11-13 01:01:44 +00:00
David E. O'Brien
58371a7e38 Remove amd', nca' SCSI devices to match Mike's LINT commit. 1998-11-12 11:29:28 +00:00
Jordan K. Hubbard
207fe43d59 bootforth seems to be working well enough for me and others to turn
on by default.  If it causes trouble, it's very easy to switch off again.
1998-11-12 07:40:51 +00:00
Jordan K. Hubbard
845491fe8d MF22: Bring in some linux sound ioctl support which I committed to 2.2
for PR 7792 but did not bring forward.

Submitted by:	Avatar Liang <avatar@www.mmlab.cse.yzu.edu.tw>
PR:		8656
1998-11-12 00:42:08 +00:00
Jordan K. Hubbard
531842e143 Install scripts without .sh suffix. 1998-11-12 00:37:39 +00:00
Mike Smith
aafbf5d3c5 Consign the 'amd' driver to the Attic. 1998-11-11 21:32:56 +00:00