89872 Commits

Author SHA1 Message Date
Ruslan Ermilov
0b00d54eed Moved libgeom.so dependencies to where they belong.
Reviewed by:	phk
Approved by:	re (scottl)
2003-05-17 19:05:17 +00:00
Tom Rhodes
ed2f3585f6 Apply the first in a series of patches which will bring bsd.README up to date.
PR:		35652
Submitted by:	"Simon L. Nielsen" <simon@nitro.dk> (original version)
Approved by:	re (bmah)
2003-05-17 18:03:05 +00:00
Tom Rhodes
ac6bad097f Add an EXAMPLES section.
Xref sh(1) as we use environment variables.

PR:		43899
Reviewed by:	des
2003-05-17 15:46:46 +00:00
Dag-Erling Smørgrav
97e0102665 Make sure realinstall works when ${.OBJDIR} != ${.CURDIR}. 2003-05-17 14:15:59 +00:00
Dag-Erling Smørgrav
64afb48f6c Make some spaces non-breakable. 2003-05-17 14:13:51 +00:00
Dag-Erling Smørgrav
d9bc08dd81 Constrain the chekout date to ISO format (yyyy-mm-dd) and add a special
case, "today", which corresponds to 00:00 on the day the run starts.

Remove NO_CPU_CFLAGS and NO_CPU_COPTFLAGS.  This should be safe since we
clear the environment and set __MAKE_CONF to /dev/null.  NO_CPU_CFLAGS
actually breaks the Alpha release by preventing the inclusion of -mieee
in CFLAGS.

Do not set BUILDNAME as the release/Makefile already constructs a better
one than we do (though I wish there was a way to s/-SNAP/-TINDERBOX/)
2003-05-17 14:12:48 +00:00
Wilko Bulte
a393c385c4 Make the Alpha floppies fit. At least we can build a release now.
Patch kindly provided by: obrien
2003-05-17 11:58:28 +00:00
Marcel Moolenaar
040c5b92bb Remove unused files. cpu_switch() and cpu_throw(), normally in swtch.s,
can be found in machdep.c.

