Commit Graph

7437 Commits

Author SHA1 Message Date
David Nugent
e825ea20dd Make stlintr() public to allow correct linkage. 1997-03-24 07:25:31 +00:00
KATO Takenori
5fa4a05818 Fix typo.
Submitted by:	Bruce Evans <bde@zeta.org.au>
1997-03-24 07:23:05 +00:00
KATO Takenori
507cf9c96e Merge PC-98 code int i386/isa/ft.c. 1997-03-24 07:20:35 +00:00
Justin T. Gibbs
7d951713e8 Fix a nasty bug that meant a QUEUE_FULL status would result in a lost
SCB.  This is probably a main reason for the recent reports of timeouts.
1997-03-24 05:05:18 +00:00
Justin T. Gibbs
23e11becca Re-arrange the code to upload an SCB to ensure that there is at least
on instruction between the last load into the DFIFO and enabling the DMA.
During back to back SCB DMA, it was possible to hang the card.
1997-03-24 05:02:55 +00:00
Bruce Evans
a02b0b9694 Removed nested #includes of <scsi/scsi_debug.h> and <scsi/scsi_driver.h>
from <scsi/scsiconf.h> and fixed everything that depended on them.
(Missed this one.)
1997-03-24 04:26:46 +00:00
Bruce Evans
90b42d7e40 Fixed corrupted newline and corrupted tab in previous commit. 1997-03-24 03:19:37 +00:00
KATO Takenori
d1dd81c99f Fixed corrupted CFLAGS definition. (Deleted harmful backslash.)
Submitted by:	H. Nokubi <h-nokubi@nmit.mt.nec.co.jp>
1997-03-24 02:38:48 +00:00
Justin T. Gibbs
65e5a3a9df free_xs must be called at splbio(). This is usually the case since the main
caller is scsi_done which the controller interrupt handlers call.  In the
case of a non-buffer based transaction, the xs structure is freed by the
process that initiated the transfer in scsi_scsi_cmd.  In this case, an
explicit splbio/splx pair around the call to free_xs is required.  Without
the splbio protection, the xs free list could be corrupted, and the type
driver's start routine might run without spl protection.

Submitted by:	Tor Egge <Tor.Egge@idt.ntnu.no>
Obtained from: PR kern/2891
1997-03-24 01:46:15 +00:00
Guido van Rooij
8f89943eda Add generation number randomization. Newly created filesystems wil now
automatically have random generation numbers. The kenel way of handling those
also changed. Further it is advised to run fsirand on all your nfs exported
filesystems. the code is mostly copied from OpenBSD, with the randomization
chanegd to use /dev/urandom
Reviewed by:	Garrett
Obtained from: OpenBSD
1997-03-23 20:08:22 +00:00
KATO Takenori
56be183376 Created new section `CPU OPTIONS'. CPU classes and math emulator are
moved to there.  Options for CPU feature is also described there.
1997-03-23 11:08:28 +00:00
Bruce Evans
6617929964 Removed nested #includes of <scsi/scsi_debug.h> and <scsi/scsi_driver.h>
from <scsi/scsiconf.h> and fixed everything that depended on them.
1997-03-23 06:33:55 +00:00
Bruce Evans
db0ac821f2 Removed nested #includes of <scsi/scsi_debug.h> and <scsi/scsi_driver.h>
from <scsi/scsiconf.h> and fixed everything that depended on them.
1997-03-23 06:26:47 +00:00
KATO Takenori
14667a26c6 Added Accton EN1207-TX support. 1997-03-23 05:10:14 +00:00
Bruce Evans
08febfa741 Removed nested #include of <sys/conf.h> from <scsi/scsi_driver.h>
and fixed everything that depended on getting it from the wrong
place.  Most of the broken things actually only depended on getting
the declaration of their interrupt handler from "ioconf.h".
1997-03-23 04:40:00 +00:00
Bruce Evans
fe10481de8 Don't #include <sys/fcntl.h> in <sys/file.h> if KERNEL is defined.
Fixed everything that depended on getting fcntl.h stuff from the wrong
place.  Most things don't depend on file.h stuff at all.
1997-03-23 03:49:00 +00:00
Bruce Evans
3ac4d1ef0c Don't #include <sys/fcntl.h> in <sys/file.h> if KERNEL is defined.
Fixed everything that depended on getting fcntl.h stuff from the wrong
place.  Most things don't depend on file.h stuff at all.
1997-03-23 03:37:54 +00:00
John Dyson
c5d593ae63 Fix a significant error in the accounting for pre-zeroed pages. This
is a candidate for RELENG_2_2...
1997-03-23 02:44:54 +00:00
Bruce Evans
84232bd337 Merged the rest of lfs from Lite2. It compiles (uncleanly) but is as
unlikely to work as before.
1997-03-23 00:45:27 +00:00
Mike Pritchard
9a8f4a4c93 Restore Bruce's original comment. It seems that "iff" = if and only if,
and is not a typo.  It is used other places in the kernel, too.
1997-03-22 20:34:21 +00:00
KATO Takenori
a8e282d6c3 Oops, I forgot to `cvs add'. This file is a part of new CPU
identification and initialization routines.
1997-03-22 19:00:36 +00:00
KATO Takenori
4c024bbdf8 Improved CPU identification and initialization routines. This
supports All Cyrix CPUs, IBM Blue Lightning CPU and NexGen (now AMD)
Nx586 CPU, and initialize special registers of Cyrix CPU and msr of
IBM Blue Lightning CPU.

If revision of Cyrix 6x86 CPU < 2.7, CPU cache is enabled in
write-through mode.  This can be disabled by kernel configuration
options.

Reviewed by:	Bruce Evans <bde@freebsd.org> and
            	Jordan K. Hubbard <jkh@freebsd.org>
1997-03-22 18:54:54 +00:00
Mike Pritchard
269ebc8621 Fix a typo in a comment of a recent commit. 1997-03-22 16:52:19 +00:00
Bruce Evans
20cb3c714b Merged enough of lfs from Lite2 for mkdep of LINT to work again. 1997-03-22 09:33:55 +00:00
Bruce Evans
774fce94c0 Removed volatile' from declaration of time', and removed the resulting
null casts.  `time' is nonvolatile for accesses within a region locked
by splclock()/splx().  Accesses outside such a region are invalid, and
splx() must have the side effect of potentially changing all global
variables (since there are hundreds of sort of volatile variables like
`time'), so declaring `time' as volatile didn't have any real benefits.
1997-03-22 08:03:51 +00:00
Bruce Evans
3c81694426 Fixed some invalid (non-atomic) accesses to `time', mostly ones of the
form `tv = time'.  Use a new function gettime().  The current version
just forces atomicicity without fixing precision or efficiency bugs.
Simplified some related valid accesses by using the central function.
1997-03-22 06:53:45 +00:00
John Dyson
8e56e56134 Decrease the latency/overhead in the prezero code when there is
an adequate number of prezeroed pages.
1997-03-22 04:28:16 +00:00
Bruce Evans
c16cb2c78b Backed out rev.1.27, which broke unmounting of mfs and caused panics
on shutdown.

Should not have been in 2.2 (the buggy last minute change, that is).
1997-03-22 03:59:46 +00:00
Steve Passe
e75839864d Submitted by: Michael Petry <petry@netwolf.NetMasters.com>
Michael submitted code to activate the audio muxes.

fsmp:
 extended those changes for different boards.
 auto-detection of board types.
 auto-detection of tuner types.
 auto-detection of stereo option.
1997-03-21 17:33:03 +00:00
Steve Passe
d830eb7d9f Submitted by: Michael Petry <petry@netwolf.NetMasters.com>
Michael submitted code to activate the audio muxes.

fsmp:
 extended those changes for different boards.
 auto-detection of board types.
 auto-detection of tuner types.
 auto-detection of stereo option
1997-03-21 17:29:54 +00:00
Bill Paul
0b788fa1da Add support to sendmsg()/recvmsg() for passing credentials between
processes using AF_LOCAL sockets. This hack is going to be used with
Secure RPC to duplicate a feature of STREAMS which has no real counterpart
in sockets (with STREAMS/TLI, you can apparently use t_getinfo() to learn
UID of a local process on the other side of a transport endpoint).

What happens is this: the client sets up a sendmsg() call with ancillary
data using the SCM_CREDS socket-level control message type. It does not
need to fill in the structure. When the kernel notices the data,
unp_internalize() fills in the cmesgcred structure with the sending
process' credentials (UID, EUID, GID, and ancillary groups). This data
is later delivered to the receiving process. The receiver can then
perform the follwing tests:

