Commit Graph

117547 Commits

Author SHA1 Message Date
pjd
d369af7dc0 Allow to give more than one jail's name, eg.:
# /etc/rc.d/jail start www mail

MFC after:	3 days
2005-08-07 22:38:41 +00:00
alc
68bd5d24d1 When support for 2MB/4MB pages was added in revision 1.148 an error was
made in pmap_protect(): The pmap's resident count should not be reduced
unless mappings are removed.

The errant change to the pmap's resident count could result in a later
pmap_remove() failing to remove any mappings if the errant change has set
the pmap's resident count to zero.
2005-08-07 22:00:47 +00:00
stefanf
6fecd62c1e Sync libedit with recent NetBSD developments. Including improvements to the
vi-mode, removal of clause 3, cleanups and the export of the tokenization
functions.

Not included: config.h, filecomplete.{c,h}
2005-08-07 20:55:59 +00:00
stefanf
298c899341 The libedit update made a const cast necessary. 2005-08-07 20:53:33 +00:00
brueffer
358e47e63b Add some more info about jail startup and shutdown.
Submitted by:	Jeremie Le Hen <jeremie@le-hen.org>
MFC after:	3 days
2005-08-07 20:53:29 +00:00
netchild
b76640a2db Remove cat-pages without corresponding man-pages. 2005-08-07 13:47:25 +00:00
netchild
8a88a5244f Add the recently removed old paper about pascal. 2005-08-07 13:46:28 +00:00
marius
5b05eff84f Recognize the SAB82532 in USIII machines. 2005-08-07 13:37:25 +00:00
marius
ba45e92a8c The system tick _compare_ register of USIII CPUs and up is ASR25, not
ASR24 (which is the system tick register).
2005-08-07 13:21:00 +00:00
ssouhlal
d422a4c637 It's actually 11 minutes when the machine is assumed to be down and removed
from the output.

Obtained from:	DragonFlyBSD
2005-08-07 11:48:44 +00:00
krion
eb83dd84a9 Add if_arl_load, if_axe_load, if_aue_load, if_cs_load, if_cue_load,
if_hme_load, if_nve_load, if_rue_load, if_udav_load to Networking
Drivers section.

Submitted by:	matteo
2005-08-07 09:41:53 +00:00
stefanf
6abe070f3c Fix a comment.
Submitted by:	Liam J. Foy
2005-08-07 09:11:38 +00:00
imura
5a67019bb8 Tell nls_setlocale() the very locale name from command line option,
rather than using optarg variable which would be allways NULL.
2005-08-07 08:46:56 +00:00
stefanf
7907f74429 Revert the replacement of realloc() with reallocf() (el.h:1.2, map.c:1.5 and
tokenizer.c:1.3).  Contrary to the commit log there were no memory leaks,
but the change introduced a bug because the free'd pointer was not zeroed
and calling the appropriate _end() function would call free() a second time.
2005-08-07 08:35:39 +00:00
grehan
449d4474b4 Export a routine, kobj_machdep_init(), that allows platforms
to use the kobj subsystem as soon at mutex_init() has been called
instead of having to wait for the SI_SUB_LOCK sysinit.

Reviewed by:	dfr
2005-08-07 02:20:35 +00:00
davidxu
8b2c1e1534 Revert last change, I will turn ULE on as default after 6.0-R.
Noticed by: scottl
2005-08-06 23:05:48 +00:00
ru
decd2084b8 Fresh dust. 2005-08-06 21:11:57 +00:00
marcel
c96864a4b2 Improve SMP support:
o  Allocate a VHPT per CPU. The VHPT is a hash table that the CPU
   uses to look up translations it can't find in the TLB. As such,
   the VHPT serves as a level 1 cache (the TLB being a level 0 cache)
   and best results are obtained when it's not shared between CPUs.
   The collision chain (i.e. the hash bucket) is shared between CPUs,
   as all buckets together constitute our collection of PTEs. To
   achieve this, the collision chain does not point to the first PTE
   in the list anymore, but to a hash bucket head structure. The
   head structure contains the pointer to the first PTE in the list,
   as well as a mutex to lock the bucket. Thus, each bucket is locked
   independently of each other. With at least 1024 buckets in the VHPT,
   this provides for sufficiently finei-grained locking to make the
   ssolution scalable to large SMP machines.
o  Add synchronisation to the lazy FP context switching. We do this
   with a seperate per-thread lock. On SMP machines the lazy high FP
   context switching without synchronisation caused inconsistent
   state, which resulted in a panic. Since the use of the high FP
   registers is not common, it's possible that races exist. The ia64
   package build has proven to be a good stress test, so this will
   get plenty of exercise in the near future.
