Commit Graph

9967 Commits

Author SHA1 Message Date
KATO Takenori
87884aad6e Workarround for DIAGNOSTIC kernel's panic in union_lookup().
Union_removed_upper() clobbers cache when file is removed.
Upper vp will be removed by union_reclaim().
1998-02-06 02:42:21 +00:00
John Dyson
7d6c26d67e Add MNT_LAZY. 1998-02-05 17:27:42 +00:00
John Dyson
857fe6801a Fix an omission of a line from the previous commit to this file. The
problem appeared to be an NFS hang.
1998-02-05 16:40:57 +00:00
KATO Takenori
7b0c16d8af Sync with sys/i386/isa/if_ed.c revision up to 1.132. 1998-02-05 10:17:57 +00:00
KATO Takenori
d13e38ae9d Sync with sys/i386/isa/isa.c revision 1.110. 1998-02-05 10:06:42 +00:00
KATO Takenori
3efe1bb939 Sync with sys/i386/i386/machdep.c and trap.c reivsions 1.287 and
1.121, respectively.
1998-02-05 10:05:47 +00:00
Eivind Eklund
09ae1abd69 Add PnP support to if_ed.c. 1998-02-05 04:08:41 +00:00
John Dyson
95461b450d 1) Start using a cleaner and more consistant page allocator instead
of the various ad-hoc schemes.
2)	When bringing in UPAGES, the pmap code needs to do another vm_page_lookup.
3)	When appropriate, set the PG_A or PG_M bits a-priori to both avoid some
	processor errata, and to minimize redundant processor updating of page
	tables.
4)	Modify pmap_protect so that it can only remove permissions (as it
	originally supported.)  The additional capability is not needed.
5)	Streamline read-only to read-write page mappings.
6)	For pmap_copy_page, don't enable write mapping for source page.
7)	Correct and clean-up pmap_incore.
8)	Cluster initial kern_exec pagin.
9)	Removal of some minor lint from kern_malloc.
10)	Correct some ioopt code.
11)	Remove some dead code from the MI swapout routine.
12)	Correct vm_object_deallocate (to remove backing_object ref.)
13)	Fix dead object handling, that had problems under heavy memory load.
14)	Add minor vm_page_lookup improvements.
15)	Some pages are not in objects, and make sure that the vm_page.c can
	properly support such pages.
16)	Add some more page deficit handling.
17)	Some minor code readability improvements.
1998-02-05 03:32:49 +00:00
Eivind Eklund
47cfdb166d Turn DIAGNOSTIC into a new-style option. 1998-02-04 22:34:03 +00:00
Eivind Eklund
4c890f3b43 Remove old, commented-out option SUIDDIR after Julian added a proper
entry for it.
1998-02-04 22:03:27 +00:00
Eivind Eklund
8e734a64e3 Make the LKMs handle DIAGNOSTIC as a new-style option. 1998-02-04 21:56:39 +00:00
David Greenman
1540674007 Restrict idleprio to superuser:
Realtime priority has to be restricted for reasons which should be
obvious. However, for idle priority, there is a potential for
system deadlock if an idleprio process gains a lock on a resource
that other processes need (and the idleprio process can't run
due to a CPU-bound normal process). Fix me! XXX
PR: 5639
1998-02-04 18:43:10 +00:00
Jordan K. Hubbard
8fc933e5ae MF22: update to newest version from author. 1998-02-04 15:04:09 +00:00
KATO Takenori
8e1f6a1f4a Sync with sys/i386/conf/options.i386 revision 1.71. 1998-02-04 10:22:05 +00:00
KATO Takenori
99b1ec9000 Sync with sys/i386/i386/machdep.c revision 1.286. 1998-02-04 10:19:33 +00:00
Eivind Eklund
346ebe5115 Change LINT_PCCARD_HACK to COMPILING_LINT, and put it in its own header file
"opt_lint.h".  This should prevent the next person needing the same trick
from inventing their own option, too.
1998-02-04 04:41:37 +00:00
Eivind Eklund
cecc50bcd3 Make SPX_HACK a new-style option. 1998-02-04 04:12:29 +00:00
Eivind Eklund
cb71d9bfa8 Make this work with SPX_HACK as a new-style option. 1998-02-04 04:07:43 +00:00
Eivind Eklund
ec1f7adf74 Put SCSI_2_DEF in opt_scsi.h. This cause a lot more recompliation than
necessary when this option change, but I don't think it is worth its own
header file.
1998-02-04 03:59:50 +00:00
Eivind Eklund
7dff14331f Make FAILSAFE a new-style option. 1998-02-04 03:47:16 +00:00
Eivind Eklund
0fec5b52a7 Add #include "opt_devfs.h" 1998-02-04 03:30:31 +00:00
Eivind Eklund
287591d703 Re-add my DEVFS changes after they were stomped on. This time, I throw away
the DEVFS tokens (as they weren't used anywhere anyway).
1998-02-04 03:16:25 +00:00
Eivind Eklund
a30e742145 Make LINT at least compile. This faithfully duplicate the changes
done to ufs/ufs/ufs_vnops.c for the same problem, but I don't know if
that will actually make SUIDDIR work for ext2fs.
1998-02-04 01:16:03 +00:00
Bruce Evans
9357fa70bd Cleaned up some comments and ifdefs. 1998-02-03 22:32:23 +00:00
Bruce Evans
e7a5897899 Added #include of <sys/queue.h> so that this file is more "self"-sufficent. 1998-02-03 22:19:35 +00:00
Bruce Evans
f77c781169 Forward declare a struct and #include <sys/queue.h> so that this file
is more "self"-sufficent.
1998-02-03 22:17:45 +00:00
Bruce Evans
44429dc4f7 Converted DISABLE_PSE to a new-style option.
Fixed some formatting in options.i386.
1998-02-03 22:09:01 +00:00
Bruce Evans
a4b6385ede Fixed pedantic syntax errors. 1998-02-03 21:56:42 +00:00
Bruce Evans
9cf2c3e77a Forward declare some structs so that this file is more self-sufficient. 1998-02-03 21:52:02 +00:00
Bruce Evans
a3bdf7a34c Fixed staticization. 1998-02-03 21:41:12 +00:00
Bruce Evans
c53e436efc Forward declare some structs so that this file is more self-sufficient.
Don't declare kernel objects or functions unless KERNEL is defined.
1998-02-03 21:39:30 +00:00
Bruce Evans
a8961a8284 Ifdefed some SMP and VM86 code. Note that although VM86 is not a global
option, the ifdef on it in a header works because only the name of the
VM86 extension is hidden.
1998-02-03 21:27:50 +00:00
Bruce Evans
318ed3ed7a Forward declare a union so that this file is self-sufficient.
Cleaned up ifdefs.
1998-02-03 20:46:18 +00:00
Bruce Evans
b9759fe4f9 Fixed a gratuitous ANSIism. 1998-02-03 20:37:29 +00:00
Bruce Evans
7a1a679ecb Ifdefed use of a GNU feature. 1998-02-03 20:32:38 +00:00
Bruce Evans
65fa467e59 Moved misplaced idempotency ifdef. Multiple inclusion was fatal since
there was a typedef outside the ifdef.

Fixed syntax error after the #endif for this ifdef.

Didn't fix the usual style bugs for this ifdef...
1998-02-03 20:24:13 +00:00
Bruce Evans
98a6e74553 Changed inline' to __inline' so that this file can be compiled by
`gcc -ansi'.

Changed NULL to 0 so that this file is more self-sufficient (now
only <sys/types.h> is a prerequisite).
1998-02-03 20:14:35 +00:00
Bruce Evans
eafe3040d4 Don't declare prototypes for driver functions unless KERNEL is defined. 1998-02-03 20:07:02 +00:00
Bruce Evans
919de96974 Fixed conflicts between <machine/console.h> and <machine/pcvt_ioctl.h>,
so that it is possible for kdump and truss to include them both.  Use
#defines from pcvt_ioctl.h in conflicting cases, since pcvt_ioctl.h
gives a hint about the bogus third arg to _IO().  Ifdef the common
typedefs.  Export `struct key_t' from pcvt_ioctl.h so pcvt_ioctl.h is
bug for bug compatible with console.h (now both are broken in C++
mode).
1998-02-03 19:57:46 +00:00
Bruce Evans
a92ae47539 Updated generated files. 1998-02-03 17:52:21 +00:00
Bruce Evans
14f1d4260d Fixed type of mincore(). 1998-02-03 17:45:43 +00:00
Bruce Evans
125ff6b079 Generate a forward declaration of `struct proc' in <sys/sysproto.h>.
Removed extra args to a printf.

Fixed some style inconsistencies (unnecessary parentheses for printf).
awk is not C.
1998-02-03 17:39:13 +00:00
KATO Takenori
4e649c4174 Declare the variable `i' when UMAP_DIAGNOSTIC is defined. 1998-02-03 14:30:01 +00:00
John Dyson
e736cd05cb This fix should help the panic problems in -current. There
were some errors in "interval" management.  Due to the
clustering mechanism, the code is necessarily complex and
error prone.
1998-02-03 00:50:36 +00:00
Amancio Hasty
2b1973e8ad Bugs/Enhancements:
1. Takeshi Ohashi <ohashi@atohasi.mickey.ai.kyutech.ac.jp> submitted
   code to support bktr_read . /usr/src/share/examples/rgb24.c now works 8)

