77542 Commits

Author SHA1 Message Date
peter
33ec32bcbf Do global shootdowns when switching to/from 4MB pages. I believe we can
do a shootdown on a 4MB "page" though, but this should be safer for now.

Noticed by:  tegge
2002-07-13 20:58:56 +00:00
peter
995438bbe5 Bandaid for SMP. Changing APTDpde without a global shootdown is not
safe yet.  We used to do a global shootdown here anyway so another day
or so shouldn't hurt.
2002-07-13 20:56:18 +00:00
alc
828e129a10 o Complete the locking of page queue accesses by vm_page_unwire().
o Assert that the page queues lock is held in vm_page_unwire().
 o Make vm_page_lock_queues() and vm_page_unlock_queues() visible
   to kernel loadable modules.
2002-07-13 20:55:21 +00:00
alc
a23831a538 o Lock some page queue accesses, in particular, those by vm_page_unwire(). 2002-07-13 20:13:34 +00:00
alc
ee17f219fb o Lock some page queue accesses, in particular, those by vm_page_unwire(). 2002-07-13 19:48:54 +00:00
wollman
02d3f94cc9 Fix a few bugs in the ERRORS section. 2002-07-13 19:38:59 +00:00
bde
d738702902 Moved the setting of all profiling-related variables except the key one
(PROFLEVEL) to kern.pre.mk so that it is easier to manage.  Bumped config
version to match.

Moved the check for cputype being configured to a less bogus place in
mkmakefile.c.
2002-07-13 19:36:14 +00:00
wollman
9c6596bcd6 Add statvfs(3) to the build.
Tested by:	Steve Kargl
2002-07-13 19:33:20 +00:00
wollman
feae9590e0 Well, it's not quite strxfrm(3) but at least it's honest. 2002-07-13 19:29:44 +00:00
alc
ee4b41f6c5 o Lock some page queue accesses, in particular, those by vm_page_unwire(). 2002-07-13 19:24:04 +00:00
bmah
1ca394c8d3 s/links/links1/
This should unbreak release builds with docs but without a full ports tree.

While I'm here, fix a minor sorting glitch.
2002-07-13 17:48:42 +00:00
alfred
5d4d98d796 Remove incorrect comment about now corrected manpage. 2002-07-13 17:11:17 +00:00
alfred
b349285ecb Move COMPAT_FREEBSD4 to arch-neutral sys/conf/NOTES.
Add COMPAT_FREEBSD4 to GENERIC for arches that existed in FreeBSD 4's time,
not just i386. (alpha and pc98)

Requested by: bde
2002-07-13 16:43:53 +00:00
bmah
496cb52c14 MFCs noted: RLIMIT_VMEM, pam_opieaccess(8).
Fix two minor grammar nits while here.
2002-07-13 16:17:54 +00:00
luigi
8c163527e8 A bunch of minor fixes:
* accept "icmptype" as an alias for "icmptypes";
* remove an extra whitespace after "log" rules;
* print correctly the "limit" masks;
* correct a typo in parsing dummynet arguments (this caused a coredump);
* do not allow specifying both "check-state" and "limit", they are
  (and have always been) mutually exclusive;
* remove an extra print of the rule before installing it;
* make stdout buffered -- otherwise, if you log its output with syslog,
  you will see one entry for each printf(). Rather unpleasant.
2002-07-13 15:57:23 +00:00
bmah
188efbec8e New release notes: SA-02:29, SA-02:30. 2002-07-13 15:49:08 +00:00
wilko
39fa07f072 Turbochannel support / machines have been removed from -current. 2002-07-13 11:49:17 +00:00
ume
cbc723a036 When usb is kld, ucom and uplcom were failed to load because of
usbd_abort_pipe undefined.
2002-07-13 10:41:35 +00:00
tjr
2665673777 Account for space used by environment variables in a similar way to
xargs(1) when handling -exec ... {} + constructions.
2002-07-13 08:08:46 +00:00
mikeh
f71c1e3952 Typo. 2002-07-13 07:21:53 +00:00
alc
93d5e16501 Lock accesses to the page queues. 2002-07-13 04:37:22 +00:00
mini
517fea87d5 Add prototype for cred_free_thread() when DIAGNOSTIC is defined. 2002-07-13 04:37:10 +00:00
mini
a02f691cf3 Add additional cred_free_thread() calls that I had missed the first time.
Pointed out by:	jhb
2002-07-13 04:36:50 +00:00
alc
41fc8114c0 o Lock accesses to the page queues.
o Add a comment explaining why hoisting the page queue lock outside
   of a particular loop is not possible.