o  Don't use the local ID of the processor we want to send the IPI to
   as the argument to ipi_send(). use the struct pcpu pointer instead.
   The reason for this is that IPI delivery is unreliable. It has been
   observed that sending an IPI to a CPU causes it to receive a stray
   external interrupt. As such, we need a way to make the delivery
   reliable. The intended solution is to queue requests in the target
   CPU's per-CPU structure and use a single IPI to inform the CPU that
   there's a new entry in the queue. If that IPI gets lost, the CPU
   can check it's queue at any convenient time (such as for each
   clock interrupt). This also allows us to send requests to a CPU
   without interrupting it, if such would be beneficial.

With these changes SMP is almost working. There are still some random
process crashes and the machine can hang due to having the IPI lost
that deals with the high FP context switch.

The overhead of introducing the hash bucket head structure results
in a performance degradation of about 1% for UP (extra pointer
indirection). This is surprisingly small and is offset by gaining
reasonably/good scalable SMP support.
2005-08-06 20:28:19 +00:00
phk
ff7f5068f0 Control rcs inclusion with NO_RCS insted of NO_TOOLCHAIN 2005-08-06 20:23:13 +00:00
marcel
6d02e606c3 Reduce the default MAXCPU from 16 to 4. This is in preparation of
allocating a VHPT per CPU. Since we don't yet know how many CPUs
are actually in the system at the time we need to allocate the
VHPTs, we allocate for MAXCPU processors. This can result in a
lot of wasted space for 2-way machines. So, for now, limit MAXCPU
to something smaller until we have something more dynamic.
2005-08-06 19:59:23 +00:00
marcel
540bfa469b For ia64_ptc_{e,g,ga,l}(), use instruction serialization. We
typically don't know what the TLB described and need to assume
that it affects the fetching of instructions.
2005-08-06 19:54:31 +00:00
marcel
851cf873bd Add hints for uart(4). These are the same as for sio(4) and make it
easier to switch from sio(4) to uart(4).
2005-08-06 19:24:22 +00:00
marcel
b8c1757032 o Remove the obscure tid command, because it does what the thread
command does, but worse.
o  Remove the obscure proc command, because it does what the thread
   command does, but not unambigously.
o  Move the PID to the extra thread info, where it makes sense and
   where it doesn't confuse users. The extra thread info holds some
   process information, to which the PID belongs.
o  Implement the to_find_new_threads target method by having it call
   the target beneath us if we're not using KVM. This makes sure that
   new threads are found when using the remote target.

o  Fix various core dump scenarios:
   -  Implement the to_files_info target method. Previously the
      'info target' command would cause a NULL pointer dereference.
   -  Don't assume there's a current thread. We're not initialized
      in all cases. This prevents a NULL pointer dereference.
   -  When we're not ussing KVM, have the to_xfer_memory target
      method call the target beneath us. This avoids calling into
      KVM with a NULL pointer.

MFC after: 1 week
2005-08-06 19:22:27 +00:00
marcel
dd65af4600 o As mentioned in the previous commit: make the KVM error buffer
static.
o  Register a function with atexit(3) to close the KVM object if
   we have one open.
o  Show the unread portion of the kernel's message buffer before
   presenting the prompt. It's bound to provide some useful info.
o  Don't call kgdb_target() twice. It results in having all threads
   listed twice.

MFC after: 1 week
2005-08-06 19:07:07 +00:00
sam
653cdbcef0 sigh, sizeof the correct variable so we can match ifname's > 4 bytes 2005-08-06 18:47:12 +00:00
sam
2269fa4b40 destroy lock _before_ free'ing the structure it resides in 2005-08-06 18:42:01 +00:00
krion
0303ff9d39 Add if_ath_load (default NO) in Networking Drivers section.
PR:		conf/80870
Submitted by:	Hasan Cana <vpb at albabsd dot org>
2005-08-06 18:32:25 +00:00
krion
0c4a5c08a5 Fix locations of some links.
Word smithing.

PR:		conf/81923
Submitted by:	Gavin Atkinson <gavin dot atkinson at ury.york.ac.uk>
2005-08-06 18:13:30 +00:00
phk
5a52376065 Respect the YES_HESIOD build variable. 2005-08-06 16:53:55 +00:00
phk
ce947d4496 Respect the YES_HESIOD build variable 2005-08-06 16:52:30 +00:00
rwatson
f7a5e4f7e2 Use libmemstat(3)'s kvm support for malloc(9) rather than hand-extracting
this information from the core dump.
2005-08-06 13:56:21 +00:00
rwatson
d65e7588d3 Teach libmemstat(3) how to extract malloc(9) statistics using kvm(3),
so that libmemstat can be used to view full memory statistics from
kernel core dumps and /dev/mem.  This is provided via a new query
function, memstat_kvm_malloc(), which is also automatically invoked
by memstat_kvm_all().  A kvm handle must be passed in.