2. Flemming Jacobsen <fj@schizo.dk.tfs.com> submitted code to support
   radio available with in some bt848 based cards;additionally, wrote
   code to correctly recognized his bt848 card.
3. Roger Hardiman <roger@cs.strath.ac.uk> submitted various fixes to smooth
   out the microcode and made all modes consistent.

4. Added supported for yuv12 so we know can capture raw streams and feed it
   to mpeg_encoder . The upshot is that we can now mpeg encode more and save
   nearly 100 percent of the disk requirements previously for programs such
   as fxtv first save the raw video image to disk then converted to a
   format suitable for mpeg_encode.
1998-02-02 13:09:12 +00:00
KATO Takenori
bdfc13309c Sync with sys/i386/isa/wd.c revision 1.150. 1998-02-02 09:52:28 +00:00
KATO Takenori
4e82d9dc12 Fixed bugs introduced by syncing with i386/isa/sio.c revision 1.143.
Submitted by:	Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>
1998-02-02 07:59:05 +00:00
KATO Takenori
971c9159f8 Sync with sys/i386/boot/biosboot/boot.c revision 1.70. 1998-02-02 07:56:14 +00:00
KATO Takenori
27b31fd7be Cosmetic changes (indentation, reordering and using existing file name).
Pointed by:	Michio "Karl" Jinbo <karl@marcer.nagaokaut.ac.jp>
1998-02-02 07:55:31 +00:00
KATO Takenori
698059e01d Sync with sys/i386/conf/files.i386 revision 1.69.
Pointed by:	KAHO Toshikazu <kaho@rocky.kais.kyoto-u.ac.jp>
Forgotten by:	kato
1998-02-02 07:50:12 +00:00
John Dyson
5abb66d243 Return the vm_map in the eproc structure, so we can support more accurate
VSZ display in PS.
1998-02-02 05:14:03 +00:00
Bruce Evans
af3b301b36 Fixed disordering of busdma* and swi_vm. 1998-02-01 23:00:53 +00:00
Bruce Evans
e29b867bd6 Fixed a recently broken comment. 1998-02-01 22:45:23 +00:00
Alexander Langer
fdcef9e647 Added inet6 to CTL_NET_NAMES. 1998-02-01 22:44:16 +00:00
Bruce Evans
b8c7cb30ab Don't set even parity uselessly in the line control register (parity
is not enabled).

