Commit Graph

9666 Commits

Author SHA1 Message Date
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
KATO Takenori
94e5dcefe4 Include pc98.h instead of isa.h when PC98 is defined. 1998-01-14 08:13:32 +00:00