This will allow malloc(9)-specific code to be removed from vmstat(8).
2005-08-06 13:54:03 +00:00
hmp
f2028e439d Give credit to Vinod Kashyap and Paul Saab for their work on the
twe(4) driver.
2005-08-06 13:05:45 +00:00
brueffer
ec4f7f03b1 More tcpdump 8->1 cleanup.
Approved by:	mlaier
MFC after:	3 days
2005-08-06 13:03:03 +00:00
davidxu
b6bd2d8bbb Make ULE as default scheduler, allow it to be tested more widely. 2005-08-06 10:31:27 +00:00
phk
6786d43591 Old habits die hard: Make that .if defined(YES_HESIOD) not .if !defined 2005-08-06 07:41:36 +00:00
csjp
8d2abe7f00 Change the data type of the upper shared memory limits from a signed
integer to an unsigned long. This lifts variables like the maximum
number of pages available for shared memory from 2^31 to 2^32 on 32
bit architectures, and from 2^31 to 2^64 on 64 bit architectures.

It should be noted that this changes breaks ABI on 64 bit architectures
because the size of the shmmax, shmmin, shmmni, shmseg and shmall members
of the shminfo structure has changed.

Silence on:	current@
2005-08-06 07:20:18 +00:00
phk
e9468c6553 Put hesiod.conf(5) under build option YES_HESIOD 2005-08-06 06:57:25 +00:00
phk
20873c8f6f Put hesinfo(1) under buildoption "YES_HESIOD" 2005-08-06 06:56:39 +00:00
pjd
b4baf34b16 Add myself as a maintainer of GELI and GZERO classes. 2005-08-06 06:46:29 +00:00
sam
24da388011 fix debug msg typo
MFC after:	3 days
2005-08-06 04:57:27 +00:00
sam
820d1d2e7c Fix handling of frames sent prior to a station being authorized
when operating in ap mode.  Previously we allocated a node from the
station table, sent the frame (using the node), then released the
reference that "held the frame in the table".  But while the frame
was in flight the node might be reclaimed which could lead to
problems.  The solution is to add an ieee80211_tmp_node routine
that crafts a node that does exist in a table and so isn't ever
reclaimed; it exists only so long as the associated frame is in flight.

MFC after:	5 days
2005-08-06 04:56:49 +00:00
cperciva
82b622da6c Include ../Makefile.inc, since without it programs get installed in the
wrong place.

Pointy hat to:	cperciva
2005-08-06 02:37:21 +00:00
cperciva
520e3eb630 Mention that I'd like to review commits to bsdiff and bspatch. 2005-08-06 02:06:43 +00:00
cperciva
68258ab179 Add bsdiff and bspatch to the base system. These are tools for
constructing and applying binary patches; in particular, they perform
well (in the sense of constructing small patches) for executable code.
Both portsnap (coming to the base system Real Soon Now) and FreeBSD
Update (coming to the base system a bit later) use bspatch.

This is the same code as the bsdiff-4.2 which has been in the ports
tree (misc/bsdiff) for the past year, with the following exceptions:
1. The license is now the traditional 2-clause BSD;
2. Instead of forking and execing bzip2, the code now uses libbz2; and
3. Some minor changes have been made to fit this code into the base
system (adding $FreeBSD$ tags, putting bsdiff and bspatch into separate
directories, etc.)

This code is rather ugly and has lots of style bugs (mostly because I
wrote it before I had ever heard of style(9)).  Some day I'll come
back and clean it up.

Discussed on:	freebsd-arch
MFC before:	5.5-RELEASE
Tested by:	Several million users (earlier version).
2005-08-06 01:59:06 +00:00
ssouhlal
1f4d3e95ef Holding a vnode doesn't prevent v_mount from disappearing (when the
vnode is inactivated), possibly leading to a NULL dereference when
checking if the mount wants knotes to be activated in the VOP hooks.
So, we add a new vnode flag VV_NOKNOTE that is only set in getnewvnode(),
if necessary, and check it when activating knotes.
Since the flags are not erased when a vnode is being held, we can safely
read them.

Reviewed by:	kris@
MFC after:	3 days
2005-08-06 01:42:04 +00:00
ssouhlal
4ad4f0f86c The kernel is usually at /boot/kernel/kernel nowadays.
PR:	i386/81756
Submitted by:	trasz <trasz@buziaczek.pl>
2005-08-06 00:33:42 +00:00
ru
0680d89843 - clean ${LIB32TMP} in _worldtmp
- clean ${OBJTREE}/lib32 in _cleanobj
- ensure that ${WORLDTMP} exists in build32
2005-08-05 23:48:58 +00:00
pjd
0c7478173c Teach rc.d/encswap script how to use geli(8) for swap encryption.
MFC after:	3 days
2005-08-05 23:38:51 +00:00
pjd
0b10714f0f gbde_swap has been repo-copied to encswap.
Repo-copy made by:	markm
2005-08-05 21:23:08 +00:00