2002-07-13 04:09:45 +00:00
jhb
11a8bfb923 - Change chroot_refuse_vdir_fds() to require that the passed in struct
filedesc is already locked rather than having chroot() unlock the
  filedesc so chroot_refuse_vdir_fds() can immediately relock it.
- Reorder chroot() a bitso that we do the namei lookup before checking
  the process's struct filedesc.  This closes at least one potential race
  and allows us to only acquire the filedsec lock once in chroot().
- Push down Giant slightly into chroot().
2002-07-13 04:07:12 +00:00
jake
eefbe93dbb Use a fixed address for KERNBASE, so it doesn't change if the size of KVA
is increased.  Its confusing for all the kernel addresses to change, and
doesn't serve much purpose as far as conserving address space.
2002-07-13 03:29:10 +00:00
jake
5d43846206 Identify UltraSPARC-III and UltraSPARC-III+ cpus. 2002-07-13 03:23:29 +00:00
jhb
389f048e62 We don't need to clear oldcred here since newcred is not NULL yet. 2002-07-13 03:13:15 +00:00
alc
5bc529bb34 Lock accesses to the page queues by sendfile() and friends. 2002-07-13 03:10:55 +00:00
alc
80b0a79553 o Assert GIANT_REQUIRED on system maps in _vm_map_lock(),
_vm_map_lock_read(), and _vm_map_trylock().  Submitted by: tegge
 o Remove GIANT_REQUIRED from kmem_alloc_wait() and kmem_free_wakeup().
   (This clears the way for exec_map accesses to move outside of Giant.
   The exec_map is not a system map.)
 o Remove some premature MPSAFE comments.