Approved: re@
2003-05-17 04:55:04 +00:00
Peter Wemm
5c0fe26236 Actually get all the bits for sd_hibase.. it was 16 bits short. oops.
Approved by:	re (amd64/* blanket)
2003-05-17 02:05:10 +00:00
Christian Brueffer
433087977a Add information about setting sysctl variables via loader(8) and
loader.conf(5)

PR:		38426 (slightly modified)
Submitted by:	Phil Pennock <pdp@nl.demon.net>
Approved by:	re (bmah)
MFC after:	3 days
2003-05-17 01:01:03 +00:00
Peter Wemm
728ec271c1 Fix a bug in the AMD64 trampoline. I misunderstood the implicit
32->64 bit zero extend.  This changes a movl to an orq.

Approved by:	re (amd64 bits)
2003-05-17 00:30:51 +00:00
Ruslan Ermilov
c00ee5e567 mdoc(7) police: Properly markup the previous revision.
Approved by:	re (blanket)
2003-05-16 21:36:10 +00:00
Ruslan Ermilov
60cdf2f1a0 mdoc(7) police: Normalize the FILES section.
Approved by:	re (blanket)
2003-05-16 21:34:21 +00:00
Ruslan Ermilov
c8d3a56cb8 mdoc(7) police: Make SYNOPSIS match usage().
Approved by:	re (blanket)
2003-05-16 21:27:23 +00:00
Marcel Moolenaar
f2c49dd248 Revamp of the syscall path, exception and context handling. The
prime objectives are:
o  Implement a syscall path based on the epc inststruction (see
   sys/ia64/ia64/syscall.s).
o  Revisit the places were we need to save and restore registers
   and define those contexts in terms of the register sets (see
   sys/ia64/include/_regset.h).

Secundairy objectives:
o  Remove the requirement to use contigmalloc for kernel stacks.
o  Better handling of the high FP registers for SMP systems.
o  Switch to the new cpu_switch() and cpu_throw() semantics.
o  Add a good unwinder to reconstruct contexts for the rare
   cases we need to (see sys/contrib/ia64/libuwx)

Many files are affected by this change. Functionally it boils
down to:
o  The EPC syscall doesn't preserve registers it does not need
   to preserve and places the arguments differently on the stack.
   This affects libc and truss.
o  The address of the kernel page directory (kptdir) had to
   be unstaticized for use by the nested TLB fault handler.
   The name has been changed to ia64_kptdir to avoid conflicts.
   The renaming affects libkvm.
o  The trapframe only contains the special registers and the
   scratch registers. For syscalls using the EPC syscall path
   no scratch registers are saved. This affects all places where
   the trapframe is accessed. Most notably the unaligned access
   handler, the signal delivery code and the debugger.
o  Context switching only partly saves the special registers
   and the preserved registers. This affects cpu_switch() and
   triggered the move to the new semantics, which additionally
   affects cpu_throw().
o  The high FP registers are either in the PCB or on some
   CPU. context switching for them is done lazily. This affects
   trap().
o  The mcontext has room for all registers, but not all of them
   have to be defined in all cases. This mostly affects signal
   delivery code now. The *context syscalls are as of yet still
   unimplemented.

Many details went into the removal of the requirement to use
contigmalloc for kernel stacks. The details are mostly CPU
specific and limited to exception_save() and exception_restore().
The few places where we create, destroy or switch stacks were
mostly simplified by not having to construct physical addresses
and additionally saving the virtual addresses for later use.

Besides more efficient context saving and restoring, which of
course yields a noticable speedup, this also fixes the dreaded
SMP bootup problem as a side-effect. The details of which are
still not fully understood.

This change includes all the necessary backward compatibility
code to have it handle older userland binaries that use the
break instruction for syscalls. Support for break-based syscalls
has been pessimized in favor of a clean implementation. Due to
the overall better performance of the kernel, this will still
be notived as an improvement if it's noticed at all.

Approved by: re@ (jhb)
2003-05-16 21:26:42 +00:00
Ruslan Ermilov
07e4e2cc98 mdoc(7) police: Added "rot13" to the NAME section.
Approved by:	re (blanket)
2003-05-16 21:26:39 +00:00
Ruslan Ermilov
d74e011ff0 mdoc(7) police: A better version of the same.
Approved by:	re (blanket)
2003-05-16 21:19:32 +00:00
Ruslan Ermilov
b289f982ea mdoc(7) police: Fix document date.
Approved by:	re (blanket)
2003-05-16 21:18:01 +00:00
Daniel Eischen
fd626336fd Add a method of yielding the current thread with the scheduler
lock held (_thr_sched_switch_unlocked()) and use this to avoid
dropping the scheduler lock and having the scheduler retake the
same lock again.

Add a better way of detecting if a low-level lock is in use.

When switching out a thread due to blocking in the UTS, don't
switch to the KSE's scheduler stack only to switch back to
another thread.  If possible switch to the new thread directly
from the old thread and avoid the overhead of the extra
context switch.

Check for pending signals on a thread when entering the scheduler
and add them to the threads signal frame.  This includes some
other minor signal fixes.

Most of this was a joint effor between davidxu and myself.

Reviewed by:	davidxu
Approved by:	re@ (blanket for libpthread)
2003-05-16 19:58:30 +00:00
Hiten Pandya
72a3951459 Remove an extraneous .El' that was reported by groff -z`.
Approved by: des (mentor), re (scottl)
2003-05-16 19:57:38 +00:00
Hiten Pandya
e48d599e4f Remove an extraneous space, reported by groff -z.
Approved by: des (mentor), re (scottl)
2003-05-16 19:55:52 +00:00
Hiten Pandya
5466eeeaa7 Remove a bogus NOTES section. Move that content elsewhere.
Approved by: des (mentor), re (scottl)
2003-05-16 19:54:20 +00:00
Don Lewis
1e9bc9f889 Detect that a vnode has been reclaimed while vflush() was waiting to lock
the vnode and restart the loop.  Vflush() is vulnerable since it does not
hold a reference to the vnode and it holds no other locks while waiting
for the vnode lock.  The vnode will no longer be on the list when the
loop is restarted.

Approved by:	re (rwatson)
2003-05-16 19:46:51 +00:00
Hiten Pandya
5f616912b4 Document the ``resource management'' routines in rman(9).
Submitted by: Bruce M. Simpson <bms@spc.org>
Reviewed by: mdodd

Approved by: des (mentor), re (scottl)
2003-05-16 19:22:27 +00:00
John Baldwin
2adcfc5855 - Use better terminology when describing mutex operations in msleep(9)'s
description.
- Remove some bogus commas.
- Use the past tense when referring to the removal of the sleep() function
  since it happened quite a while ago and since the previous sentence in the
  paragraph already uses the past tense.

Approved by:	re (rwatson)
2003-05-16 15:52:32 +00:00
Hiten Pandya
0d740fd5e8 Add a manual page for the CTASSERT(9) macro.
Approved by: des (mentor), re (scottl)
2003-05-16 15:24:07 +00:00
Hiten Pandya
30ecad6f4b Document the VFCF_* flags.
Approved by: des (mentor), re (scottl)
2003-05-16 15:21:20 +00:00
Dag-Erling Smørgrav
9878532be8 More configuration tweaks. Rename %CONFIGS to %SETUPS to make the code
clearer (particularly to someone who has read the man page).  Don't print
anything on stderr.
2003-05-16 14:01:02 +00:00
Ruslan Ermilov
f7d341e06d Revision 1.49 broke snapshot building on older systems.
Approved by:	re (scottl)
2003-05-16 13:59:12 +00:00
Dag-Erling Smørgrav
16b7723c4f Document the fact that tinderbox(1) accepts environment variables on the
command line.  Also sort the xrefs correctly.
2003-05-16 13:58:20 +00:00
Dag-Erling Smørgrav
f0bd8792bb More oats for the beggars' horses. 2003-05-16 12:11:13 +00:00
Dag-Erling Smørgrav
cef526c27c Be careful what you wish for - you might get it!
Wished for by:	ru
2003-05-16 10:59:40 +00:00
Dag-Erling Smørgrav
7f34345c68 Add a 'patch' command rather than apply the patch unconditionally.
Don't try to clean the release chroot, leave that to the release Makefile.
2003-05-16 10:58:35 +00:00
Dag-Erling Smørgrav
3dcbbed7f3 Don't be so sensitive; /\bStop\b/ can occur in normal output and trick
tbmaster into thinking the build failed.  Look for /^Stop in / instead.
2003-05-16 10:55:49 +00:00
Marcel Moolenaar
baf74b8876 o In pmap_install, don't prevent switching the pmap if we're
switching to kernel_pmap. The pmap is not special enough.
o  Clear the active bit on the pmap we're switching out.
o  Fix some nearby style(9) bugs.

Approved by: re@
2003-05-16 07:57:44 +00:00
Dag-Erling Smørgrav
ae2568e5f3 Overhaul the reporting code, making sender, recipient and subject fully
configurable.

Add support for tinderbox.pl's --patch.

-STABLE releases won't build with NOPERL (kernel builds use Perl).
2003-05-16 07:54:47 +00:00
Dag-Erling Smørgrav
b2b8f6223b Add support for local patches (which are also passed on to make release)
--verbose was a little too verbose, especially while cleaning the sandbox.
2003-05-16 07:52:38 +00:00
Alan Cox
f820bc501e Use vm_object_deallocate(), not vm_pager_deallocate(), to destroy a
vm object.  (vm_pager_deallocate() does not, in fact, destroy a vm object.)

Approved by:	re (scottl)
Reviewed by:	phk
2003-05-16 07:28:27 +00:00
Marcel Moolenaar
906f065725 Indent a comment. This makes 1.100.
Still approved by: re@ (blanket)
2003-05-16 07:05:08 +00:00
Marcel Moolenaar
164d4986fd Turn pmap_growkernel() into a critical section. While here, initialize
kernel_vm_end in pmap_bootstrap. Don't delay the initialization until
we need to grow the kernel VM space. This BTW happens twice before
we enter either single- or multi-user mode. Don't adjust kernel_vm_end
while growing based on whether the KPT contains a non-NULL entry. We
trust kernel_vm_end to be correct and we make sure it's still correct
after growing.
Define virtual_avail and virtual_end in terms of VM_MIN_KERNEL_ADDRESS
and VM_MAX_KERNEL_ADDRESS (resp). Don't hardcode region knowledge.
2003-05-16 07:03:15 +00:00
Marcel Moolenaar
8cc31ae5be Revamp the RID allocation code:
o  Limit the size of the region ID map to 64KB. This gives a bitmap
   that is large enough to keep track of 2^19 numbers. The minimal map
   size is 32KB. The reason we limit the map size is that processor
   models may have implemented a 24-bit region ID, which would give
   a 2MB bitmap while the maximum number of allocations is always
   less than PID_MAX*5, which is less than 2^19.
o  Allocate all region IDs up-front. The slight downside of reserving
   more RIDs then a process needs (3 for ia64 native and 1 for ia32)
   is preferable over the call to pmap_ensure_rid() where RIDs are
   allocated on demand. On SMP systems this may lead to a race
   condition.
o  When allocating a region ID, don't use arc4random(). We're not
   interested in randomness or uniform distribution across the
   spectrum. We only need uniqueness. Random numbers may easily
   collide when the number of allocated RIDs is high, creating a
   possibly unbounded retry rate.
2003-05-16 06:40:40 +00:00
Marcel Moolenaar
75189cff08 Move the conditional definition of KSTACK_MAX_PAGES up ahead where
it's more visible.

Approved by: re@ (blanket)
2003-05-16 06:17:34 +00:00
Marcel Moolenaar
5551d84398 Sync the linker script with the one used by default for userland. Since
ia64 only uses relocations with addend, remove the sections specific to
non-addend relocations (.rel.*). Also remove C++ specific sections.

Approved by: re@ (blanket)
2003-05-16 06:03:45 +00:00
Murray Stokely
a8a084fc17 Add variables for missing network drivers.
PR:		kern/51911
Submitted by:	David Yeske <dyeske@yahoo.com>
Approved by:	re
2003-05-16 04:31:00 +00:00
Murray Stokely
4001e1ee2e Add E-Tech ISA PnP modem ID.
PR:		kern/36692
Submitted by:	Theo van Klaveren <t.vanklaveren@student.utwente.nl>
Approved by:	re (murray)
MFC After:	3 days
2003-05-16 04:04:04 +00:00
Murray Stokely
b07f858e8b Add French dvorak-like keymap for syscons.
PR:		conf/50732
Submitted by:	Frederic PRACA <frederic.praca@freebsd-fr.org>
Approved by:	re
2003-05-16 03:46:53 +00:00
Murray Stokely
c14b1e3675 Fix the M and < keys on Belgian keyboards.
PR:		conf/30341, i386/48398
Submitted by:	Chris Pockele <chrisp@belgacom.net>
Approved by:	re
2003-05-16 03:37:52 +00:00
Murray Stokely
a9e91c5ea4 Fix < >, { } and [ ] keys.
PR:		conf/47556
Approved by:	re (murray)
2003-05-16 03:34:23 +00:00
David E. O'Brien
04ddc5dea6 Run $S/kern/genassym.sh with the correct NM.
Approved by:	re(blanket)
2003-05-16 02:27:17 +00:00
Tim J. Robbins
6e7988b9c5 Catch up with the renaming of the "union" filesystem to "unionfs".
Fixes a problem where directory entries could show up twice: once
on the top layer of the union stack, and once on the bottom layer.

Approved by:	re (rwatson)
2003-05-16 02:15:07 +00:00