Andrey Chernov [Mon, 24 Jan 1994 22:47:32 +0000 (22:47 +0000)]
Fix bug in old K&R style #define
David Greenman [Mon, 24 Jan 1994 20:57:16 +0000 (20:57 +0000)]
Deprecate "/dev/vga". Use /dev/ttyv0 always. Note that the terminal type
is still 'pc3' in /etc/ttys, and should be changed if we decide to default
to syscons.
David Greenman [Mon, 24 Jan 1994 20:45:41 +0000 (20:45 +0000)]
Revert back to -s being the default. Apparantly, POSIX requires this,
and only _some_ versions of SysV default to -n (Unix V/386 R4.0 being
one of them).
Christoph Robitschko [Mon, 24 Jan 1994 08:07:33 +0000 (08:07 +0000)]
fixed spelling error.
Christoph Robitschko [Mon, 24 Jan 1994 08:00:18 +0000 (08:00 +0000)]
Added maintainer email address for my ftp server.
David Greenman [Mon, 24 Jan 1994 07:17:08 +0000 (07:17 +0000)]
Get rid of a few more bytes with TCPDEBUG.
Rod Grimes [Mon, 24 Jan 1994 06:09:16 +0000 (06:09 +0000)]
Make #includes look in the proper places for the new structure
Rod Grimes [Mon, 24 Jan 1994 06:04:58 +0000 (06:04 +0000)]
Initial import of NetBSD msdosfs, only changes made where to change the
NetBSD $Id$ to be from NetBSD: and to add a new $Id$, this keeps the
NetBSD version number intact so we can know which verions this came from.
Rod Grimes [Mon, 24 Jan 1994 05:45:09 +0000 (05:45 +0000)]
Remove netrmp from here, it was removed from the sys tree some time ago.
Rod Grimes [Mon, 24 Jan 1994 05:40:30 +0000 (05:40 +0000)]
Initial versions of what this area is all about and what I need to
get done. Only a start.
Andrey Chernov [Mon, 24 Jan 1994 05:22:27 +0000 (05:22 +0000)]
Add Ctrl-Altr-Esc DBG key to RUKEYMAP (russian keymap)
David Greenman [Mon, 24 Jan 1994 05:12:44 +0000 (05:12 +0000)]
1) base number of cache vm objects on NTEXT. Move initialization of
vm_cache_max into param.c.
2) Make tcpdebug truely optional. Previously there was still a stub
routine and a (large) data structure that was allocated even if this
option wasn't in the kernel config. This reduces the kernel bss by 16k.
Jordan K. Hubbard [Mon, 24 Jan 1994 03:40:09 +0000 (03:40 +0000)]
Update db.h for db 1.73 code.
Jordan K. Hubbard [Mon, 24 Jan 1994 03:35:12 +0000 (03:35 +0000)]
Updated to version 1.73
Removed extraneous doc and PORT cruft.
Jordan K. Hubbard [Mon, 24 Jan 1994 03:09:39 +0000 (03:09 +0000)]
Add files that used to be links.
David Greenman [Mon, 24 Jan 1994 02:24:11 +0000 (02:24 +0000)]
Fix for "cp -R" bug: the object cache count was too high for the number
of vnodes. The number of vnodes should be increased in the future, but
lowering the cache size will suffice for now. Fix from John Dyson.
Rod Grimes [Mon, 24 Jan 1994 02:14:26 +0000 (02:14 +0000)]
>From: batie@agora.rain.com (Alan Batie)
Subject: uname default change
Date: Sun, 23 Jan 1994 14:06:16 -0800 (PST)
I've changed uname's default to be "-n" instead of "-s" to make it
compatible with System V, and to what I consider a more reasonable
default.
Jordan K. Hubbard [Mon, 24 Jan 1994 01:20:09 +0000 (01:20 +0000)]
Modified Makefile to select the new 4.4BSD vi over elvis. Before you
scream "My elvis is gone! Bring back elvis!", be advised that elvis
and elvisrecover are _still there_, but simply removed as default targets
since it would make little sense to build and install them only to come back
and write over them again with the new vi (which I didn't install as `nvi'
since I want people to test it and too many people are already hardwired to
`vi'!).
Jordan K. Hubbard [Mon, 24 Jan 1994 01:14:16 +0000 (01:14 +0000)]
This commit was generated by cvs2svn to track changes on a CVS vendor
branch.
Jordan K. Hubbard [Mon, 24 Jan 1994 01:14:16 +0000 (01:14 +0000)]
This is `nvi' (tweaked to install as vi), version 1.01.
Rod Grimes [Mon, 24 Jan 1994 00:39:01 +0000 (00:39 +0000)]
Remove note about having to remove comments for this file to work, since
tip/acu.c has been partially fixed to deal with it.
Rod Grimes [Sun, 23 Jan 1994 23:59:38 +0000 (23:59 +0000)]
Fix for # comments as first word on line causing stock /etc/phones to
be broken. This is not a complete fix, but it works for now.
>From: Todd Pfaff <todd@flex.eng.mcmaster.ca>
Subject: Re: freefall commit: '386BSD/src/etc phones'
Yup, a closer look reveals that this code will complain of
an unrecognizable host name if there is only one word on a line
of phones, hence a # by itself screws up.
A simple-minded solution is to add:
if(*string == '#')
continue;
as the first statement inside the while loop.
Rod Grimes [Sun, 23 Jan 1994 22:33:15 +0000 (22:33 +0000)]
Added maintaners field to the list of sites so I (we) know who to inform
about ftp site changes (like adding 400MB to it!) I have only heard
from one of the sites I sent mail to, so expect this to be changing a lot
over the next few weeks.
! Netherlands ftp.nl.net:/pub/os/FreeBSD <pauls@inter.nl.net>
David Greenman [Sun, 23 Jan 1994 19:17:17 +0000 (19:17 +0000)]
Much better fix for the hanging console problem. This one actually
works.
Rod Grimes [Sun, 23 Jan 1994 18:39:52 +0000 (18:39 +0000)]
Added the following comment:
# YOU MUST REMOVE ALL OF THESE COMMENT LINES BEFORE /etc/phones WILL
# WORK CORRECTLY. THE DIALER CODE IN tip NEEDS FIXED TO DEAL WITH
# COMMENTS
Rod Grimes [Sun, 23 Jan 1994 18:23:28 +0000 (18:23 +0000)]
>From: kuku@acds.physik.rwth-aachen.de (Christoph Kukulies)
Date: Sun, 23 Jan 94 19:06:45 +0100
Subject: behaviour of 'from'
The from utility barfs when it cannot find /var/mail/user (which is
normally not there when no mail is present). Under Ultrix it silently
exits when /usr/spool/mail/user (in that case) is not there.
David Greenman [Sun, 23 Jan 1994 17:50:11 +0000 (17:50 +0000)]
Backed out previous commit as it requires additional kludges to work
completely, and it looks like syscons might solve the problem a
different way (although what about serial consoles??).
Andreas Schulz [Sun, 23 Jan 1994 15:43:29 +0000 (15:43 +0000)]
From: Jim Babb <babb@sedhps01.mdc.com>
Bug: In the real vi, multiple lines can be yanked into named buffers
with either of the following syntax:
10"aY
-or-
"a10Y
Elvis only allowed the second format - (the first format only
yanked one line).
David Greenman [Sun, 23 Jan 1994 15:06:14 +0000 (15:06 +0000)]
Patch from Christoph Kukulies to fix off-by-one error in string output:
"Wondered about all the smilies and such at the ends of netstat -a lines."
David Greenman [Sun, 23 Jan 1994 14:20:28 +0000 (14:20 +0000)]
Simple fix for a bug in find from Jeffrey Hsu:
I was intrigued by this problem and looked into it. The problem is that
stdout for find is block-buffered, since the output is redirected to a
pipe. But all the grep subprocesses that -exec runs write their output
immediately upon exit. Only when find has processed enough files to print
BUFSIZ characters or when it exits does find finally print out the list of
filenames. The only solution I can come up with at this time of the night
is the obvious one.
...set the buffering mode to line.
David Greenman [Sat, 22 Jan 1994 22:48:21 +0000 (22:48 +0000)]
Brute-force fix for the "hanging console" problem. Simply _don't_ call
the device close routine. This works because the device close calls
the line discipline close (which only flushes the output buffers) and
the ttyclose() routine, which does little of nothing except screw with
the session and process group fields (which is what was causing all
the problems).
Rod Grimes [Sat, 22 Jan 1994 21:54:10 +0000 (21:54 +0000)]
More sane AHA_RESET_TIMEOUT, from some testing by
Todd Pfaff <todd@flex.eng.mcmaster.ca> who was the person to report the
original problem on a 1542C.
Rod Grimes [Sat, 22 Jan 1994 21:52:04 +0000 (21:52 +0000)]
Now prints ``on eisa'' if id_iobase >= 0x1000, and made a slight code
cleanup for the other 2 cases of ``on motherboard'' and ``on isa''.
Guido van Rooij [Sat, 22 Jan 1994 20:44:14 +0000 (20:44 +0000)]
This is Vixie cron 3.0. This version fixes all known security bugs.
Further it implements crontab -e.
I moved cron from /usr/libexec to /usr/sbin where most daemons are
that are run from rc. That also gets rid of the ugly path crond
used to have in ps(1) outputs. Further I renamed it to cron, as
Paul Vixie likes it and is done by NetBSD.
NOTE VERY WELL THE FOLLOWING:
1) Systems crontab changed. Every users crontab resides in /var/cron
*EXCEPT* root's. This is a special crontab as it resides in
/etc. Further it is the *ONLY* crontab file in which you specify
usernames. See /usr/src/etc/crontab. This is also done by BSDI's
BSD/386 as far as I know (they provided the patches for it anyway)
2) So you *must* delete root's crontab and reinstall the copy
in /etc from /usr/src/etc.
'Must' is to much: the old installed crontab will work but cron
will also try to 'run' /etc/crontab.
3) Last but not least: cron's logging is now done via syslog. Note
that logging by cron is done lowercase when it logs about itsself
and uppercase when it logs user events, like installing a new crontab.
The default logfile file is the same as before:
syslog.conf:cron.* /var/cron/log
-Guido
Andreas Schulz [Sat, 22 Jan 1994 18:00:54 +0000 (18:00 +0000)]
Added the correct typecast's to the untimeout calls. Added a missing
return statement in the probe. This should have fixed all compiler warnings.
Rod Grimes [Sat, 22 Jan 1994 11:05:16 +0000 (11:05 +0000)]
Remove bogus and missleading comment, this has been fixed.
- /* blkcnt = initialise_me; */
Rod Grimes [Sat, 22 Jan 1994 11:00:01 +0000 (11:00 +0000)]
Increased TIMEOUT in wdwait from 2000 to 20000 since it seems many people
have needed to do this in order for the wd driver to work for them.
Rod Grimes [Sat, 22 Jan 1994 10:58:26 +0000 (10:58 +0000)]
Added savehist=1000 as a security feature to know what root has been up to,
added very common set filec.
Added /sys/i386 to be in cdpath so cd conf goes to sys/i386/conf instead of
sys/conf.
Rod Grimes [Sat, 22 Jan 1994 10:54:13 +0000 (10:54 +0000)]
From: rich@lamprey.UTMB.EDU (Rich Murphey)
Subject: Re: daily insecurity output (fwd)
|From: rgrimes@agora.rain.com (Rodney Grimes)
|
|This is from the new /etc/security script. I no longer get the segmentation
|violation, but now the arg list is too long, some /bin/sh program want to
|fix the current /etc/security ls command so that it is a pipe insteal of
|a back quoted arg?
|
|> checking setuid files and devices:
|> /etc/security: ls: argument list too long
This uses xargs instead. My slip line's down so I can't check it in
at the moment. Rich
Rod Grimes [Sat, 22 Jan 1994 09:25:37 +0000 (09:25 +0000)]
No longer need SYSVIPC option, any of the SYSV options now trigger the
kern/sysv_ipc.c file for inclusion in the kernel.
Rod Grimes [Sat, 22 Jan 1994 09:24:40 +0000 (09:24 +0000)]
Remove sysvipc option, use the individual options to trigger inclusion
of kern/sysv_ipc.c. Clean up some spaces that should have been tabs.
Rod Grimes [Sat, 22 Jan 1994 09:04:21 +0000 (09:04 +0000)]
Change ${RELEASEDIR}/filesystem to be filesys so hat it is ISO9660 compliant.
Rod Grimes [Sat, 22 Jan 1994 08:27:56 +0000 (08:27 +0000)]
Add SUPPORT.TXT and MIRROR.SITES to the top level FREEBSD files that get
installed in /.
Rod Grimes [Sat, 22 Jan 1994 08:23:47 +0000 (08:23 +0000)]
>From: NetBSD-bugs:
>From: vdlinden@fwi.uva.nl (Frank van der Linden)
Date: Thu, 20 Jan 1994 01:06:00 +0100
Subject: ifconfig bug
ifconfig dumps core when you have a keyword that requires an argument
last on the command line, for example: 'ifconfig le0 inet xx.xx.xx.xx broadcast'
It doesn't check if the required argument is actually present. Here's a fix
(which also clarifies another error message a bit):
Rod Grimes [Sat, 22 Jan 1994 07:46:25 +0000 (07:46 +0000)]
>From: julian@TFS.COM (Julian Elischer)
Date: Mon, 17 Jan 94 20:52:14 PST
As reported on the -bugs list by some one, and confirmed by Julian:
> I increased AHA_RESET_TIMEOUT in aha1542.c from 1000 to 10000
> and now my 1542C is found everytime.
Rod Grimes [Sat, 22 Jan 1994 07:42:30 +0000 (07:42 +0000)]
>From: Julian Howard Stacey <stacey@guug.de>
Subject: patch to use stderr in usr.bin/which.csh
Date: Wed, 19 Jan 1994 16:25:21 +0100
This appended patch to usr.bin/which.csh will send error output
to stderr (currently it goes to stdout).
( I fixed it to go to stderr so I can use it in my /usr/ports/Makefile
constructs such as
DPWISH_BINARY != which dpwish
.if exists(zircon) & exists(zircon/Makefile) & \
exists(DPWISH_BINARY)
SUBDIR += zircon # depends on tcl, tk & dpwish
.endif
)
Rod Grimes [Sat, 22 Jan 1994 07:34:04 +0000 (07:34 +0000)]
Initial versions of kernel Makefile stuff
>from Julian Howard Stacey <stacey@guug.de>
Only thing I changed was to add $Id$ to them.
Rod Grimes [Sat, 22 Jan 1994 07:08:23 +0000 (07:08 +0000)]
Put this file in uder cvs so every one gets a copy of it, later I'll
add this to etc/Makefile so it also ends up in a binary distribution.
David Greenman [Fri, 21 Jan 1994 19:20:57 +0000 (19:20 +0000)]
Fix a couple of compiler warnings
David Greenman [Fri, 21 Jan 1994 17:11:38 +0000 (17:11 +0000)]
Remove some old, unused, major UGLY code.
David Greenman [Fri, 21 Jan 1994 09:57:43 +0000 (09:57 +0000)]
System V IPC code from Danny Boulet, chewed on a bit by the NetBSD group
and then some more by Jeffrey Hsu (who provided this port for FreeBSD).
David Greenman [Fri, 21 Jan 1994 09:54:43 +0000 (09:54 +0000)]
System V IPC code from Danny Boulet, chewed on a bit by the NetBSD group
and then some more by Jeffery Hsu (who provided this port for FreeBSD).
David Greenman [Thu, 20 Jan 1994 23:17:39 +0000 (23:17 +0000)]
Pointed out by Wolfgang Solfrank:
Correct parameters of sync
David Greenman [Thu, 20 Jan 1994 22:57:32 +0000 (22:57 +0000)]
Increased ARG_MAX to 32k.
David Greenman [Thu, 20 Jan 1994 17:49:57 +0000 (17:49 +0000)]
Removed some more old unused code/comments. Added hack to "fix" the
problem with some chipsets (UMC) remapping the 'hole' memory even when
you've got 16MB. People were led to believe that since there was only
16MB of memory in the machine, that they were okay wrt the ISA DMA
limit. This hack simply causes the extra memory to be ignored if it
appears around the 16MB limit.
David Greenman [Thu, 20 Jan 1994 17:21:28 +0000 (17:21 +0000)]
Improved algorithm that calculates the pages in the base memory - If the
BIOS says that the amount is *between* 0-640K, believe it. Cleaned up
the comments a bit, removed some old cruff, etc.
J.T. Conklin [Wed, 19 Jan 1994 21:09:33 +0000 (21:09 +0000)]
Add support for NULL timeval pointer for utimes(2) syscall. (From NetBSD)
Guido van Rooij [Wed, 19 Jan 1994 20:27:38 +0000 (20:27 +0000)]
Repaired broken utimes(2) system call. This is needed for the upcoming cron.
David Greenman [Wed, 19 Jan 1994 15:00:37 +0000 (15:00 +0000)]
Removed dependance on EX_DYNAMIC in making decisions on the magic number.
Nate Willams [Wed, 19 Jan 1994 03:52:25 +0000 (03:52 +0000)]
Added necessary include files to define KERNBASE due to VM changes.
Nate Willams [Tue, 18 Jan 1994 05:33:34 +0000 (05:33 +0000)]
Changed the default 'reboot' routine from cpu_reset() to shutdown_nice().
If you want to disable the reboot feature, then re-define the keymap to
not have a RBT call.
Nate Willams [Tue, 18 Jan 1994 05:31:37 +0000 (05:31 +0000)]
Changed the default syscons keymap to have <CTL-ALT-ESC> enter the
debugger and <CTL-ALT-DEL> call the reboot command.
Nate Willams [Tue, 18 Jan 1994 05:28:24 +0000 (05:28 +0000)]
Added kernel routine 'shutdown_nice()' which sends SIGINT to process
#1 (init). This is called from the keyboard handler to do a nice
shutdown.
Nate Willams [Tue, 18 Jan 1994 05:24:16 +0000 (05:24 +0000)]
Made init.bsdi the default init. To get the old (386bsd 0.1) version
of init you must now set the environment variable INIT_ORIG.
Nate Willams [Tue, 18 Jan 1994 05:22:41 +0000 (05:22 +0000)]
Changed init to now support shutting down cleanly when the signal SIGINT
is given to it. When given this signal the machine will now halt.
Nate Willams [Tue, 18 Jan 1994 02:20:15 +0000 (02:20 +0000)]
Reduced the delay amounts per patch submitted by gclarkii@netport.neosoft.com
Nate Willams [Tue, 18 Jan 1994 01:19:40 +0000 (01:19 +0000)]
Re-arranged the order of the magic entries to correctly detect
stripped/non-stripped and static vs. dynamic correctly. All binaries
should be correctly recognized now.
David Greenman [Mon, 17 Jan 1994 09:43:52 +0000 (09:43 +0000)]
Renamed kern__physio.c kern_physio.c as the current version is improved
considerably from Bill's 'experimental' version.
David Greenman [Mon, 17 Jan 1994 09:34:14 +0000 (09:34 +0000)]
Improvements mostly from John Dyson, with a little bit from me.
* Removed pmap_is_wired
* added extra cli/sti protection in idle (swtch.s)
* slight code improvement in trap.c
* added lots of comments
* improved paging and other algorithms in VM system
David Greenman [Mon, 17 Jan 1994 09:05:10 +0000 (09:05 +0000)]
change sleep->tsleep.
Rod Grimes [Mon, 17 Jan 1994 05:49:20 +0000 (05:49 +0000)]
Add missing paren so that it now compiles.
Rod Grimes [Mon, 17 Jan 1994 05:45:26 +0000 (05:45 +0000)]
Removed at clause from LINT since it was wrong and is no longer needed.
Jordan K. Hubbard [Mon, 17 Jan 1994 02:20:12 +0000 (02:20 +0000)]
Undo previous change until we make up our minds about whether or not it should
be configurable in some way.
Jordan K. Hubbard [Sun, 16 Jan 1994 23:34:17 +0000 (23:34 +0000)]
From Gary Clark II:
1. Fixed probe to work with FX mitsumi's.
2. Added some defines in prep for adding interupts and dma
Jordan K. Hubbard [Sun, 16 Jan 1994 22:31:58 +0000 (22:31 +0000)]
Magic patches from Guenter Jung for new QMAGIC/shared executables.
Martin Renters [Sun, 16 Jan 1994 20:10:01 +0000 (20:10 +0000)]
Removed #ifndef __386BSD__ for inittodr() call. This fixes the
problem of diskless clients not getting the date set at bootup.
Martin Renters [Sun, 16 Jan 1994 18:26:14 +0000 (18:26 +0000)]
Diskless client configuration program. This program generates a binary
file which is used during the BOOTP/TFTP loading process.
Andreas Schulz [Sun, 16 Jan 1994 12:01:34 +0000 (12:01 +0000)]
Documented the drivers more in the LINT file. Added a line in files.i386
and LINT for the integration of a Seagate ST01/02 SCSI controller.
Andreas Schulz [Sun, 16 Jan 1994 11:45:11 +0000 (11:45 +0000)]
Corrected the writing of my name. Added a sentence about the Toshiba
ethernet cards.
Andreas Schulz [Sun, 16 Jan 1994 11:25:06 +0000 (11:25 +0000)]
Updated the TODO file with missing things.
Changed the output of the isa probe routine, that only devices, that
have an IO address and are smaller than 0x100 to be on the motherboard.
The seagate SCSI adapter is an example of a card, that doesn't have
an IO address and works only memory mapped.
Martin Renters [Sun, 16 Jan 1994 02:26:56 +0000 (02:26 +0000)]
NFS diskless support changes.
Martin Renters [Sun, 16 Jan 1994 02:26:39 +0000 (02:26 +0000)]
NFS diskless support changes. The (*mountroot)() function pointer
is now initialized by the config program. You will need the new
config program to build kernels after this change.
Martin Renters [Sun, 16 Jan 1994 02:24:12 +0000 (02:24 +0000)]
BOOTP/TFTP boot strap program with NFS diskless support.
Currently supports WD/SMC 80x3 cards.
Martin Renters [Sun, 16 Jan 1994 02:21:58 +0000 (02:21 +0000)]
NFS Diskless booting support added.
Martin Renters [Sun, 16 Jan 1994 02:16:32 +0000 (02:16 +0000)]
Changes for nfs diskless support.
Steven Wallace [Sun, 16 Jan 1994 00:30:32 +0000 (00:30 +0000)]
Each of the argument files is processed in the order listed.
If there are no files listed, or if a filename is '-', the standard
input is processed. Before, only stadard input (with no filenames listed)
OR files could be processed, limiting flexibility.
Two lines in main.c were added and the man page was updated.
Rod Grimes [Sun, 16 Jan 1994 00:27:31 +0000 (00:27 +0000)]
Add the SUPPORT.TXT file from the CDROM, plus a new entry for Guy Helmer.
Jordan K. Hubbard [Sat, 15 Jan 1994 18:27:21 +0000 (18:27 +0000)]
From Rodney Volz:
In FreeBSD/ufs, files are always created with their group-id
set to the group-id of their parent-directory. This behaviour
is neither POSIX nor BSD-conforming.
Posix says, that the group-id of newly created files should be set to
the group-id of the creator. An optional Posix feature is, that
if the parent directory has a group S-bit set, the group-id
of the new file should be set to the group-id of its parent
directory.
Andreas Schulz [Sat, 15 Jan 1994 17:05:43 +0000 (17:05 +0000)]
Removed the getent.c file that has only dummy routines for getent and
getstr in it. The correct routines are coming from /usr/src/libexec/getty
in gettytab.c. It has formerly depended on the ordering of the build
of libtelnet.a which routines get picked up.
This is the bugfix for the telnet/telnetd displaying the wrong/default
banner.
David Greenman [Sat, 15 Jan 1994 15:03:13 +0000 (15:03 +0000)]
Don't allow zero length files to be exec'd (causes a panic after it is
mmaped to check the magic number).
David Greenman [Sat, 15 Jan 1994 14:29:21 +0000 (14:29 +0000)]
Much to my astonishment, packets in the loopback net were being
forwarded - even though this is specifically disallowed in ip_canforward.
...fixed.
Andrey Chernov [Sat, 15 Jan 1994 01:36:38 +0000 (01:36 +0000)]
Fix bug when RB_LEN == 0 && VMIN == 0 too.
David Greenman [Fri, 14 Jan 1994 16:45:06 +0000 (16:45 +0000)]
Small patch that was accidently overlooked...from Martin Renters.
Necessary for diskless operation.
David Greenman [Fri, 14 Jan 1994 16:27:33 +0000 (16:27 +0000)]
This is a list of the changes to the vm system as of 14 Jan 94:
1) Upages are now in process address space. They can be paged out when
the process is swapped out. The majority of changes are in
vm_glue.c and pmap.c. Upages are always recorded to be modified.
2) Page table pages are not high level vm wired except to insert pages
pte's into the pmap. The pmap subsystem has a wiring mechanism of
its own now, and releases page table pages to the vm system when the
number of pages pointed to by the page table page drops to zero.
This mechanism allows the physical memory for process page tables
to be reclaimed for use by other processes during memory shortages.
The majority of changes are in trap.c, pmap.c, kern__physio.c,
procfs_subr.c. Page table pages are never recorded to be modified.
3) Page table pages are faulted in by referring to the page table page
from kernel address space. Temporary wiring of the page table page
is performed by removing the page from the inactive and active
queues. This is much more efficient than many other techniques
(explicit vm_fault's.)
4) Pmap.c has major sections rewritten for efficiency. String operations
are used when possible. Also, pmap_remove (called often) has
been rewritten to be *much* more efficient.
5) Pmap_attributes has been removed. The side effect of storing the
modified and used (referenced) bits is difficult to control. Mods
have been made to the rest of the vm system to not assume carryover
of the modified bits. It is believed that this fixes a problem
where pages were often written to the backing store unnecessarily.
6) Pageout queue management is *much* more efficient:
6a) Pages that are deactivated are removed from pmaps. This allows the
system to fault immediately when a page is used again. Thereby
providing LRU heuristics used in [6b].
6b) The active page queue is logically segmented into slices, and a
page has to be scanned as unused for multiple passes to be deactivated.
Pages that are used are placed immediately at the end of the active
queue, thereby deferring deactivation for a "long time".
6c) A limited form of biasing page inactivation towards processes exceeding
RSS limits has been included. Hooks have been added to support hard
RSS limits that may be added in the future.
7) Vm_fault now supports pagers that can do multiple block input. The
logic makes sure that the readahead/behind falls in the same object
and pager (used in [8] and [9].) Readaheads/behinds are inhibited
under very low memory conditions. It is left to the pager to decide
whether to actually perform the readahead/behind.
8) The swap_pager supports contiguous block allocations and multi-block
input can be peformed.
9) The vnode_pager bypasses the buffer-caching mechanism, thereby
conserving buffer cache and eliminating page memory copies under
most circumstances. Also, the vnode_pager supports contiguous
readaheads/behinds.
10) The vm_object_collapse code has be improved significantly, and the
swap_pager allocations have been modified to support the improved
operation. (This improves the swap space allocation problem.)
Under rare circumstances it is still possible to run into the
VM swap space deallocation problems related to the object
paging_in_progress flag, but a fix is in the works ( and is
relatively simple, but tedious.)
11) The swap space full condition is handled in a rather severe way.
If a process tries to allocate another page in its working
set when swap space is zero and no backing store exists, it is killed.
(I know that this is not good, but it is worse to hang the system.)
12) Because of the swap space being allocated in blocks, it is possible
for a page that is allocated on swap space to never be used. An
optimization has been made to the swap pager to reclaim the space,
thereby almost eliminating internal fragmentation of the swap
blocks.
13) The algorithms associated with vm_pageout have been improved to
decrease significantly the amount of CPU time used. (Wakeups
of the pageout daemon have been minimized.)
13a) vm_page_alloc woke-up the page daemon MUCH too often.
13b) the swap pager output completion woke-up the page daemon too often.
13c) the probability of a page at the beginning of a queue needing
to be (deactivated or freed) is higher
14) The system has been modified to support discontiguous allocation of
physical memory. This allows use of memory below 640K when the kernel
is loaded at 1MB. Now, the system is configured to load only at 1MB,
because the cost is minimal (1/4 page table page, instead of 640K) and
every kernel loads at the same address.
15) There now is an internal option to tune the location of the kernel in
the virtual address space. Additionally, the default base kernel
virtual address is now 0xF0000000, moved from 0xFE000000, allowing
up to a 256MB kernel virtual address space. Currently we support
a usable kernel address space of (60-1)MB (as determined by the actual
number of allocated kernel ptes (15).) (Actually, now the kernel uses
virtual addresses starting at 0xF0100000 because it is loaded at
1MB.)
John Dyson
David Greenman
David Greenman [Fri, 14 Jan 1994 16:26:06 +0000 (16:26 +0000)]
"New" VM system from John Dyson & myself. For a run-down of the
major changes, see the log of any effected file in the sys/vm
directory (swap_pager.c for instance).
Jordan K. Hubbard [Fri, 14 Jan 1994 12:26:19 +0000 (12:26 +0000)]
Make inetd a client of Poul-Henning Kamp's new config routines, plus
fix some omissions in arg checking/reporting. All changes from
Poul-Henning Kamp.
Jordan K. Hubbard [Fri, 14 Jan 1994 12:24:39 +0000 (12:24 +0000)]
Add Poul-Henning Kamp's config routines.
Jordan K. Hubbard [Fri, 14 Jan 1994 11:47:00 +0000 (11:47 +0000)]
More proper fix for for shared lib debugging support.
Jordan K. Hubbard [Wed, 12 Jan 1994 23:16:19 +0000 (23:16 +0000)]
1. Fix bug where duplicate symbol warnings were suppressed. This often
caued ld to `exit silently', to general confusion.
2. Add Gary Jennejohn's fix to support debugging of shared libraries.
Rod Grimes [Wed, 12 Jan 1994 06:23:30 +0000 (06:23 +0000)]
Commented out the global clean up that searched all file systems and
added a note that you must decide what is appropriate for your system.
>From: borsburn@mcs.kent.edu (Bret Orsburn)
Date: Wed, 12 Jan 94 01:09:43 -0500
I've finally figured out (one of the reasons) why I can't run MS-Windows
after running FreeBSD 1.0...*sometimes*.
Here's your first clue. This is what your MS-Windows video drivers are called
if you run a Number 9 GXE video card:
/dos/windows/system/#9gxetc.drv
/dos/windows/system/#9gxe.drv