- Did the client send ancillary data?
	o Yes, proceed.
	o No, refuse to authenticate the client.

- The the client send data of type SCM_CREDS?
	o Yes, proceed.
	o No, refuse to authenticate the client.

- Is the cmsgcred structure the right size?
	o Yes, proceed.
	o No, signal a possible error.

The receiver can now inspect the credential information and use it to
authenticate the client.
1997-03-21 16:12:32 +00:00
David Greenman
6ebc315326 Added support for newer cards that have the DP83840A PHY chip.
Fixed a bug in fxp_mdi_write - a hex number was missing a preceding 0x
and this was causing the routine to not wait for a PHY write to complete.
Added support for link0, link1, and link2 flags to toggle auto-
negotiation, 10/100, and half/full duplex:

link0	disable auto-negotiation

	When set, these flags then have meaning:

	-link1	10Mbps
	link1	100Mbps
	-link2	half duplex
	link2	full duplex

...needs a manual page.
1997-03-21 08:00:13 +00:00
Mike Pritchard
35846a8163 Typo police. 1997-03-20 16:33:15 +00:00
John Polstra
cf49f43912 Add backward compatibility so that static executables built on
modern FreeBSD systems will syslog properly on older systems that
still name the logging socket "/dev/log".  This includes pre-2.2
versions of FreeBSD as well as BSD/OS systems.  If the connect to
"/var/run/log" fails, the function now tries to connect to
"/dev/log" as a fallback.
1997-03-20 16:28:27 +00:00
KATO Takenori
0908b6ff4a Added Allied Telesis CenterCOM LA100-PCI support. Currently, full
duplex mode doesn't work.
1997-03-20 07:25:22 +00:00
Steve Passe
0f4a397771 additions for table-driven frequency calculation.
addition of colorbar ioctl.
removed unneeded disable_intr()/enable_intr() wrappers in i2c code.
minor cleanup.
1997-03-19 19:10:45 +00:00
Steve Passe
535341aacb additions for table-driven frequency calculation.
addition of colorbar ioctl.
1997-03-19 19:08:31 +00:00
KATO Takenori
2f284f07f8 Synchronize with sys/i386/conf/files.i386 revision 1.156. 1997-03-19 16:14:25 +00:00
Bruce Evans
3628c5b631 Only export ioctl-related stuff to applications. Include prerequisite
headers (like most other ioctl-related headers).

Didn't fix spelling errors and other warts.
1997-03-19 04:37:26 +00:00
David E. O'Brien
c85cfdb229 typo (nthe --> the) 1997-03-19 02:59:02 +00:00
Peter Wemm
c5d5416c2d MAXDIRSIZE is (or would be) used in fsck. It's a sanity check. 1997-03-18 19:52:17 +00:00
Peter Wemm
cc9d89901f Restore the lost MNT_LOCAL flag twiddle. Lite2 has a different mechanism
of setting it (compiled into vfs_conf.c), but we have a dynamic system
in place.  This could probably be better done via a runtime configure
flag in the VFS_SET() VFS declaration, perhaps VFCF_LOCAL, and have the
VFS code propagate this down into MNT_LOCAL at mount time.  The other FS's
would need to be updated, havinf UFS and MSDOSFS filesystems without
MNT_LOCAL breaks a few things..  the man page rebuild scans for local
filesystems and currently fails, I suspect that other tools like find
and tar with their "local filesystem only" modes might be affected.
1997-03-18 19:50:12 +00:00
Justin T. Gibbs
1c147cc352 aic7xxx.seq:
Stick 4 more, twin channel only, instructions behind
	.if ( TWIN_CHANNEL)

aic7xxx_asm.c:
	Add the -O options which allows the specification of which options
	to include in a program listing.  This makes it possible to easily
	determine the address of any instruction in the program across
	different hardware/option configurations.  Updated usage() as well.
1997-03-18 19:18:39 +00:00
Steve Passe
ba2c23286f Submitted by: Doug White <dwhite@gdi.uoregon.edu>
I broke the cable tuning with my 'TEST_A' code.  Remove TEST_A define
till I finish this change for both tuning modes.  Note that this
will effectively break the new TVTUNER_SETFREQ/TVTUNER_GETFREQ ioctl()s.
These aren't used by anyone but me yet (attempt to provide full resolution
fine tuning for "fringe" stations) so it should be no problem
1997-03-17 17:41:24 +00:00
David Greenman
dccee1a193 Fixed two deficiencies in the driver that have existed since it was
written:

1) Full duplex mode is now supported (and works!)
2) The 10Mbps-only PCI Pro/10 should now work (untested, however)

Thanks to Justin Gibbs for providing a PCI bus analyzer trace while the
Intel Windows driver was configuring the board...this made it possible
to figure out the mystery bit that I wasn't setting in the PHY for full
duplex to work.
1997-03-17 11:08:16 +00:00
Nate Williams
55e1a05578 Don't try to lint the gcc extension byte-swapping macros.
Submitted by:	Eivind Eklund <eivind@dimaga.com>
1997-03-17 00:51:51 +00:00
Bruce Evans
444f003cca Fixed null pointer panic in devtotty(). Fixed bounds checking in
devtotty().  devtotty() must check its arg carefully since the arg is
supplied as ioctl data.  This should fix PR3004.

Renamed devtotty() to snpdevtotty().
1997-03-16 19:11:40 +00:00
Justin T. Gibbs
34564ce31e Make this whitespace compatible with the change that I correctly committed
to the 2.2 branch for the new aic7xxx assembler.
1997-03-16 19:06:45 +00:00
Bruce Evans
60b161a92a Don't depend on <sys/types.h> being (bogusly) included by <stdio.h>. 1997-03-16 17:31:59 +00:00
Bruce Evans
54c4d30615 Fixed broken line continuation in the previous revision. Config apparently
has buggy backslash-newline handling.  Avoid it by using whitespace before
backslash-newline.
1997-03-16 17:25:53 +00:00
Bruce Evans
0617e8fdf6 Fixed missing line-continuation backslash in the previous revision. 1997-03-16 17:14:04 +00:00
KATO Takenori
3abc0e5cd9 Synchronize with sys/i386/boot/biosboot/sys.c revision 1.19. 1997-03-16 10:57:54 +00:00
Steve Passe
d380dd6d8e patches for bt848 specific hue/bright/contrast/satu/satv. 1997-03-16 07:40:01 +00:00
Steve Passe
55566fdc2f Submitted by: Amancio Hasty <hasty@rah.star-gate.com>
addition of bt848 specific ioctl()s for hue/bright/contrast/satu/satv.

patches by Amancio Hasty to fix "screen freeze" problem.
1997-03-16 07:37:23 +00:00
Justin T. Gibbs
65c303b1b1 Missed one. 1997-03-16 07:28:30 +00:00
Justin T. Gibbs
4a2a38f682 The register definitions are now in the compile directory. 1997-03-16 07:12:36 +00:00
Justin T. Gibbs
f9380a619e Adapt to some changes in the register definitions. Clear the selection
enable in SCSISEQ during error recovery to deal with the way the
sequencer leaves selections enabled now.  Add code to perform "patching"
during sequencer program download.

Spelling fixes obtained from NetBSD.
1997-03-16 07:12:07 +00:00
Justin T. Gibbs
25f864c494 The register definition file is now in the compile directory. 1997-03-16 07:09:32 +00:00
Justin T. Gibbs
8733b9a7ca Adapt build rules to new aic7xxx seqeuncer assembler. 1997-03-16 07:09:01 +00:00
Justin T. Gibbs
c5cb388883 Makefile gram.y scan.l sequencer.h symbol.c symbol.h aic7xxx_asm.c:
New sequencer assembler for the aic7xxx adapters.  This assembler
	performs some amount of register type checking, allows bit
	manipulation of symbolic constants, and generates "patch tables"
	for conditionalized downloading of portions of the program.
	This makes it easier to take full advantage of the different
	features of the aic7xxx cards without imposing run time penalies
	or being bound to the small memory footprints of the low end
	cards for features like target mode.

aic7xxx.reg:
	New, assembler parsed, register definitions fo the aic7xxx cards.
	This was done primarily in anticipation of 7810 support which
	will have a different register layout, but should be able to use
	the same assembler.  The kernel aic7xxx driver consumes a generated
	file in the compile directory to get the definitions of the register
	locations.