Saved a few bytes by reusing the line control register bits and not
loading the speed in the wrong (cpu) register.
1998-02-01 22:39:24 +00:00
Bruce Evans
da171a03a8 Use <machine/*.h> instead of <i386/include/*.h>. 1998-02-01 22:23:18 +00:00
Bruce Evans
9d00d065d6 Fixed a sloppy common-style declaration again. 1998-02-01 22:14:24 +00:00
Bruce Evans
f0791ddea7 Fixed disordering of *cam* and splsoftvm. 1998-02-01 22:04:58 +00:00
Bruce Evans
909696cc72 Removed unused #includes. 1998-02-01 21:57:49 +00:00
Bruce Evans
bc3de552ad Moved declaration of `union nethostadr' outside of the KERNEL section,
to give pollution compatible with <nfs/nqfs.h>.  At least mount_nfs.c
previously had to #define KERNEL before including <nfs/nfs.h> to get
this pollution, but this gave other pollution.

Moved comment about NFSINT_SIGMASK to immediately before the code that
it applies to.
1998-02-01 21:23:29 +00:00
Bruce Evans
850047383e Forward declare more structs that are used in prototypes here - don't
depend on <sys/types.h> forward declaring common ones.

Added an underscore to `sin' in prototypes to avoid warnings for the
conflict with the ANSI sin().
1998-02-01 20:34:07 +00:00
Bruce Evans
ffbedc02de Removed ifdef for <sys/sockio.h> vs <sys/ioctl.h>. <sys/sockio.h> is
a BSD4.4Lite1 feature, not a FreeBSD feature.  <sys/ioctl.h> is a
compatibility misfeature.

Moved NPCI ifdef.  This file didn't compile if NPCI <= 0.  It shouldn't
be configured in that case, but it is easy to support (mis)configuration
of drivers without buses by generating null objects, and many drivers
do it.

Removed unused includes.
1998-02-01 20:25:16 +00:00
Bruce Evans
8bcc577e92 Forward declare more structs that are used in prototypes here - don't
depend on <sys/types.h> forward declaring common ones.
1998-02-01 20:08:39 +00:00
Bruce Evans
b163ce2f65 Fixed the search for free wd drives. The search was terminated
prematurely when there was a hole (for a cdrom or an unused
interface) in the sequence of wd drives.  This caused non-free
wd units to be probed as atapi drives.  There was no problem
provided the atapi probe failed correctly.
1998-02-01 19:10:04 +00:00
Bruce Evans
76d0502a56 Declare printf() instead of including <stdio.h>, so that this doesn't
depend on anything outside of "sys".

Removed an unused include.

Don't use `extern' in a function declaration.
1998-02-01 18:53:09 +00:00
Bruce Evans
2625bd3484 Declare printf() instead of including <stdio.h>, so that this doesn't
depend on anything outside of the "sys" tree.
1998-02-01 18:47:56 +00:00
Bruce Evans
98f3fd4b49 Don't put "-I." in ${CFLAGS} here. bsd.kmod.mk now puts an absolute
path to the obj directory in ${CFLAGS}.  This is actually equivalent
to "-I." since bsd.kmod.mk also puts -I- in ${CFLAGS}.
1998-02-01 18:12:15 +00:00
Garrett Wollman
f57e23d3a2 Serves me right for committing code late at night...
Fix the SCIOCGETDEVINFO code so that it compiles, and while I'm at it,
add support for human-readable device names so that I don't have
to call devname(3) on  the scd->dev to get it.
1998-02-01 18:09:50 +00:00
Bruce Evans
609e0c94f2 Don't put a path to "sys" in ${CFLAGS} here. bsd.kmod.mk now handles
this more generally.
1998-02-01 17:59:59 +00:00
Bruce Evans
77783a2701 Don't handle the `machine' symlink or related include paths here.
bsd.kmod.mk now handles it more generally.
1998-02-01 17:53:56 +00:00
Bruce Evans
4d889d1c84 Fixed breakage from converting NULLFS_DEBUG to a new-style option. 1998-02-01 17:34:11 +00:00
Bruce Evans
021886ff87 Restrict the include search path using -nostdinc -I- in $(CFLAGS} as
in kernel Makefiles.  Nothing in /usr/include is used (provided
relative paths for sys/* and <machine> can be found), so there is
no need for the -I/usr/include kludge as in kernel Makefiles.
1998-02-01 17:19:54 +00:00
KATO Takenori
9b9171060e Added tx driver.
Pointed-out by:	NOKUBI Hirotaka <hnokubi@yyy.or.jp>
1998-02-01 11:42:55 +00:00
John Dyson
9cfcd01101 Back out recent laptop sync changes. They had significant errors. 1998-02-01 08:24:00 +00:00
Steve Price
3398edcee9 Revert previous commit. Remove all ifp->if_* = 0 initializations,
since pkh made tunctl static in revision 1.17 these are already
guaranteed to be zero'd and tunattach will only be called once.

Pointed out by: Bruce Evans and Bill Fenner
1998-02-01 05:36:44 +00:00
Kazutaka YOKOTA
2c2491393e Make RAWBOOT functional again; don't read boot.config' and boot.help'
if RAWBOOT is defined.
Reviewed by: bde
Submitted by: Takeshi Amaike <amaike@iri.co.jp>
1998-02-01 05:24:24 +00:00
Garrett Wollman
158f45f157 Add a new ioctl, SCSIOCGETDEVINFO, which takes a device ID and uses it
to look up information about that device.  Right now, all it does
is give back the dev_t for the device, if known, since that's all
I needed, but hopefully the SCSI mavens will come up with a more generally
useful structure.
1998-02-01 04:13:13 +00:00
John Dyson
1f13bdaa97 Fix a performance problem caused by an earlier commit. 1998-02-01 02:00:20 +00:00
John Dyson
de1050d8e4 Support more intelligent sync operations for MNT_NOATIME.
PR: kern/5577
Submitted by:	Craig Leres <leres@ee.lbl.gov>
1998-02-01 01:59:12 +00:00
John Dyson
c15541e7a7 contigalloc doesn't place the allocated page(s) into an object, and
now this breaks vm_page_wire (due to wired page accounting per object.)

This should fix a problem as described by Donald Maddox.
1998-01-31 20:30:18 +00:00
Julian Elischer
cb800e3451 add the SUIDDIR option and tell people what it is for. (And when NOT to use it) 1998-01-31 19:41:27 +00:00
Julian Elischer
abafd7f814 Serves me right for not puting SUIDDIR in LINT. it got bitrot.
This should stop complaints about it not working for people.
1998-01-31 19:28:28 +00:00
KATO Takenori
187344e72d Sync with sys/i386/i386/trap.c revision 1.120. 1998-01-31 15:16:27 +00:00
KATO Takenori
23e499c5f0 Sync with sys/i386/isa/isa.c revision 1.109. 1998-01-31 14:48:52 +00:00
KATO Takenori
e2e660e926 Sync with sys/i386/conf/options.i386 revision 1.70. 1998-01-31 14:10:14 +00:00
KATO Takenori
f84d885c42 Sync with sys/i386/conf/Makefile.i386 revision 1.107. 1998-01-31 13:45:28 +00:00
John Dyson
eaf13dd73a Change the busy page mgmt, so that when pages are freed, they
MUST be PG_BUSY.  It is bogus to free a page that isn't busy,
because it is in a state of being "unavailable" when being
freed.  The additional advantage is that the page_remove code
has a better cross-check that the page should be busy and
unavailable for other use.  There were some minor problems
with the collapse code, and this plugs those subtile "holes."

Also, the vfs_bio code wasn't checking correctly for PG_BUSY
pages.  I am going to develop a more consistant scheme for
grabbing pages, busy or otherwise.  For now, we are stuck
with the current morass.
1998-01-31 11:56:53 +00:00
KATO Takenori
59a7338440 Deleted unused file.
Submitted by:	NOKUBI Hirotaka <hnokubi@yyy.or.jp>
1998-01-31 11:40:32 +00:00
KATO Takenori
5d755e0334 Delte unused files.
Submitted by:	NOKUBI Hirotaka <hnokubi@yyy.or.jp>
1998-01-31 11:32:39 +00:00
Eivind Eklund
3f2076daf5 Make the debug options new-style.
This also zaps a DPT option from lint; it wasn't referenced from
anywhere.
1998-01-31 07:23:16 +00:00
Eivind Eklund
2166d84372 Attempt at making this use DEVFS properly. (Now it should at least work.) 1998-01-31 05:23:49 +00:00
Eivind Eklund
e0d781f3a5 Make POWERFAIL_NMI, PPS_SYNC and NATM new style options.
This also fixes a couple of defunct options; submitted by bde.
1998-01-31 05:00:21 +00:00
Eivind Eklund
c6b60f62de Add support for cleandepend, ${DESTDIR}, and there not being a file named
${DESTDIR}/kernel.
1998-01-31 04:23:15 +00:00
Eivind Eklund
c6de6a69a1 Add various options people have ignored.
Submitted by:	bde
1998-01-31 03:33:51 +00:00
Eivind Eklund
828084926f Skip probing devices which have already probed true. 1998-01-31 03:29:00 +00:00
Eivind Eklund
eaa22ef760 Remove unused devfs include. (Julian or Satoshi might want to add proper
DEVFS support here; just including the header file doesn't do any good, and
would make this depend on opt_devfs.h)
1998-01-31 03:19:06 +00:00
Eivind Eklund
e363c5ae0a Add #include "opt_devfs.h". 1998-01-31 02:58:53 +00:00
Eivind Eklund
5212dc9c0b Include "opt_nfs.h"
Pointed out by: Eric L. Hernes <erich@lodgenet.com>
1998-01-31 02:53:41 +00:00
Eivind Eklund
26d8676da5 Include "opt_devfs.h". 1998-01-31 02:50:37 +00:00
Tor Egge
f5160d1e06 Release the buffer when an error occurs while reading directory entries. 1998-01-31 01:27:18 +00:00
Kazutaka YOKOTA
daf09234ec Synchronize with ../biosboot/Makefile.
- Remove reference to the obsolete options: BOOT_PROBE_KEYBOARD,
  BOOT_PROBE_KEYBOARD_LOCK and BOOT_FORCE_COMCONSOLE.
- Add reference to BOOT_COMCONSOLE_SPEED.
1998-01-31 01:20:56 +00:00
Tor Egge
d09a16d804 Update freevnodes when adding a vnode to the head of the free list. 1998-01-31 01:17:58 +00:00
John Hay
40f001c97d Don't clobber pp_flags when PP_KEEPALIVE must be set. 1998-01-30 19:49:54 +00:00
KATO Takenori
81b0d36c87 Sync with sys/i386/i386/machdep.c revision 1.285. 1998-01-30 12:03:13 +00:00
Poul-Henning Kamp
c5b193bfba Retire LFS.
If you want to play with it, you can find the final version of the
code in the repository the tag LFS_RETIREMENT.

If somebody makes LFS work again, adding it back is certainly
desireable, but as it is now nobody seems to care much about it,
and it has suffered considerable bitrot since its somewhat haphazard
integration.

R.I.P
1998-01-30 11:34:06 +00:00
John Dyson
0621c31aaf Make the bounce buffer code a little more robust when space isn't
available.  If there isn't bounce space available, the bounce code
is disabled.  This will allow most large systems to run properly
when the bounce space is mistakenly allocated above 16MB.
1998-01-30 10:26:26 +00:00
Paul Traina
5a00d1c6ed Remove obsolete strategy code that was replaced by the disk slice mapping code.
FreeBSD filesystems could be dammaged by repeatedly mounting and unmounting
several partitions.
1998-01-29 19:02:51 +00:00
Jordan K. Hubbard
5f408f2bf2 Update to version stable-165
Submitted by:	Ustimenko Semen <semen@iclub.nsu.ru>
1998-01-29 10:31:45 +00:00
Mike Smith
4a8aee409f Correct usage of unit to t->lun. This fixes the DEVFS case and the
"buggy Zip" message.
Suggested by:	Pedro A M Vazquez <vazquez@IQM.Unicamp.BR>
1998-01-29 06:42:12 +00:00
KATO Takenori
bbc4f6d526 Sync with sys/i386/isa/clock.c revision 1.108. 1998-01-28 12:25:06 +00:00
KATO Takenori
febdf8331f Sync with sys/i386/boot/biosboot/Makefile revision 1.61. 1998-01-28 12:20:57 +00:00
Poul-Henning Kamp
53dd848c82 APM calls inittodr(0) which is stupid, but at least stop setting the
clock back to when Dennis had a good idea.
1998-01-28 10:41:33 +00:00
Kazutaka YOKOTA
ef65ade83a Define CTL-ALT-ESC as the debug' key, CTL-ALT-SPACE as the suspend'key
in all built-in keymaps.
1998-01-28 08:45:18 +00:00
Mike Smith
0b771fd153 Symlink bootblocks for 'wfd' disks as well. 1998-01-27 16:56:43 +00:00
Mike Smith
c67d7e8aa2 Fix operation with the Iomega Zip 100 ATAPI.
All known versions of this drive (firmware 21.* and 23.*) will lock up
if presented with a read/write request of > 64 blocks.  In the presence
of such a unit, I/O requests of > 64 blocks are fragmented to avoid
this.
1998-01-27 16:49:35 +00:00
Mike Smith
facf6a3fbe Check the status port after waiting for DRQ; some drives seem to be very
slow coming off the bus (eg. Iomega's ATAPI Zip).  Failure to do
this results in a false probe of an ATAPI device with garbage
data.
1998-01-27 16:45:23 +00:00
David Greenman
c3229e05a3 Improved connection establishment performance by doing local port lookups via
a hashed port list. In the new scheme, in_pcblookup() goes away and is
replaced by a new routine, in_pcblookup_local() for doing the local port
check. Note that this implementation is space inefficient in that the PCB
struct is now too large to fit into 128 bytes. I might deal with this in the
future by using the new zone allocator, but I wanted these changes to be
extensively tested in their current form first.

Also:
1) Fixed off-by-one errors in the port lookup loops in in_pcbbind().
2) Got rid of some unneeded rehashing. Adding a new routine, in_pcbinshash()
   to do the initialial hash insertion.
3) Renamed in_pcblookuphash() to in_pcblookup_hash() for easier readability.
4) Added a new routine, in_pcbremlists() to remove the PCB from the various
   hash lists.
5) Added/deleted comments where appropriate.
6) Removed unnecessary splnet() locking. In general, the PCB functions should
   be called at splnet()...there are unfortunately a few exceptions, however.
7) Reorganized a few structs for better cache line behavior.
8) Killed my TCP_ACK_HACK kludge. It may come back in a different form in
   the future, however.

These changes have been tested on wcarchive for more than a month. In tests
done here, connection establishment overhead is reduced by more than 50
times, thus getting rid of one of the major networking scalability problems.

Still to do: make tcp_fastimo/tcp_slowtimo scale well for systems with a
large number of connections. tcp_fastimo is easy; tcp_slowtimo is difficult.

WARNING: Anything that knows about inpcb and tcpcb structs will have to be
         recompiled; at the very least, this includes netstat(1).
1998-01-27 09:15:13 +00:00
KATO Takenori
5be975adf0 Execute cpuid if BIOS disables cpuid instruction of Cyrix 6x86MX CPU. 1998-01-27 08:12:09 +00:00
John Dyson
3f89af99f4 Someone removed vm_zone.c from /sys/conf/files. 1998-01-27 01:54:25 +00:00
Bruce Evans
4a2d2630c8 Generate symlinks to the "sys" and <machine> directories and put
them in the include path.  This fixes recent breakage of the syscons
LKMs and general brokenness of the include paths (headers under
/usr/include were used in many cases).
1998-01-26 20:36:38 +00:00
Brian Somers
a512daba6c Correct $Id$ 1998-01-26 19:52:34 +00:00
Julian Elischer
3458e54ac1 Move DPT related options out of i386 specific files
so DPT devices can be used on other PCI (alpha?) machines.

Suggested by: several people
1998-01-26 18:31:18 +00:00
KATO Takenori
be2a40ab9b Sync with sys/i386/i386/userconfig.c revision 1.101. 1998-01-26 09:18:18 +00:00
KATO Takenori
15ebf6c973 Sync with sys/i386/confi/files.i386, majors.i386 and options.i386
revisions 1.187, 1.25 and 1.68, respectively.
1998-01-26 09:17:43 +00:00
Julian Elischer
16094866e7 Add the DPT driver and options.
GENERIC with dpt may wait a few days if required.
1998-01-26 06:33:48 +00:00
Julian Elischer
b37c91fdc7 Add Simon Shapiro's DPT driver
this shouldn't break anything existing.
Userland utilities to follow.
1998-01-26 06:11:18 +00:00
Peter Wemm
7ee3907f2a re-sort back into order 1998-01-26 04:44:32 +00:00
Peter Wemm
855b08ed7b Add missing definition for swi_vm 1998-01-26 04:41:23 +00:00
KATO Takenori
e881afe741 Undo previous commit. The cpuid symbol has been already used by SMP
stuff.

Pointed-out by:	Manfred Antar <root@mantar.slip.netcom.com>
1998-01-25 23:45:41 +00:00
Steve Price
e2f6977240 Initialize if_ibytes and if_obytes to zero.
PR:		1376
Submitted by:	risner@stdio.com
1998-01-25 17:54:57 +00:00
Steve Price
694ad0a9b1 Fix a couple of operator precedence bugs.
PR:		5450
Submitted by:	Sakari Jalovaara <sja@tekla.fi>
1998-01-25 17:25:41 +00:00
KATO Takenori
31e6b13443 Added cpuid instruction. 1998-01-25 17:02:00 +00:00
KATO Takenori
2f5a8c876a Execute cpuid if BIOS disables cpuid instruction of Cyrix 6x86MX CPU,
and store its result into cpu_id and cpu_feature variables.

Tested by:	Simon Coggins <chaos@ultra.net.au>
1998-01-25 17:01:31 +00:00
KATO Takenori
88a92ff10e Even though BIOS writer's guide recommends cpuid instruction of Cyrix
6x86MX CPU is enabled (BIOS should not disable it), some BIOS disables
it via CCR4.  In this case, cpu variable becomes CPU_486 and
identblue() is called.  Because Cyrix 6x86MX has MSR and doesn't have
MSR1002, wrmsr instruction generates general protection fault.

Tested by:	Simon Coggins <chaos@ultra.net.au>
1998-01-25 12:01:38 +00:00
KATO Takenori
40f6a786db Sync with sys/i386/conf/options.i386 revision 1.67. 1998-01-25 09:45:38 +00:00
KATO Takenori
9758931d62 Fixed typo in comment. 1998-01-25 09:44:33 +00:00
John Dyson
33b90a70cd Various NFS fixes:
Make vfs_bio buffer mgmt work better.
	Buffers were being used after brelse.
	Make nfs_getpages work independently of other NFS
		interfaces.  This eliminates some difficult
		recursion problems and decreases pagefault
		overhead.
	Remove an erroneous vfs_unbusy_pages.
	Fix a reentrancy problem, with nfs_vinvalbuf when
		vnode is already being rundown.
	Reassignbuf wasn't being called when needed under
		certain circumstances.

	(Thanks to Bill Paul for help.)
1998-01-25 06:24:09 +00:00
John Dyson
8447a0aed7 Various NFS fixes:
Make vfs_bio buffer mgmt work better.
	Buffers were being used after brelse.
	Make nfs_getpages work independently of other NFS
		interfaces.  This eliminates some difficult
		recursion problems and decreases pagefault
		overhead.
	Remove an erroneous vfs_unbusy_pages.
	Fix a reentrancy problem, with nfs_vinvalbuf when
		vnode is already being rundown.
	Reassignbuf wasn't being called when needed under
		certain circumstances.

	(Thanks for help from Bill Paul.)
1998-01-25 06:14:26 +00:00
Eivind Eklund
bed196b4e2 Turn CLK_USE_TSC_CALIBRATION into a new-style option. 1998-01-25 04:37:47 +00:00
Eivind Eklund
92252381f3 Make TCP_COMPAT_42 a new style option. 1998-01-25 04:23:33 +00:00
Eivind Eklund
f71bb3a160 Turn NSWAPDEV into a new-style option. 1998-01-25 04:13:25 +00:00
Eivind Eklund
c007c0bc64 Remove the FDSEEKWAIT option and description.
The functionality was present for two days in october/november 1994
before being backed out; I don't think we can consider it really
critical ;-)
1998-01-25 03:55:47 +00:00
Eivind Eklund
455bb2116c Make MD5 a new-style option. This one was eeeeeaaaaaasssssyyyyy ;-) 1998-01-25 03:34:17 +00:00
KATO Takenori
3d2db2b0dc Sync with sys/i386/conf/GENERIC revision 1.105. 1998-01-25 02:22:04 +00:00
Kazutaka YOKOTA
a364145b79 Small adjustment in sync check code. 1998-01-24 12:12:32 +00:00
KATO Takenori
55bcdaeda5 Sync with sys/i386/isa/wd.c revision 1.148. 1998-01-24 06:54:17 +00:00
KATO Takenori
19eba5818f Sync with sys/i386/i386/machdep.c revision 1.283. 1998-01-24 06:53:32 +00:00
KATO Takenori
7ebb9221f6 Sync with sys/i386/i386/machdep.c revision 1.282. 1998-01-24 03:15:37 +00:00
Eivind Eklund
7b778b5e61 Make all file-system (MFS, FFS, NFS, LFS, DEVFS) related option new-style.
This introduce an xxxFS_BOOT for each of the rootable filesystems.
(Presently not required, but encouraged to allow a smooth move of option *FS
to opt_dontuse.h later.)

LFS is temporarily disabled, and will be re-enabled tomorrow.
1998-01-24 02:54:56 +00:00
Eivind Eklund
7f4ba71355 LKM-support for converting all file-system options to new-style options. 1998-01-24 02:21:53 +00:00
John Dyson
50ce7ff499 Add better support for larger I/O clusters, including larger physical
I/O.  The support is not mature yet, and some of the underlying implementation
needs help.  However, support does exist for IDE devices now.
1998-01-24 02:01:46 +00:00
John Dyson
2d8acc0f4a VM level code cleanups.
1)	Start using TSM.
	Struct procs continue to point to upages structure, after being freed.
	Struct vmspace continues to point to pte object and kva space for kstack.
	u_map is now superfluous.
2)	vm_map's don't need to be reference counted.  They always exist either
	in the kernel or in a vmspace.  The vmspaces are managed by reference
	counts.
3)	Remove the "wired" vm_map nonsense.
4)	No need to keep a cache of kernel stack kva's.
5)	Get rid of strange looking ++var, and change to var++.
6)	Change more data structures to use our "zone" allocator.  Added
	struct proc, struct vmspace and struct vnode.  This saves a significant
	amount of kva space and physical memory.  Additionally, this enables
	TSM for the zone managed memory.
7)	Keep ioopt disabled for now.
8)	Remove the now bogus "single use" map concept.
9)	Use generation counts or id's for data structures residing in TSM, where
	it allows us to avoid unneeded restart overhead during traversals, where
	blocking might occur.
10)	Account better for memory deficits, so the pageout daemon will be able
	to make enough memory available (experimental.)
11)	Fix some vnode locking problems. (From Tor, I think.)
12)	Add a check in ufs_lookup, to avoid lots of unneeded calls to bcmp.
	(experimental.)
13)	Significantly shrink, cleanup, and make slightly faster the vm_fault.c
	code.  Use generation counts, get rid of unneded collpase operations,
	and clean up the cluster code.
14)	Make vm_zone more suitable for TSM.

This commit is partially as a result of discussions and contributions from
other people, including DG, Tor Egge, PHK, and probably others that I
have forgotten to attribute (so let me know, if I forgot.)

This is not the infamous, final cleanup of the vnode stuff, but a necessary
step.  Vnode mgmt should be correct, but things might still change, and
there is still some missing stuff (like ioopt, and physical backing of
non-merged cache files, debugging of layering concepts.)
1998-01-22 17:30:44 +00:00
KATO Takenori
ececc3f031 Sync with sys/i386/i386/userconfig.c revision 1.100. 1998-01-22 14:26:34 +00:00
KATO Takenori
774f324f38 Added dealy.
Submitted by:	Kawanobe Koh <kawanobe@st.rim.or.jp>
1998-01-22 03:52:55 +00:00
KATO Takenori
bda1412586 Delete unused code in union_fsync(). 1998-01-22 02:14:59 +00:00
Jordan K. Hubbard
9d8d61fb4d Add entry for SMC 9432TX cards (tx driver). 1998-01-21 19:25:49 +00:00
Jordan K. Hubbard
ec4f65d24f Add entries for tx card. 1998-01-21 18:34:47 +00:00
Jordan K. Hubbard
0aed583274 Driver for the new SMC 9432TX cards.
Submitted by:	Ustimenko Semen <semen@iclub.nsu.ru>
1998-01-21 18:33:00 +00:00
Jordan K. Hubbard
d8f643d7e1 Add support for tx driver. 1998-01-21 18:31:20 +00:00
Justin T. Gibbs
44be5ce870 Add prototypes for swi_vm, setsoftvm, schedsoftvm, and splsoftvm that were
missed when I originally committed the bus dma code.
1998-01-21 18:28:49 +00:00
John Dyson
480ba2f552 Allow gdb to work again. 1998-01-21 12:18:00 +00:00
Andrey A. Chernov
f1f68c89d6 Add SCSI-SCSI RAID from Infotrand as known device 1998-01-21 08:03:37 +00:00
Bill Fenner
764d8cef56 A more complete fix for the "land" attack, removing the "quick fix" from
rev 1.66.  This fix contains both belt and suspenders.

Belt: ignore packets where src == dst and srcport == dstport in TCPS_LISTEN.
 These packets can only legitimately occur when connecting a socket to itself,
 which doesn't go through TCPS_LISTEN (it goes CLOSED->SYN_SENT->SYN_RCVD->
 ESTABLISHED).  This prevents the "standard" "land" attack, although doesn't
 prevent the multi-homed variation.

Suspenders: send a RST in response to a SYN/ACK in SYN_RECEIVED state.
 The only packets we should get in SYN_RECEIVED are
 1. A retransmitted SYN, or
 2. An ack of our SYN/ACK.
 The "land" attack depends on us accepting our own SYN/ACK as an ACK;
 in SYN_RECEIVED state; this should prevent all "land" attacks.

We also move up the sequence number check for the ACK in SYN_RECEIVED.
 This neither helps nor hurts with respect to the "land" attack, but
 puts more of the validation checking in one spot.

PR:             kern/5103
1998-01-21 02:05:59 +00:00
Nate Williams
a9b9e46550 - Support for multiple PD6832 controllers. Each found 6832 is assigned
and initializes the next two ports in order starting at 03e0.  This
  also patches pcic_p.h to reduce the I/O ports mapped from 4 to 2.

Submitted by:	Ted Faber <faber@ISI.EDU>
1998-01-20 21:11:03 +00:00
KATO Takenori
59cf92149a Sync with sys/i386/isa/syscons.c revision 1.246. 1998-01-20 10:53:26 +00:00
Bruce Evans
bf49c4278a Moved most of the (source-level) compatibility hacks for the vfsconf
interface from sys/mount.h to libc/getvfsent.c  The new interface is
now the default.

Sorted the prototypes for the library functions.
1998-01-20 10:36:42 +00:00
KATO Takenori
3ae6029808 - Move SETKLOC and CLEARKLOCK macros into uion.h.
- Set UN_ULOCK in union_lock() when UN_KLOCK is set.  Caller expects
  that vnode is locked correctly, and may call another function which
  expects locked vnode and may unlock the vnode.
- Do not assume the behavior of inside functions in FreeBSD's
  vfs_suber.c is same as 4.4BSD-Lite2.  Vnode may be locked in
  vget() even though flag is zero.  (Locked vnode is, of course,
  unlocked before returning from vget.)
1998-01-20 10:02:54 +00:00
John Birrell
013239afdf Suggested by: bde
Move sigjmp_buf and jmp_buf structure definitions to machine/setjmp.h
so that i386 can continue to use int as the basic register type and
alpha can use long. Bruce was concerned about possible differing
alignment. I've left the definition of _JBLEN in machine/setjmp.h
even though Bruce's example used the number directly. I don't know if
any other code relies on _JBLEN, so I left it to avoid potential
breakage.
1998-01-20 09:09:24 +00:00
Kazutaka YOKOTA
6c401d343f - Add binary compatibility support for obsolete console/mouse ioctls
so that existing programs which were compiled before the introduction
  of the new mouse code and use these ioctls will run unmodified.

Suggested by msmith.
1998-01-20 03:37:27 +00:00
Tor Egge
281c79d603 Nondestructive attempts to get simple locks when SL_DEBUG is defined. 1998-01-19 17:33:08 +00:00
Bruce Evans
ffbb164e19 Set p_retval for the correct process in getpriority(). This fixes
a null pointer panic when the pointer for the incorrect process is
NULL.  getpriority() was broken in rev.1.27.  Rev.1.28 broke the
warning instead of fixing the problem.

PR:	5495
1998-01-19 12:39:00 +00:00
Tor Egge
95f67de2e3 The removal of a page from the free queue in vm_page_zero_idle was
imcomplete. Also set m->queue, in order to prevent vm_page_select_free
from selecting the page being zeroed.
1998-01-19 04:16:16 +00:00
Tor Egge
75d515b755 Don't throw away bootp reply packets that are shorter than our extended-length
bootp query packet.
PR:		5512
1998-01-18 18:53:46 +00:00
Tor Egge
3bc42d575a Increase the minimum bootp reply packet size from 16 (bogus) to 300 (correct). 1998-01-18 18:46:20 +00:00
KATO Takenori
647e869094 Sync with sys/i386/isa/wd.c revision 1.147. 1998-01-18 15:10:03 +00:00
KATO Takenori
43a0695fdf Sync with sys/i386/conf/files.i386 revision 1.186. 1998-01-18 15:09:34 +00:00
KATO Takenori
34bb5953e4 Sync with sys/i386/conf/files.i386 revision 1.12. 1998-01-18 15:09:05 +00:00
KATO Takenori
3c4f86eec1 Sync with sys/i386/conf/majors.i386 revision 1.24. 1998-01-18 15:08:34 +00:00
KATO Takenori
471f80601f Workarround for locking violation while recycling vnode which union fs
used in freelist.
1998-01-18 08:17:48 +00:00
KATO Takenori
afc2a5581f Improve and revise fixes for locking violation.
Obtained from:	NetBSD/pc98
1998-01-18 07:56:41 +00:00
John Dyson
4722175765 Tie up some loose ends in vnode/object management. Remove an unneeded
config option in pmap.  Fix a problem with faulting in pages.  Clean-up
some loose ends in swap pager memory management.

The system should be much more stable, but all subtile bugs aren't fixed yet.
1998-01-17 09:17:02 +00:00
Paul Traina
61584b4680 Fix misleading comment about major # 1998-01-16 22:43:33 +00:00
Paul Traina
aaf862068b Bring in IDE ATAPI floppy support.
This is Junichi's v1.0 driver.

NOTE: Major device numbers have been changed to avoid conflict with other
      FreeBSD 3.0 devices.  The new numbers should be considered "official."
      This driver is still considered "beta" quality, although we have been
      playing with it.  Please submit bugs to junichi and myself.

Submitted by:	junichi@astec.co.jp
1998-01-16 22:13:07 +00:00
Bruce Evans
33b77e2dec Include <machine/pc/display.h>, not <i386/include/pc/display.h>. This is
not quite correct, because the Makefiles in lkm/syscons don't set up the
`machine' symlink, but other, more volatile headers in <machine> are
already used.
1998-01-16 17:58:55 +00:00
Bruce Evans
442a25bd7b Fixed a missing #include in the synopsis.
Fixed some wrong prototypes.
Fixed a misspelled function name.

The owner of this file should add a copyright and an Id.
1998-01-16 13:02:58 +00:00
Bruce Evans
bb6d5d9147 Added prototypes for functions that were documented in libalias.3
but not prototyped here.
1998-01-16 12:56:07 +00:00
KATO Takenori
8f856e3156 Synchronize with NetBSD/pc98 based on NetBSD/i386 version 1.3G patch
level 117.

Reviewed by:	Naofumi Honda <honda@Kururu.math.sci.hokudai.ac.jp>
1998-01-16 11:32:13 +00:00
KATO Takenori
60fa2968df Fixed bugs introduced when files were synchronized with
sys/i386/isa/mse.c and sio.c.

Submitted by:	Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>
1998-01-16 11:20:22 +00:00
Philippe Charnier
85dace5d59 Add rcsid. Remove unused vars. Use err(3) and change exit(-1). 1998-01-16 07:20:34 +00:00
KATO Takenori
7cd3361aa5 Sync with sys/i386/conf/files.i386 revision 1.185. 1998-01-15 15:09:00 +00:00
KATO Takenori
baf8a10240 Fix I/O port address of ed8.
Submitted by:	Chiharu Shibata <chi@rd.njk.co.jp>
1998-01-15 08:17:13 +00:00
KATO Takenori
1a3f5064b5 Added comment on fe0 and fe1. Added fe1 fro C-NET(98)P2 and
C-NET(9N)E NICs.

Submitted by:	Chiharu Shibata <chi@rd.njk.co.jp>
1998-01-15 08:12:23 +00:00
Justin T. Gibbs
99117bb6ec Addition of splsoftvm and a VM SWI to handle bus dma related callbacks.
This SWI may be useful for other, defered, VM tasks.
1998-01-15 07:34:01 +00:00
Justin T. Gibbs
e1a1bba4fa Implementation of Bus Space for FreeBSD-x86.
Obtained From: NetBSD
1998-01-15 07:32:56 +00:00
Justin T. Gibbs
57d7d7b3be Implementation of Bus DMA for FreeBSD-x86. This is sufficient to do
page level bounce buffering, but there are still some issues left to
address.
1998-01-15 07:32:21 +00:00
Justin T. Gibbs
c8877437a0 Add entry for i386/i386/busdma_machdep.c 1998-01-15 07:30:54 +00:00
Poul-Henning Kamp
6f70df1587 Move almost all the ntp related stuff from kern_clock.c to
kern_ntptime.c.  The only bit left over is that which is executed
in all calls to hardclock().  Various cleanups and staticizing
along the road.
1998-01-14 20:48:16 +00:00
Poul-Henning Kamp
7907a6bc55 Make softticks static.
Remove unneeded stuff.
1998-01-14 19:42:47 +00:00
Poul-Henning Kamp
595f63412b Add and document PPS_SYNC 1998-01-14 19:41:36 +00:00
KATO Takenori
028da41171 I forgot to synchronize some changes with sys/i386/isa/wd.c, but I
could't find exact revision numbers.

Submitted by:	Takahashi Yoshihiro <nyan@wyvern.cc.kogakuin.ac.jp>
1998-01-14 08:37:59 +00:00