Reviewed by:	tegge
2002-07-12 23:20:06 +00:00
luigi
7cb243d2f4 Avoid dereferencing a null pointer in ro_rt.
This was always broken in HEAD (the offending statement was introduced
in rev. 1.123 for HEAD, while RELENG_4 included this fix (in rev.
1.99.2.12 for RELENG_4) and I inadvertently deleted it in 1.99.2.30.

So I am also restoring these two lines in RELENG_4 now.
We might need another few things from 1.99.2.30.
2002-07-12 22:08:47 +00:00
dillon
dc5d856e71 Re-enable the idle page-zeroing code. Remove all IPIs from the idle
page-zeroing code as well as from the general page-zeroing code and use a
lazy tlb page invalidation scheme based on a callback made at the end
of mi_switch.

A number of people came up with this idea at the same time so credit
belongs to Peter, John, and Jake as well.

Two-way SMP buildworld -j 5 tests (second run, after stabilization)
    2282.76 real  2515.17 user  704.22 sys	before peter's IPI commit
    2266.69 real  2467.50 user  633.77 sys	after peter's commit
    2232.80 real  2468.99 user  615.89 sys	after this commit

Reviewed by:	peter, jhb
Approved by:	peter
2002-07-12 20:17:06 +00:00
julian
c5495020cb also set the KSE state for the idle KSE/thread case. 2002-07-12 20:16:46 +00:00
trhodes
931ad6a4ff Fix a type: s/your are/you are/ 2002-07-12 19:56:31 +00:00
jhb
91bb8201ee Set the thread state of the newly chosen to run thread to TDS_RUNNING in
choosethread() in MI C code instead of doing it in in assembly in all the
various cpu_switch() functions.  This fixes problems on ia64 and sparc64.

Reviewed by:	julian, peter, benno
Tested on:	i386, alpha, sparc64
2002-07-12 18:34:22 +00:00
bmah
ed7e4d6c5b New release notes: NEWCARD default, finger(1) -g (+ MFC), whereis(1)
update.

MFCs noted:  finger(1) .pubkey.
2002-07-12 18:10:40 +00:00
obrien
cacc7a70db Fix C++ exception handling. GCC was using the older BSD DBX register numbers
rather than the ELF ABI/SVR4 ones in its DWARF unwinding.

Submitted by:	Alexander Kabaev <ak03@gte.com>
2002-07-12 17:44:24 +00:00
obrien
599a83dfc4 When I decided to use a stock dbxout.c rather than merge the rev 1.2 change
(put the function stabs in traditional order on a.out, or gdb doesn't see
function local variables), I failed to remove the related knobs here.

Effectively were overrode the ELF-wide definition in elfos.h w/o providing
new infrastructure.  This is what caused GDB to fail to debug applications
compiled and linked with -stabs.  This is because GCC was unconditionally
inserts .stabs instruction for functions after the function body.  GDB was
getting confused because what it thinks is function beginning address is
actually function ending address.

Submitted by:	Alexander Kabaev <ak03@gte.com>
2002-07-12 17:35:35 +00:00
alc
19a21418a0 Lock accesses to the page queues. 2002-07-12 17:21:22 +00:00
tmm
0f5d0637f1 Fix ptrace(PT_READ_*, ...) for non-little-endian architectures where
sizeof(register_t) != sizeof(int).
2002-07-12 16:48:05 +00:00
tmm
b08811be07 When sending cache flushing IPIs, don't try to IPI the triggering CPU
itself; this causes undefined behaviour on UltraSPARCs. In particular,
the interrupt packet data words will not necessarily be delivered
correctly, which would result in a crash.
This bug also caused the cache-flushing work to be done twice on the
triggering CPU (when it did not cause crashes).

Reviewed by:	jake
2002-07-12 16:26:49 +00:00
yar
eba11c79d0 Use fgetln(3) to read lines from configuration files (ftpusers, ftphosts.)
Thus lines of any length can be handled, unlike before.

Don't assume that each line read from the files ends with a newline.

As a side effect in inithosts(), don't use automatic buffer at all,
utilize malloc(3) when getting local host name instead.

PR:		misc/21494
Reviewed by:	maxim, mikeh
MFC after:	1 month
2002-07-12 15:51:15 +00:00
ru
28450ac5ae Fix ${TMAKE} to use the correct .mk files.
Removed stray -DNO_WERROR's.
2002-07-12 15:15:35 +00:00
ru
3d25ed729f Moved the `distribute' target from bsd.obj.mk to bsd.subdir.mk,
to make it call `install' in the bsd.subdir.mk-driven makefiles
too.  (share/examples/Makefile,v 1.29 changed the bsd.prog.mk
to bsd.subdir.mk and many stuff was lost during "make release".
I then merged this change in rev. 1.28.2.2 to work around the
namespace pollution (FILES) in this makefile.)

There was an added complexity here.  Both the `distribute' and
`install' targets are recursive (they propagate to SUBDIRs).
So `distribute' first calls `install' in the ${.CURDIR}, then
calls `distribute' in each SUBDIR, etc.  The problem is that
`install' (being also recursive) causes the stuff from SUBDIR
to be installed twice, first time thru `install' in ${.CURDIR}
triggered by `distribute', second time by `distribute' run in
the SUBDIR.  This problem is not new, but it became apparent
only after I moved the `distribute' target from bsd.obj.mk to
bsd.subdir.mk.  My first attempt testing the fix failed due to
this, because the whole world was distributed twice, causing
all the imaginable mess (kerberos5 stuff was installed into both
"base" and "krb5" dists, there was /sbin/init.bak, etc.)
I say the problem is not new because bsd.prog.mk and bsd.lib.mk
makefiles with SUBDIR (even without this fix) had this problem
for years.  Try e.g. running ``make distribute DISTDIR=/foo''
from usr.bin/bzip2 or from lib/libcom_err (without the fix) and
watch the output.

So the solution was to make `install' behave non-recursive when
executed by `distribute'.  My first attempt in passing SUBDIR=
to the `install' in the `distribute' body failed because of the
way how src/Makefile and src/Makefile.inc1 communicate with each
other.  SUBDIR='s assignment precedence on the "make install
SUBDIR=" command line is lowered after src/Makefile wrapper calls
"make ... -f ${.CURDIR}/Makefile.inc1 install" because SUBDIR=
is moved into environment, and Makefile.inc1's assignments now
take higher precedence.  This may be fixed someday when we merge
Makefile with Makefile.inc1.  For now, this is implemented as a
NO_SUBDIR knob.

Spotted by:	Dmitry Pryanishnikov <dmitry@atlantis.dp.ua>
Prodded by:	des
MFC after:	3 days
2002-07-12 15:09:35 +00:00
ru
1713155fc2 Make dirty, rotten hack really work. As of rev. 1.16, ${BINDIR}
is only defined after <bsd.prog.mk> is included, and .if make(1)
conditionals are evaluted on the first pass.

Spotted by:	Michael Bretterklieber <mbretter@jawa.at>
2002-07-12 14:49:25 +00:00
ru
61a0df7650 Connect device.hints.5 to the build. 2002-07-12 14:16:46 +00:00
ru
7b8478939a Sort MAN. 2002-07-12 14:08:40 +00:00
ru
3f59a54864 Fixed path to /boot/device.hints. 2002-07-12 13:44:37 +00:00
truckman
90d4a243cd Back out the previous change, since it looks like locking udbinfo provides
sufficient protection.
2002-07-12 09:55:48 +00:00
peter
326ff2eb35 Be specific about which reason caused vm86_addpages to panic 2002-07-12 08:15:42 +00:00