aic7xxx.seq:
	Convert to the slighly different syntax of the new assembler.

	Conditionalize SCB_PAGING, ultra, and twin features which shaves
	quite a bit of space once the program is downloaded.

	Add code to leave the selection hardware enabled during reconnects
	that win bus arbitration.  This ensures that we will rearbitrate
	as soon as the bus goes free instead of delaying for a bit.

	When we expect the bus to go free, perform all of the cleanup
	associated with that event "up front" and enter a loop awaiting
	bus free.  If we see a REQ first, complain, but attempt to
	continue.  This will hopefully address, or at least help diagnose,
	the "target didn't send identify" messages that have been reported.

Spelling corrections obtained from NetBSD.
1997-03-16 07:08:19 +00:00
Justin T. Gibbs
2edd1d6696 Add depend rule for the now compile time generated aic7xxx register file. 1997-03-16 06:52:27 +00:00
Joerg Wunsch
1355add51f Fix from Matt for the problem described in PR # kern/2990: ``DEC FDDI
is a little *too* promiscuous''

Also a 2.2 candidate, again, after testing.

Submitted by:	Matt Thomas <matt@lkg.dec.com>
1997-03-15 19:58:43 +00:00
Søren Schmidt
6ae8358759 Fix support for != 512 byte sector devices.
Restores the use of SBLOCK instead of the BSOFF/sectorsize calculation.
Using SBLOCK is bogus however in that it uses DEV_BSIZE instead of
the actual sector size, but that is taken care of in other places.
Changing the SBLOCK would be better, but it affects the system
in other places, and doing it this way makes it possible to
use filesystems that was made before the lite2 merge.
1997-03-15 18:58:10 +00:00
Bruce Evans
c24b67b188 Don't attempt to read past EOF.
Saved enough bytes to make room for this bloat (testing poff < inode.i_size
takes 56 bytes!) by copying fs to a local variable.
1997-03-15 16:49:51 +00:00
KATO Takenori
dfbc54730c Synchronize with sys/i386/conf/GNERIC revision up to 1.88. 1997-03-15 15:58:43 +00:00
KATO Takenori
38f8e5fbc7 Synchronize with sys/i386/i386/userconfig.c revision 1.85. 1997-03-15 15:44:05 +00:00
Garrett Wollman
7b187005d1 Add protoswitch entries for shortcut send/receive. Correct
a few misleading comments, and move allthe struct tag
forward declarations to be in one place.
1997-03-14 16:51:28 +00:00
Bruce Evans
25292acb24 Updated comment about npx0.
Added obsolete option GATEWAY so that kern_opt.c gets tested.

Added undocumented options LOCKF_DEBUG and SIMPLELOCK_DEBUG so
that these options get tested.  The addition of LOCKF_DEBUG shows
that all of kern/kern_lockf.c shouldn't have been moved from ufs.
The debugging parts are very fs-dependent.
1997-03-13 19:23:27 +00:00
Bruce Evans
a92a5c234e Quoted CMD640. It's still missing from options.i386.
Removed stale comment saying that npx0 is mandatory.
1997-03-13 19:03:58 +00:00
Joerg Wunsch
5cf816c239 Various stylistic improvements regarding num_eisa_slots & co.:
. properly declare the variable in in a .h file, as opposed to
  using a private extern declaration in userconfig.c;
. move the definition of EISA_SLOTS and therefore the inclusion of
  opt_eisa.h into eisaconf.c.
1997-03-13 18:04:05 +00:00
KATO Takenori
904385e65b Synchornize with sys/i386/conf/options.i386 revision 1.37. 1997-03-13 17:04:23 +00:00
KATO Takenori
b5ff11dbb6 Synchronize with sys/i386/isa/wd.c revision 1.126. 1997-03-13 17:00:27 +00:00
KATO Takenori
77fd6eeaf8 Synchronize with sys/i386/boot/biosboot/boot.c revision 1.64. 1997-03-13 16:58:15 +00:00
David Nugent
4511a3a921 Submitted by: Greg Ungerer <gerg@stallion.oz.au>
Update to version 1.0.0 of stallion.c from author.
1997-03-13 04:13:45 +00:00
David Nugent
1f77b941e5 Submitted by: Greg Ungerer <gerg@stallion.oz.au>
Update istallion driver to version 1.0.0 from author.
1997-03-13 03:51:25 +00:00
KATO Takenori
242b8c5441 Change #ifdef FreeBSD' to #ifdef __FreeBSD__'.
Submitted by:	H. Nokubi <h-nokubi@nmit.mt.nec.co.jp>
1997-03-13 02:10:21 +00:00
KATO Takenori
c4d420eee3 Added `\' (backslash) at the end of line in the CFLAGS definition.
Submitted by:	H. Nokubi <h-nokubi@nmit.mt.nec.co.jp>
1997-03-13 02:04:47 +00:00
Stefan Eßer
09d5def9ce Activate CMD640 workaround 1997-03-12 19:59:58 +00:00
Stefan Eßer
2928e6b5fd Add option CMD640 which is required to use both channels of that
EIDE chip
1997-03-12 19:11:59 +00:00
Stefan Eßer
f5cd278ca4 Add wdc_p.c for support of the CMD640 PCI EIDE chip. 1997-03-12 19:10:27 +00:00
Bruce Evans
051fc6fab1 Fixed setting of default kernel name when there is no boot.config file.
Didn't fix a more serious problem when boot.config is empty - read()
can't handle empty files.

Reported by:	Chris Timmons <skynyrd@opus.cts.cwu.edu>
1997-03-12 18:48:31 +00:00
Joerg Wunsch
1b0d314332 Since i don't see that anybody is implementing a more correct EISA
probing anytime soon, make EISA_SLOTS a fully supported option.  It's
required for the HP NetServer LC series machines.

Next stop: make dset(8) aware of it as well.
1997-03-12 17:41:35 +00:00
Stefan Eßer
e93e9e7392 Add support for the buggy CMD640B PCI EIDE controller chip, which
can't perform overlapping commands on both of its channels.

To enable the CMD640B work-around, the kernel must be compiled with
"options CMD640". Without that option there should be no difference
in the code produced compared to the previous revision of wd.c.

Submitted by:	Wolfgang Helbig <helbig@ba-stuttgart.de>
1997-03-11 23:17:28 +00:00
Bruce Evans
ed637f8f5f Fixed clist limits. I got them wrong several years ago in rev.1.9
(1994/11/26).  Packets with more than approximately 128 0xc0's or
0xdb's in them were untransmittable.
1997-03-11 19:39:21 +00:00
Joerg Wunsch
ad27a972d0 Retrofit Bruce's changes from rev 1.7. 1997-03-11 19:38:02 +00:00
KATO Takenori
078e650eb4 Synchronize with sys/i386/i386/userconfig.c revision 1.84. 1997-03-11 16:19:55 +00:00
KATO Takenori
ef5c2a7815 Synchronize with sys/i386/conf/majors.i386 revision 1.14. 1997-03-11 16:18:08 +00:00
Mike Smith
169b2e51e3 Avoid double-s when #conflicts drops from 10 to 9. 1997-03-11 07:11:46 +00:00
Joerg Wunsch
930bb1a4da Add a quirk entry for the HP6020i, after John has just confirmed that
it works now.

Submitted by:	jhay@zibbi.mikom.csir.co.za (John Hay)
1997-03-10 20:51:17 +00:00
Poul-Henning Kamp
fdc58e30da Add char#80 xdcp, assigned to Chris Ficklin <chris@serengeti.com> 1997-03-10 20:25:45 +00:00
Mark Murray
a30c77e886 Move this files* entry for the Brooktree TV driver toi the right 'files*'. 1997-03-10 17:55:49 +00:00
Mark Murray
51e053d6cc Initial import of the Brooktree PCI-TV drivers. I have not tested
these, they may not even compile. I am importing them on behalf
of the submitters.
Submitted by:	amancio, smp
1997-03-10 06:38:26 +00:00
KATO Takenori
d025bca112 Makefile generates boths IBM-PC and PC-98 version of object code in
apm_init.inc.  The PC-98 version of object is included in `#ifdef
PC98'.

Pointed-out by:	URATA Shuichiro <s-urata@nmit.tmg.nec.co.jp>
1997-03-09 16:46:05 +00:00
KATO Takenori
c8ac925d54 Added PC-98 specific function to get battery status.
Submitted by:	URATA Shuichiro <s-urata@nmit.tmg.nec.co.jp>
1997-03-09 16:40:13 +00:00
Bruce Evans
13a44161a2 Moved userland assembler macros from <machine/asmacros.h> to
<machine/asm.h>.
1997-03-09 13:57:33 +00:00
Bruce Evans
644ba7e84e Cloned src/lib/libc/i386/DEFS.h to create <machine/asm.h> for the i386.
The former file was too hard to get at from other parts of the src tree
and will go away.
1997-03-09 10:39:15 +00:00
Bruce Evans
7eff94279a YAMInTheWrongDirectionF22 (part of rev.1.28.2.3: set B_CLUSTEROK for
commits).
1997-03-09 10:21:26 +00:00
Mike Pritchard
d0ad3d988a Update a number of routines to reflect the actual name
of the routine that caused the panic.
1997-03-09 06:10:36 +00:00
Mike Pritchard
5ace3b260a Update a number of panic messages to reflect the actual name
of the routine that caused the panic.
1997-03-09 06:00:44 +00:00
Bruce Evans
2a31d924ab Use the common nchstats struct instead of a private one for ncs_2passes
and ncs_pass2.  The public one is already used for other cd9660 statistics
and the private one was effectively invisible.
1997-03-08 16:09:38 +00:00
Bruce Evans
90106ad38b Fixed missing initialisation of vp->v_type for types Pfile and Pmem
in procfs_allocvp().  This fixes at least stat() of /proc/*/mem.

stat() of /proc/*/file already worked.  I think procfs_allocvp() isn't
actually called for type Pfile.
1997-03-08 16:06:34 +00:00
KATO Takenori
593b35ace1 Synchronize with sys/i386/boot/biosboot/Makefile revision 1.55. 1997-03-08 15:46:59 +00:00
Bruce Evans
d8d6519c63 Fixed the hash formula. Lite2 doesn't have phashinit(), so Lite2's hash
formula uses `& nchash'.  This is very broken when nchash is a prime
number instead of 1 less than a power of 2, but the Lite2 formula was
merged in.

Merged some cosmetic changes from Lite2, rev.1.21 and Lite1.  The merge
was difficult because the Lite2 code is essentially ours (phk's) except
where Lite2 improved or broke it.

Summary of the Lite2 changes:
- in the copyright, phk's rights have been transferred to the Regents.
  This change should be reviewed.
- nchENOENT went away; the "no" vnode is now simply 0.
- comments were improved.
- style was "improved".
- goto instead of Fanatism (sic) was considered bad :-).
- there are some small changes to support whiteouts.
- new cache entries are added in more cases.  More work is required
  near here to change the hash table size if kern.desiredvnodes is
  changed using sysctl.
- rescanning of the hash bucket in cache_purgevfs() was removed.  This
  change should be reviewed.
1997-03-08 15:22:14 +00:00
Guido van Rooij
dfd0621acc Fix style bugs and other bugs in the NFS fix. 1997-03-08 15:14:30 +00:00
John Dyson
eb2c768ebb When removing IN_RECURSE support during the Lite/2 merge, read/write
to/from mmaped regions was broken.  This commit fixes the breakage, and
uses the new Lite/2 locking mechanisms.
1997-03-08 04:33:47 +00:00
John Dyson
d6faa36b42 Remove unnecessary check for vp->v_mount being null. Pointed
out by BDE.
1997-03-07 14:40:54 +00:00
Kazutaka YOKOTA
d36dc5e36b Made set_controller_command_byte() less verbose. It used to print a
debug message whenever one of lock keys were pressed, if the system
was started with the `-v' option.

Removed a couple of lines of dead code too.
1997-03-07 10:22:55 +00:00
Joerg Wunsch
e843ad34c1 Fix a bogon in pcvt that caused a characterset designation to not take
effect immediately, but required a following (normally redundant) G0
into GL mapping.  This adds one layer of indirection (thus might make it
slower), but fixes the broken box character drawing in pcvt.

Hellmuth and Bruce are unfortunately too busy too review this right now,
but i wanna have it in 2.2 since it has often been asked in the past.
1997-03-07 08:56:00 +00:00
Joerg Wunsch
f9ba24beed Fix the new (kbdio) keyboard layer to correctly work if PCVT_SCANSET == 2
even early in the boot process (boot -c or -d).

Submitted by:	yokota@zodiac.mech.utsunomiya-u.ac.jp (Kazutaka YOKOTA)
1997-03-07 08:53:16 +00:00
Gary Palmer
324d42ad57 Fix (I hope) the NFS hole. This is only compile tested.
Submitted by:	(partly) davids@SECNET.COM via BUGTRAQ
1997-03-07 07:42:41 +00:00
Joerg Wunsch
8a973ca81c Move pcvt towards using kbdio (finally!).
Warning: this won't work yet with PCVT_SCANSET=2 along in early
console mode (boot -c, or boot -d).

A big thanks to Kazutaka, and a word of apologies for delaying the
review for that long time...

Submitted by:	yokota@zodiac.mech.utsunomiya-u.ac.jp (Kazutaka YOKOTA)
1997-03-06 22:34:24 +00:00
Joerg Wunsch
f357773315 Merge Jason Thorpe's updated changer stuff into the actual system.
Many things have been changing in the kernel since mid-1996, so there's
quite some amount of diffs here already.  It compiles, but i cannot
test it anywhere here.

2.2 candidate?

Closes PR # 1201.
1997-03-06 15:36:45 +00:00
KATO Takenori
b95c15c20f Added missing i8251 code.
Submitted by:	H. Nokubi <h-nokubi@nmit.mt.nec.co.jp>
1997-03-06 15:07:04 +00:00
Stefan Eßer
81cf5d7aae improve pcibus_check: Only assume PCI if at least one PCI to anything bridge
on bus 0.
This fixes problems with EISA-only systems mistakenly being assumed to support PCI.
1997-03-05 20:52:00 +00:00
Bruce Evans
c68fa33937 Try a no-wait malloc first in clist_alloc_cblocks(). If this fails, then
complain and blunder on.

Should be in 2.2, preferably with a better fix.
1997-03-05 16:45:01 +00:00
Bruce Evans
a5c1768dd5 Made FPU stuff conditional on npx as well as I586_CPU. 1997-03-05 16:30:55 +00:00
KATO Takenori
85c57124b2 Synchronize with sys/i386/isa/clock.c revision 1.79. 1997-03-05 16:19:48 +00:00
Bruce Evans
bdca44f670 Added -mno-486 to CFLAGS to force smaller code in case someone compiles
with CC="cc -m486".  This doesn't fix PR2381, since PR2381 is for 2.1.x.
1997-03-05 15:43:03 +00:00
Julian Elischer
e990261c58 make the netatalk output routine matcy the prtotype used in the
protocol structure. Silences a warning from Gcc.
1997-03-05 09:17:38 +00:00
Bruce Evans
65ff42dd17 Only print clock calibration messages if the system was booted with -v.
Submitted by:	partly by gpalmer
1997-03-05 08:08:48 +00:00
Julian Elischer
499676df4d add a bunch of comments to describe what's going on.
This is some of the worst code I've had to wade through in
ages and I don't want to have to start from scratch again next time.

(I have a 2.2 version of these comments, can I commit them?)
1997-03-05 08:01:28 +00:00
David Greenman
2f2160da3b Fixed splbio problems in vinvalbuf. Closes PR#2875, although fixed
differently by me.
1997-03-05 04:54:54 +00:00
Mike Smith
789962659e Supply the mount point given to mfs_mount when getting a vnode for the
mount.  This may have been a contributor to the 'null v_mount in
fsync()' problem

This is another, perhaps slightly less urgent, 2.2 last-minute candidate.

Reviewed by:	sef
1997-03-05 01:57:54 +00:00
Mike Smith
3a558f83dd Check that vp->v_mount is non-null in fsync() before dereferencing it to
obtain the mountpoint's MNT_ASYNC flag.

This is a Very Definite Last-Minute 2.2 Bugfix Candidate.

Reviewed by:	sef
1997-03-05 01:42:14 +00:00
Gary Palmer
0b146b65d2 Back out the patch to break up the clock probe lines. Instead, follow
Bruce's suggestion of deleting "relative to mc146818A clock ",
thus shortening the line ...
1997-03-05 00:54:00 +00:00
Bruce Evans
e4c4150e70 Fixed connection of vfs.ffs node to the sysctl tree. 1997-03-04 18:35:15 +00:00
Bruce Evans
4a8b966013 Attach vfs_sysctl() one level lower so that only the levels below
VFS_GENERIC aren't done in the FreeBSD way.  The previous commit
broke the nfs sysctls.
1997-03-04 18:31:56 +00:00
Gary Palmer
5c5e8d766c Split the rather long and line-wrapping clock probe messages on boot.
(2.2?)

Submitted by:	Mathew Dood <winter@jurai.net>
1997-03-04 09:24:01 +00:00
KATO Takenori
5db523b1d5 Fixed devfs code. Old code remained in pc98 tree.
Submitted by:	URATA Shuichiro <s-urata@nmit.tmg.nec.co.jp>
1997-03-04 06:39:02 +00:00
KATO Takenori
541de8d9a5 Synchronize with sys/i386/isa/syscons.c revision 1.205. 1997-03-04 06:25:54 +00:00
Andrey A. Chernov
53490b7634 Oops, fix typo. 1997-03-03 23:02:43 +00:00
Andrey A. Chernov
30cf3ac460 Don't copy more than MAXLOGNAME bytes in getlogin() syscall,
it is stricter than padded s_login size check was there.
1997-03-03 22:46:16 +00:00
Bruce Evans
60e0f7e23d Don't export kernel interfaces to applications. msdosfs_mount probably
didn't compile before this change.

Added idempotency ifdef.
1997-03-03 17:36:11 +00:00
Bruce Evans
e4d202a8ae Fixed struct access bug and style bugs in previous revision. The same
fix as for syscons did not work because pcvt uses a struct where syscons
uses a struct pointer.
1997-03-03 16:33:41 +00:00
Bruce Evans
9bdc993298 Removed unused flag IN_RECURSE and unused struct member i_lockcount. 1997-03-03 16:25:46 +00:00
Bruce Evans
0d4c2cc0c7 Removed useless setting of IN_RECURSE. The (anti) locking for this needs
to be done in a different way, if at all.
1997-03-03 16:23:15 +00:00
Bruce Evans
3a76a5949b Merged Lite2's vfs_sysctl(). It doesn't fit very well into FreeBSD's
(phk's) sysctl framework, and I needed special code to disambiguate
the VFS_GENERIC node from the VFS_VFSCONF leaf, so I only converted
the leaves to the FreeBSD framework.  The error handling isn't quite
right.  CSRGS's sysctls seem to return ENOTDIR too much and FreeBSD's
sysctls don't agree with the man page.
1997-03-03 12:58:20 +00:00
Bruce Evans
379184c88d Fixed the getvfsbyname macro hack. 1997-03-03 11:55:47 +00:00
Andrey A. Chernov
964ca0caee Use MAXLOGNAME for stricter size check in setlogin() syscall instead of
sizeof of padded s_login array
1997-03-03 10:15:48 +00:00
Andrey A. Chernov
e91f3cb0c3 Use roundup(MAXLOGNAME, sizeof(long)) as e_login/s_login arrays size
instead of all hardcoded assumptions historically used
(i.e. sizeof(long) == 4)

Use MAXLOGNAME == 17 for stricter setlogin() size checking. Since
it rounds up to 20, all sizes remains the same
1997-03-03 09:51:15 +00:00
David Greenman
ddd79a9790 Improved performance of hash algorithm while (hopefully) not reducing
the quality of the hash distribution. This does not fix a problem dealing
with poor distribution when using lots of IP aliases and listening
on the same port on every one of them...some other day perhaps; fixing
that requires significant code changes.
The use of xor was inspired by David S. Miller <davem@jenolan.rutgers.edu>
1997-03-03 09:23:37 +00:00
Andrey A. Chernov
1366201aec Bump MAXLOGNAME to 20 to really hold 16-bytes user names + NUL
and decrease spare array by one to keep the same size of eproc
1997-03-03 08:34:08 +00:00
Andrey A. Chernov
3bf4871a36 Restore MAXLOGNAME comment, but in slightly different form 1997-03-03 08:05:03 +00:00
Andrey A. Chernov
3005821598 Back out 1.21 change because MAXLOGNAME _not_ includes NUL character in BSD 1997-03-02 21:21:08 +00:00
Bruce Evans
dc91a89e83 Restored some pre-Lite2-merge source-level compatibility to the mount()
and getvfsbyname() interfaces.  The new interfaces are now hidden from
applications unless _NEW_VFSCONF is defined.  The new vfsconf interfaces
don't work yet.
1997-03-02 17:53:37 +00:00
Peter Wemm
413e00145c Import ipfilter 3.1.8 kernel components 1997-03-02 15:50:35 +00:00
Peter Wemm
2236e17352 This commit was generated by cvs2svn to compensate for changes in r23285,
which included commits to RCS files with non-trunk default branches.
1997-03-02 15:50:35 +00:00
Peter Wemm
3589f3628a Replacement import of ipfilter 3.1.7 components used in kernel.
(This is to repair the vendor branching)
1997-03-02 15:49:41 +00:00
Peter Wemm
5c45aebbdc This commit was generated by cvs2svn to compensate for changes in r23282,
which included commits to RCS files with non-trunk default branches.
1997-03-02 15:49:41 +00:00
John-Mark Gurney
4eaede87b0 add the same fix to pcvt that I did to syscons. Make sure that the signals
provided by the user are valid else return EINVAL.

Reviewed-by: joerg
1997-03-02 14:03:33 +00:00
Bruce Evans
a896f0256c Moved vfs sysctls to where Lite2 put them. No code changes yet. 1997-03-02 11:06:22 +00:00
Joerg Wunsch
8830f80880 Remove an extraneous shift operation. The facility macros do already
shift the value.

Submitted by:	Andre.Albsmeier@mchp.siemens.de (Andre Albsmeier)
1997-03-02 09:19:15 +00:00
John-Mark Gurney
5ec8909366 make sure that the user supplied signals in struct vt_mode are actually
valid signals, else return EINVAL for ioctl VT_SETMODE.

this fixes a problem that anybody with vty access can panic the system.

2.2-Candidate (and 2.1.0 I believe)

Reviewed-by: sos
1997-03-01 23:53:46 +00:00
Bruce Evans
e9ca7be82f Added some nfs #includes so that netboot compiles again. Lite2 made the
nfs includes even more order-dependent and less documented than before.
1997-03-01 17:59:04 +00:00
Wolfram Schneider
6faaa756b5 Include copyright message from <sys/copyright.h> 1997-03-01 17:49:09 +00:00
KATO Takenori
7f247c74a9 Synchronize with sys/i386/conf/options.i386 revision 1.36. 1997-03-01 11:06:41 +00:00
KATO Takenori
070c946661 Synchronize with sys/i386/isa/syscons.c up to revision 1.204. 1997-03-01 10:53:07 +00:00
Justin T. Gibbs
8a709f7876 When we perform an "automatic request sense", we issue an untagged command.
The sequencer expects untagged transactions to have the SCBID of the
transaction in the "busy target" array.  So, ensure that the busy entry
is up to date for the target in this case.  The new identify code in the
sequencer that performs additional sanity checking got caught up when a
tagged transaction created an untagged request sense.

In ahc_handle_seqint, ensure that the target ID is taken from the right
place.  In the case of a selection, the ID is in SCSIID.  In the case of
a reconnection it is found in SELID.
1997-03-01 06:50:41 +00:00
Andrey A. Chernov
50ac8e2f59 Add missing #include <machine/segments.h> for ISPL and SEL_UPL macros 1997-03-01 05:44:09 +00:00
Wolfram Schneider
44f2eddeef Copyright macros and FreeBSD copyright definition. 1997-02-28 23:32:02 +00:00
Bill Fenner
e1596dff1e Fix a comment and some commented-out code in ip_mloopback to
reflect how multicast loopback really works.
1997-02-28 19:40:48 +00:00
Bruce Evans
2ca8d13195 Fixed a panic in nfs_writevp(). Lite2 provided a fix for a silly
missing-parentheses bug, but this exposed a misplaced vfs_busy_pages().
This bug cost a factor of 2.5-3 in nfsv3 write performance!  It should
be fixed in 2.2.

Removed some debugging code that gets triggered often in normal
operation.  There are still many backwards diagnostics (#define
DIAGNOSTIC gives no diagnostics).

Submitted by:	vfs_busy_pages() fix by dfr
1997-02-28 17:56:27 +00:00
Bruce Evans
98d0a0b543 Removed nonexistent option PSM_NO_RESET. 1997-02-28 16:56:06 +00:00
Bruce Evans
201d7c413d Fixed spelling error in a variable name. 1997-02-28 14:26:34 +00:00
Bruce Evans
9bb932b6f2 Print function args in the current radix instead of always in hex.
Print the stack pointer together with the frame pointer in the trap,
syscall and interrupt messages.  The frame pointer is not very useful
for locating syscall args since syscall functions don't have a frame
pointer.

Print all the numbers in the trap, syscall and interrupt messages in
the default radix.  The syscall number was confusing because it was
printed in decimal.

Use %#n format more and 0x%x less.  0x%x of course doesn't work with
a variable radix.  ddb is now fairly consistent about using %+#n to
print all numbers.  It omits the '+' for signed numbers the '#' in a
few cases (e.g., for function args) to save space.
1997-02-28 12:36:18 +00:00
Bruce Evans
93437134e2 Added a copyright and restored order. 1997-02-28 10:14:24 +00:00
Kazutaka YOKOTA
a87be5f49e Removed an obsolete test which prevented mouse movement from quiting
screen saver. Added a missing `break' statement  in set_normal_mode().

Reviewed by: sos
1997-02-28 08:42:35 +00:00
KATO Takenori
75492a101b Synchronize with NetBSD/pc98 patch level 81.
Submitted by:	Naofumi Honda <honda@Kururu.math.hokudai.ac.jp>
Obtained from:	NetBSD/pc98 patch level 81
1997-02-28 08:34:06 +00:00
Bruce Evans
014e652753 Fixed the gcc ellipsis change to work with gcc-1.x. 1997-02-28 07:12:34 +00:00
Justin T. Gibbs
bccca068ce Functionalize some code that was repeated throughout the driver.
Fix a bug in the initialization of the busreset_args that left the B channel
args unitialized and the A channel ones initialized to B's vales.  Oops.

If we get a NO_IDENT sequencer interrupt (the reconnecting target didn't
issue an identify or botched it), reset the bus instead of panicing.  We
should be able to recover from this error.

In the AWAITING_MSG handler, order messages by severity.  Since the message
we send is based on a flag on the SCB, it is possible, during error recovery,
to get more than one flag set.  This is fine since any time a new flag is
set, it is meant to take us to a more draconian level of recovery.  This
also ensures that we don't lose any "history" of what the command has gone
through.

When we reset the bus, reset the "send ordered tag" bitmask.

Clear some additional interrupt status when we perform a bus reset.
1997-02-28 03:58:21 +00:00
Justin T. Gibbs
9b2a5540ff No longer clear all interrupt status when the sequencer is reset. The only
time that we really want to do this is when a bus reset causes the sequencer
to be reset and the kernel driver now handles this case.

Remove some reordering in the select2 routine that wasn't necessary.
It was an experimental fix for a race condition I fixed elsewhere, and
confused the code flow.

Don't bother looping on a parity error in the mesgout loop since we can't
see parity errors on out phases.

Clean up the mesgin_identify code.  In the old days, we "snooped" for tag
messages and used this as an indicator of whether or not the target was
using tagged transactions.  This forced the sequencer to ack the identify
before determining if a valid SCB matched the target meaning that an abort
message to handle this case might not be seen before the target entered a
data phase.  Since we can determin the "tagged-ness" of a target by looking
it up in the array of busy targets (recently introduced), we can determine
this up front simplifying the search code as well as ensuring we can follow
the SCSI specs method for rejecting a reselection.

When an SCB is placed on the free list, set its SCB_TAG to SCB_LIST_NULL.
This makes it much easier for the kernel driver to find active SCBs on the
card during error recovery.
1997-02-28 03:51:00 +00:00
Bruce Evans
a1ab34e3d0 Wrapped mi_switch() with splstatclock()/splx(). This fixes excessive
interrupt latency for certain cases involving for restarting stopped
processes.
1997-02-27 18:03:48 +00:00
Bruce Evans
886ee0aa9f Fixed loading of vfs's. The Lite2 merge added unnecessary compatibility
cruft and resulted in loading usually following a null pointer.  Use
something closer to the pre-Lite2 code, including not making a copy of
the new filesystem's config info.  Not making a copy also fixes a race
for loading and a memory leak for unloading.

Fixed unloading of vfs's.  maxvfsconf wasn't maintained.

Look up the vfs to unload by name instead of by number.  The numbers
should go away as soon as all mount utilities are converted.
1997-02-27 16:40:20 +00:00
Bruce Evans
b98afd0d00 Fixed Lite2 merge of spechash simplelocking. It was misplaced in
checkalias() and missing in vfinddev() and vcount().
1997-02-27 16:08:43 +00:00
Bruce Evans
2f558c3e59 Removed a wrong LK_INTERLOCK flag. 1997-02-27 15:38:41 +00:00
John Dyson
fd7f690f94 Fix the previous simple_lock fix breakage in the combined
vput/vrele routine.  Fix a panic message.  Fix the vop_nounlock
routine so that "special" filesystems that use it work correctly.
1997-02-27 05:28:58 +00:00
John Dyson
0d955f71a1 Fix the simple_lock problem with the physical I/O buffer code, and
also fix the missing simple_unlock in vrele, and improve vrele/vput
by merging them into one routine.  BDE pointed these problems out.
1997-02-27 02:57:03 +00:00
Bruce Evans
7c1557c4af Fixed unmounting of the root fs. vfs_unmountroot() wasn't fully updated
to do Lite2 locking and vfs_unmountall() wasn't as simple as the Lite2
version.
1997-02-26 15:35:42 +00:00
Bruce Evans
af3f60d5a8 Updated msdosfs to use Lite2 vfs configuration and Lite2 locking. It
should now work as (un)well as before the Lite2 merge.
1997-02-26 14:23:16 +00:00
Mike Pritchard
326bb3d177 Silence -Wall when SYSLOG_NAMES is defined.
Submitted by:	davidn
1997-02-26 06:03:20 +00:00
John Dyson
626808a8f2 Correct the port of ext2fs to Lite/2. I incorrectly used ufs_reclaim
instead of ffs_reclaim.
1997-02-26 05:08:18 +00:00
Bruce Evans
c35e283a80 Merged some missing locking from Lite2:
- getnewvnode() and vref() were missing one simple_unlock() each.
- the Lite2 locking changes weren't merged at all in
  printlockedvnodes() or sysctl_vnode().  Merging these undid
  some KNF style regressions.
1997-02-25 19:33:23 +00:00
KATO Takenori
f3af5d6cd0 Synchronize with sys/i386/i386/machdep.c revision 1.229. 1997-02-25 16:36:48 +00:00
Justin T. Gibbs
3aaa276222 Make it clearer how the termination settings from the PCI probe are used by
the ahc_init routine.
1997-02-25 03:06:19 +00:00
Justin T. Gibbs
5a02006d3e Fix numerous problems with the abort/recovery code. Highlights include fixing
a race condition in how SDTR and WDTR negotiation are handled, fixes for multi-lun
non-tagged device recovery, and ensuring that the timedout scbs in the waiting queue
are cleaned up.

Fix a problem with SCB paging that caused bogus residuals to be reported.
1997-02-25 03:05:35 +00:00
Justin T. Gibbs
9df674522b Leave reselections on all the time.
If we are aborting an SCB from findSCB, don't add it back to the free list -
	the kernel driver will do this for us.
1997-02-25 03:02:58 +00:00
Garrett Wollman
8c9b80bcd6 Add new kern.ipc MIB branch constants and mbuf stats. 1997-02-24 20:32:10 +00:00
Garrett Wollman
b110a8a2b3 Fix #include order. 1997-02-24 20:31:25 +00:00
Garrett Wollman
639acc13e2 Create a new branch of the kernel MIB, kern.ipc, to store
all of the configurables and instrumentation related to
inter-process communication mechanisms.  Some variables,
like mbuf statistics, are instrumented here for the first
time.

For mbuf statistics: also keep track of m_copym() and
m_pullup() failures, and provide for the user's inspection
the compiled-in values of MSIZE, MHLEN, MCLBYTES, and MINCLSIZE.
1997-02-24 20:30:58 +00:00
Bruce Evans
9135a51377 Use Lite2's stub locking vops instead of nullop. 1997-02-24 17:08:49 +00:00
Bruce Evans
a3d13e5054 Fixed procfs's locking vops. They were missed in the Lite2 merge,
partly because the #define's for them were moved to a different
file.  At least the null VOP_LOCK() no longer works, since vclean()
expects VOP_LOCK( ..., LK_DRAIN | LK_INTERLOCK, ...) to clear the
interlock.  This probably only matters when simple_lock() is not
null, i.e., when there are multiple CPUs or SIMPLELOCK_DEBUG is
defined.
1997-02-24 16:44:11 +00:00
Alexander Langer
a28b3400eb Typo police. 1997-02-24 00:37:43 +00:00
Joerg Wunsch
ec65be11ef Add support for the SMC9332BDT that's using the DE21140A chip. This
is merely a stop-gap measure until we can import an upgraded driver
from Matt Thomas.

Closes PR # 2696, and most likely also 2767.

OKed by:	core
1997-02-23 10:57:30 +00:00
Peter Wemm
79403fe300 Revert $FreeBSD$ to $Id$ 1997-02-23 09:21:14 +00:00
Peter Wemm
b97fa2ef50 Revert $FreeBSD$ to $Id$ 1997-02-22 14:13:04 +00:00
Peter Wemm
d050e1a8a0 Regenerate to include correct Id string 1997-02-22 12:52:35 +00:00
Peter Wemm
4a0f765fbf Revert $FreeBSD$ back to $Id$ 1997-02-22 12:49:29 +00:00
Peter Wemm
6875d25465 Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not
ready for it yet.
1997-02-22 09:48:43 +00:00
Mike Pritchard
77bf994fe8 Support the installation of character devices via an lkm.
Closes PR# 1716

Submitted by:	jpt@magic.net
1997-02-22 01:20:57 +00:00
Andrey A. Chernov
faad6f1e34 Increase FD_SETSIZE back to 1024, select code fixed now 1997-02-21 23:15:17 +00:00
Garrett Wollman
cf4dae1061 Properly notice error returns from if_allmulti(). 1997-02-21 18:34:58 +00:00
Garrett Wollman
ef53690bb4 Fix potential crash where a user attempts to perform an implied
connect in TCP while sending urgent data.  It is not clear what
purpose is served by doing this, but there's no good reason why it
shouldn't work.

Submitted by:	tjevans@raleigh.ibm.com via wpaul
1997-02-21 16:30:31 +00:00
Nate Williams
5d156f4397 Argh, this time get the parentheses right. This hasn't been a good day for me. 1997-02-21 05:46:57 +00:00
Nate Williams
9de5530881 Whoops, make sure we have enough parenthesis.
Pointed out by:	bde
1997-02-21 01:29:32 +00:00
Garrett Wollman
7e05e70c2c Fix the parameters of a call to in_setsockaddr(). 1997-02-20 18:39:33 +00:00
Bruce Evans
d5e4d7e154 Improved select():
- avoid malloc() if the number of fds is small.
- pack the bits better so that `small' is quite large.
- don't waste time generating zero bits for null fd_set pointers or
  scanning these bits.

Possibly improved select():
- free malloc()ed storage before returning.  This is simpler and I
  think huge select()s aren't worth optimizing since they are rare,
  relative gain would be small and there would be tiny costs for all
  selects().

Reviewed by:	ache (first version by him too)
1997-02-20 11:51:52 +00:00
Garrett Wollman
b1396a353b Make the operation of sonewconn1() a bit clearer by calling
pru_attach() before putting the new connection on the
connection queue.
1997-02-19 19:15:43 +00:00
KATO Takenori
7fc3f77fbc Moved nqnfs_vop_lease_check() inside #ifndef NFS_NOSERVER.
So, NFS_NOSERVER kernel can be compiled again.
1997-02-19 14:30:41 +00:00
Darren Reed
f1743588c7 change IP Filter hooks to match new 3.1.8 patches for FreeBSD 1997-02-19 14:02:27 +00:00
KATO Takenori
655c4c9dab Synchronize with sys/i386/isa/wd.c revision 1.124. 1997-02-19 13:19:08 +00:00
KATO Takenori
b18cdf97dd Synchronize with sys/i386/boot/biosboot/boot.h revision 1.16. 1997-02-19 13:06:03 +00:00
Satoshi Asami
1e0a4ffa26 Set RELDATE=300000. With the parallel version development, it has
become impractical to distinguish versions using "real" release dates, so
might as well make it correspond to real version number (-current is
on the 3.0 branch) so at least the feature increments are guaranteed to
be linear.

Silently approved by:	current list
1997-02-19 06:05:48 +00:00
David Greenman
e47bda0730 Fix from PR #2757:
execve() clears the P_SUGID process flag in execve() if the binary
executed does not have suid or sgid permission bits set.

This also happens when the effective uid is different from the real
uid or the effective gid is different from the real gid. Under
these circumstances, the process still has set id privileges and
the P_SUGID flag should not be cleared.

Submitted by:	Tor Egge <Tor.Egge@idt.ntnu.no>
1997-02-19 03:51:34 +00:00
Justin T. Gibbs
4d04269a37 Fix some more problems in the recovery code.
Cleanup of the disconnected list was broken in the SCB paging case
    (confusion of NULLand SCB_LIST_NULL)
Implement a clean mechanism for determining that we have exited the timeout
    state and test for this in ahc_done instead of all over the place.
Bring back the use of AAP (Auto Access Pause) I don't think it was the
    true cause of the bus hangs people were reporting.
We want to reset the bus if we've been through an Abort action, not if
    we are a recovery SCB (one implies the other, but not vice-versa).
1997-02-19 01:00:51 +00:00
Mike Smith
a7d3b81100 Use the same blocks->size-in-MB conversion algorithm as the SCSI code
to avoid overflowing an intermediate value for disks > 2^32 bytes
large.
1997-02-18 23:31:53 +00:00
Garrett Wollman
c20ac0292f Declare the new generic EOPNOTSUPP routines. 1997-02-18 20:47:24 +00:00
Garrett Wollman
117bcae7c4 Convert raw IP from mondo-switch-statement-from-Hell to
pr_usrreqs.  Collapse duplicates with udp_usrreq.c and
tcp_usrreq.c (calling the generic routines in uipc_socket2.c and
in_pcb.c).  Calling sockaddr()_ or peeraddr() on a detached
socket now traps, rather than harmlessly returning an error; this
should never happen.  Allow the raw IP buffer sizes to be
controlled via sysctl.
1997-02-18 20:46:36 +00:00
Garrett Wollman
d8392c6c39 uipc_mbuf.c: do a better job of counting how often we have to wait
for memory, or are denied a cluster.

uipc_socket2.c: define some generic ``operation-not-supported'' entry points
for pr_usrreqs.
1997-02-18 20:43:07 +00:00
Justin T. Gibbs
df98fb1bb2 Kill the initialization of two old scratch ram variables. They were removed
to make space for the larger message buffer.
1997-02-18 20:23:09 +00:00
Justin T. Gibbs
5154778752 Enlarge the message out buffer from 6 to 8 bytes. Now that sync and wide
negotiation messages may be tagged, we were overrunning the old buffer.
The variable that was getting squashed is updated before the message goes
out, causing corrupted SDTR or WDTR messages.  Depending on the phases
traversed before message out, this could cause the wrong offset to be
negotiated allowing data overruns to occur.  The problem is easier to
detect with wide targets on the chain since the allowed offset is smaller.

Also removed the unnecessary  clearing of SPIORDY during the message out
phase.  We don't rely on SPIORDY any more.
1997-02-18 20:22:52 +00:00
Nate Williams
9b4e82f125 Try to make the BROKEN_VLSI chipset detection better, and not break
non-broken chipssets whose ID is 0x84, such as the one found in the NEC
6030H.

> The code relies on the assumption that on a genuine_broken vlsi, you
> don't get 0x84 when probing slot 1 in the normal location.  On the versa I
> do get 0x84 when probing slot 1 in the normal location.  What you get on
> genuine_broken at the normal slot 1 location is unknown to me;

Submitted by:	Chris Timmons <skynyrd@opus.cts.cwu.edu>
1997-02-18 19:20:52 +00:00
Bruce Evans
b0a5b85d06 Fixed biosboot to compile with Lite2. <sys/lock.h> is now a prerequisite
for <ufs/ufs/inode.h>.
1997-02-18 15:09:39 +00:00
Bruce Evans
d314500e7e This now uses queue macros. Include <sys/queue.h> if !KERNEL to preserve
the documented interface.
1997-02-18 15:03:17 +00:00
Bruce Evans
a8687b6dcd Added some ufs #includes so that this compiles with option LOCKF_DEBUG.
Moving this all from ufs wasn't a good move.  At least the debugging
routines depend on the file system.

Cleaned up the LOCKF_DEBUG #includes.
1997-02-18 14:37:26 +00:00
Bruce Evans
697030ed3d Removed vestiges of Mach lock types.
vm_map.h:
Removed #include of <sys/proc.h>.  curproc is only used in some macros
and users of the macros already include <sys/proc.h>.
1997-02-18 14:07:03 +00:00
Bruce Evans
cd9307f60d Changed type of t_line from u_char to int. The Lite2 merge blew away
rev.1.6 which changed it from char to int.
1997-02-18 09:26:15 +00:00
Bruce Evans
78fd7b3d49 Fixed namei caching for LOOKUPs. It was broken for lstat() and olstat().
Successful lstat()s purged an existing entry as well as not caching the
result.

This bug was introduced in Lite1 by setting the LOCKPARENT flag for
[o]lstat() in order to support the inherit-attributes-from-parent-
directory misfeature for symlinks.  LOCKPARENT was previously only set
for CREATEs and DELETEs.  It is now set for LOOKUPs, but only for
[o]lstat(), so the problem wasn't very noticeable.
1997-02-18 06:46:41 +00:00
Bruce Evans
25ed2ac223 Changed #ifdef COMPAT_PRELITE2' to #ifndef NO_COMPAT_PRELITE2' so that
the old VFS_VFSCONF sysctl is enabled by default.

Initialize the vfc_vfsops field to non-NULL in sysctl_ovfs_conf()
so that the old VFS_VFSCONF sysctl actually works.  The old (still
current) getvfsent.c uses this "kernel-only" field to decide which
vfs's are configured (the old implementation returned null entries
for unconfigured vfs's).
1997-02-18 04:58:11 +00:00
Bruce Evans
bd6d39b941 Changed #ifdef COMPAT_PRELITE2' to #ifndef NO_COMPAT_PRELITE2' so that
old nfs mount calls are supported by default.
1997-02-18 04:40:38 +00:00
Justin T. Gibbs
4e605384b5 Don't rely on AAP(Auto Access Pause) when queueing SCBs to the card. This
will increase the overhead of queueing a command, but some recent bug reports
make me believe that AAP isn't really working and that we are losing some
SCBs from the input queue.  Hopefully this will cure that problem.

Fix some bugs in the error recovery code.  Mainly these could cause us to
inadvertantly forget to untimeout an SCB that was recovered causing later
confusion.
1997-02-18 04:25:31 +00:00
David Greenman
70e534e78f Pass P_SUGID on to the child of a fork(). It was possible to get rlogin
to coredump previously since it (somewhat uniquely) is setuid and forks
without execing, and thus without passing P_SUGID the child could
coredump and possibly divulge sensitive information (such as encrypted
passwords from the passwd database).
1997-02-17 10:58:46 +00:00
Bruce Evans
f79ef55e7a Replaced START_ENTRY by _START_ENTRY. -current hasn't got my cleanup
of DEFS.h which renamed it.
1997-02-17 07:21:28 +00:00
Bruce Evans
dab159e3d6 Select between the generic math functions and the i387-specific ones
at runtime.

etc/make.conf:
Nuked HAVE_FPU option.

lib/msun/Makefile:
Always build the i387 objects.  Copy the i387 source files at build
time so that the i387 objects have different names.  This is simpler
than renaming the files in the cvs repository or repeating half of
bsd.lib.mk to add explicit rules.

lib/msun/src/*.c:
Renamed all functions that have an i387-specific version by adding
`__generic_' to their names.

lib/msun/src/get_hw_float.c:
New file for getting machdep.hw_float from the kernel.

sys/i386/include/asmacros.h:
Abuse the ENTRY() macro to generate jump vectors and associated code.
This works much like PIC PLT dynamic initialization.  The PIC case is
messy.  The old i387 entry points are renamed.  Renaming is easier
here because the names are given by macro expansions.
1997-02-16 18:26:31 +00:00
Andrey A. Chernov
a859cfcea9 Back ut FD_SETSIZE increasing until related kernel issues will be resolved 1997-02-16 06:39:43 +00:00
Andrey A. Chernov
acc2427984 Bump default FD_SETSIZE from 256 to 1024 as many modern
systems do nowdays (like SunOs 5.5.1 f.e.)
256 is too small under real network load
1997-02-15 22:26:29 +00:00
Garrett Wollman
d0390e0570 Fix the mechanism for choosing wehether to save the slow-start threshold
in the route.  This allows us to remove the unconditional setting of the
pipesize in the route, which should mean that SO_SNDBUF and SO_RCVBUF
should actually work again.  While we're at it:

- Convert udp_usrreq from `mondo switch statement from Hell' to new-style.
- Delete old TCP mondo switch statement from Hell, which had previously
  been diked out.
1997-02-14 18:15:53 +00:00
Garrett Wollman
4a26224c8d Send RTM_IFINFO messages whenever promiscuous and all-multicast
modes are enabled or disabled.
1997-02-14 15:30:54 +00:00
David Greenman
0305f20493 Changed timeout for requesting sense from 100ms to 1 second.
Submitted by:	gibbs
1997-02-14 03:13:37 +00:00
Bruce Evans
661e2ccd94 Changed #include order to match better order in 2.2. 1997-02-13 22:48:19 +00:00
Garrett Wollman
39191c8eb8 Provide PRC_IFDOWN and PRC_IFUP support for IP. Now, when an interface
is administratively downed, all routes to that interface (including the
interface route itself) which are not static will be deleted.  When
it comes back up, and addresses remaining will have their interface routes
re-added.  This solves the problem where, for example, an Ethernet interface
is downed by traffic continues to flow by way of ARP entries.
1997-02-13 19:46:45 +00:00
Garrett Wollman
30f700e9c7 Provide an alternative mbuf cluster allocator which permits use of
clusters greater than one page in length by calling contigmalloc1().
This uses a helper process `mclalloc' to do the allocation if
the system runs out at interrupt time to avoid calling contigmalloc
at high spl.  It is not yet clear to me whether this works.
1997-02-13 19:41:40 +00:00
Garrett Wollman
10825343b0 Provide an alternative interface to contigmalloc() which allows a specific
map to be used when allocating the kernel va (e.g., mb_map).  The VM
gurus may want to look this over.
1997-02-13 19:37:40 +00:00
KATO Takenori
def9b7665d Synchronize with sys/i386/isa/syscons.c revision 1.201. 1997-02-13 18:43:50 +00:00
KATO Takenori
8ea8b7549d Synchronize with sys/i386/boot/biosboot/boot.c revision 1.62. 1997-02-13 18:41:03 +00:00
Garrett Wollman
5bee01c83f For large values of sb_max or MCLBYTES, it was possible for the expression
sb_max * MCLBYTES / (MSIZE + MCLBYTES)
used in sbreserve() to overflow, causing all socket creation attempts
to fail.  Force the calculation to use u_quad_t's, which makes overflow
less likely.
1997-02-13 18:05:46 +00:00
Bruce Evans
8363c19687 Get defaults for the boot device (and flags) from the file
"boot.config" (relative to the root directory on the 'a' partition
on the first BSD slice) if it exists.  If it doesn't exist, then
the only visible changes should be that the kernel name isn't reset
to "/kernel" after looking it up fails and that the default name
is now "kernel".

The new function readfile() can be used for other things:
- reading help messages.
- reading splash screens.
- reading userconfig info.
1997-02-13 13:15:47 +00:00
Søren Schmidt
cc5625f0ed Oops, cut/paste could be done on tthe WRONG vty :(
pointed out by Kazu.
1997-02-13 11:58:49 +00:00
Bruce Evans
a7d00b5bf6 Moved definition of FUNCTION_ALIGNMENT to a machine-dependent place.
Changed it from 4 to 16 for i386's.  It can be anything for i386's,
but compiler options limit it to a power of 2, and assembler and
linker deficiencies limit it to a small power of 2 (<= 16).
We use 16 in the kernel to get smaller tables (see Makefile.i386 and
<machine/asmacros.h>).  We still use the default of 4 in user mode.

Use HISTCOUNTER instead of (*kcount) in the definition of KCOUNT()
for consistency with other macros.
1997-02-13 10:47:29 +00:00
Bruce Evans
47cac30b9a Align text to 16-byte boundaries if profiling is enabled. This will
allow a fourfold reduction in the size of the profiling buffers.  This
goes with rev.1.91 of Makefile.i386 which does the same thing for C
functions.
1997-02-13 08:31:53 +00:00
Bruce Evans
eb26546e6f Killed more FIFO ifdefs. All gone now. 1997-02-13 01:13:13 +00:00