rwatson [Fri, 16 Nov 2001 16:49:21 +0000 (16:49 +0000)]
o Allow rarpd to accept an additional '-t directory' argument, specifying
an alternative to /tftpboot. This is useful it you're using tftpd
with an alternative root (using -s), and would like rarpd to respond
selectively to RARP requests using the same criteria as tftp.
Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs
rwatson [Fri, 16 Nov 2001 05:09:45 +0000 (05:09 +0000)]
o Reflect repo-copy of extattr.[c3] from libutil to libc, moving
extattr namespace routines to the libc/posix1e directory. While
the extattr calls are not strictly POSIX.1e, POSIX.1e wasn't
strictly ever approved, so I think that's OK.
rwatson [Fri, 16 Nov 2001 04:39:16 +0000 (04:39 +0000)]
o Add support for a 'nocheckmail' capability, which (if true) prevents
the 'You have mail.' check. This is useful for sites that rely on
remote mail access, rather than a local mail spool. Due to the
behavior of login_getcapbool(), the negated form is required so as
to have appropriate results.
o This behavior may have to be independently added to sshd due to
redundant implementation.
peter [Fri, 16 Nov 2001 02:41:31 +0000 (02:41 +0000)]
Merge another missing part of i386/pmap.c rev 1.220. Dont blindly clear
the PG_BUSY flag without using the code that wakes up something else that
may be sleeping on it.
rwatson [Fri, 16 Nov 2001 02:40:09 +0000 (02:40 +0000)]
Although the 'bool' type is referenced in the list of capabilities, it
is not defined in the capability type list. Provide a definition for
'bool', if a slightly less than elegant one. Note that this definition
does not include the complete scope of available behavior defined
in cgetcap(3), and could probably be improved.
peter [Fri, 16 Nov 2001 02:28:33 +0000 (02:28 +0000)]
Merge rev 1.264 from i386/pmap.c (tegge via alfred):
Protect against an infinite loop when prefaulting pages. This can
happen when the vm system maps past the end of an object or tries
to map a zero length object, the pmap layer misses the fact that
offsets wrap into negative numbers and we get stuck.
peter [Fri, 16 Nov 2001 02:25:29 +0000 (02:25 +0000)]
Merge rev 1.202 from i386/pmap.c (back in 1998 by John Dyson):
Make flushing dirty pages work correctly on filesystems that
unexpectedly do not complete writes even with sync I/O requests.
This should help the behavior of mmaped files when using
softupdates (and perhaps in other circumstances also.)
peter [Fri, 16 Nov 2001 02:17:18 +0000 (02:17 +0000)]
Converge/fix some debug code (#if 0'ed on alpha, but whatever)
- use NPTEPG/NPDEPG instead of magic 1024 (important for PAE)
- use pt_entry_t instead of unsigned (important for PAE)
- use vm_offset_t instead of unsigned for va's (important for x86-64)
peter [Fri, 16 Nov 2001 01:56:34 +0000 (01:56 +0000)]
As part of a general cleanup and reconvergence of related pmap code,
start tidying up some loose ends. The DEBUG_VA stuff has long since
passed its use-by date. It wasn't used on ia64 but got cut/pasted there.
sobomax [Thu, 15 Nov 2001 23:01:29 +0000 (23:01 +0000)]
Allow bit 21 of EFLAGS register (PSL_ID) be changed in the use-mode without
ill effects. This should fix problems threaded programs are having with
auto-detecting CPU type.
Reported by: Joe Clarke <marcus@marcuscom.com>
Tested by: Joe Clarke <marcus@marcuscom.com>
Reviewed by: jhb
MFC after: 1 week
rwatson [Thu, 15 Nov 2001 22:50:06 +0000 (22:50 +0000)]
o extattrctl initattr, when pre-allocating store for extended attributes,
computed a a chunksize that didn't include the extended attribute
header. This was a non-fatal error, in that it was just writing out
zeros anyway, but did have the effect of not pre-allocating the
right amount of disk space. This fix calculates chunksize to include
the attribute header.
rwatson [Thu, 15 Nov 2001 19:28:49 +0000 (19:28 +0000)]
o Rely on /dev/snp* permissions, rather than using suser() in snpopen()
to prevent inappropriate use of the snoop device. This means that,
with appropriate chmod'ing, arbitrary users may make use of the snoop
device.
matusita [Thu, 15 Nov 2001 18:59:04 +0000 (18:59 +0000)]
Add card_if.h to SRCS.
src/sys/dev/an/if_an_pccard.c rev 1.10 change requires to include
"card_if.h" but Makefile doesn't know about this file. Without this,
kernel build will fail at this driver.
jhb [Thu, 15 Nov 2001 17:29:36 +0000 (17:29 +0000)]
- Don't enable interrupts in trap() if we trapped while holding a spin
lock as this usually makes the problem worse.
- If we get a page fault while holding a spin lock, treat it as a fatal
trap and don't even bother calling into the VM since calling into the
VM will panic when trying to lock Giant before we can get a useful
message anyways.
jhb [Thu, 15 Nov 2001 15:58:01 +0000 (15:58 +0000)]
NFS_NOSERVER doesn't do anything anymore and is about to get axed so don't
use it. Instead, remove NFSSERVER. This was already done on i386, but
the alpha still needed the fix.
iwasaki [Thu, 15 Nov 2001 15:12:08 +0000 (15:12 +0000)]
Fix re-enabling ACPI on wakeup from hibernation. The problem was that
acpi_Disable() cleared all GPE events.
Some old ACPI implementaions still need current re-enabling code.
iwasaki [Thu, 15 Nov 2001 11:59:25 +0000 (11:59 +0000)]
Remove "S4B" from sleep_state_names and add "NONE" instead.
Now you can say;
# sysctl hw.acpi.lid_switch_state=NONE
instead of specifying unsupported _Sx object in the system.
Actually, S4B is going to disappear in ACPICA and we already have
hw.acpi.s4bios to distinguish BIOS hibernation or OS hibernation.
imp [Thu, 15 Nov 2001 06:37:13 +0000 (06:37 +0000)]
Hoist the Card/Card2 macros that I invented for the wi driver into
pccard layer and rename them PCMCIA_CARD and PCMCIA_CARD2 respectively
(note, this is being done with an eye towards NetBSD integreation so
it is easier to keep lists of cards between us and them in sync).
mike [Thu, 15 Nov 2001 02:05:03 +0000 (02:05 +0000)]
o Implement imaxabs(), imaxdiv(), llabs(), lldiv().
o Update abs(3), div(3), labs(3), ldiv(3) to reflect standards
conformance and add additional references.
rwatson [Wed, 14 Nov 2001 18:20:45 +0000 (18:20 +0000)]
o Modify nfslockdans() to accept a thread reference instead of a proc
reference: with td->td_ucred, it will be desirable to authorize
based on td->td_ucred, rather than p->p_ucred.
o Since the same variable 'p' was later used with pfind() on the target
process for the wakeup, introduce a new local variable 'targetp'
to use instead.
Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs
iedowse [Wed, 14 Nov 2001 15:08:07 +0000 (15:08 +0000)]
Oops, when trying the dirhash sequential-access optimisation,
compare the slot offset against the predicted offset, not a boolean
flag. This typo effectively disabled the sequential optimisation,
but was otherwise harmless.
Not surprisingly, fixing this improves performance in the sequential
access case. I am seeing a 7% speedup on one machine here; using
dirhash when sequentially looking up directory entries is now about
5% faster instead of 2% slower than the non-dirhash case.
cjc [Wed, 14 Nov 2001 09:30:01 +0000 (09:30 +0000)]
After further discussion on -CURRENT, some people (jhb) do not like
the idea of not masking passwords on comments in case the
administrator comments out an entry without clearing the
password. Instead completely ignore comments (since they have no
security impact) when doing the diff of the old and new passwd file.
dillon [Wed, 14 Nov 2001 06:30:36 +0000 (06:30 +0000)]
remove holdfp()
Replace uses of holdfp() with fget*() or fgetvp*() calls as appropriate
introduce fget(), fget_read(), fget_write() - these functions will take
a thread and file descriptor and return a file pointer with its ref
count bumped.
introduce fgetvp(), fgetvp_read(), fgetvp_write() - these functions will
take a thread and file descriptor and return a vref()'d vnode.
*_read() requires that the file pointer be FREAD, *_write that it be
FWRITE.
This continues the cleanup of struct filedesc and struct file access
routines which, when are all through with it, will allow us to then
make the API calls MP safe and be able to move Giant down into the fo_*
functions.
yar [Wed, 14 Nov 2001 05:03:37 +0000 (05:03 +0000)]
Rework the utmp(5) page:
o Fix a number of wrong statements
o Clarify the structure of the files and the C structures theirselves
o Add cross-references to login(3), logout(3), logwtmp(3)
dillon [Tue, 13 Nov 2001 21:55:13 +0000 (21:55 +0000)]
Create a mutex pool API for short term leaf mutexes.
Replace the manual mutex pool in kern_lock.c (lockmgr locks) with the new API.
Replace the mutexes embedded in sxlocks with the new API.
matusita [Tue, 13 Nov 2001 18:07:14 +0000 (18:07 +0000)]
sysinstall complains about creating acd0t* devices while all dists are
extracted and recreating device files.
Without this, you'll see following messages when 'MAKEDEV all':
[: : out of range
[: : out of range
acd0t is invalid -- can't have more than 32 devices or 169 tracks
Reported by: David Syphers <dsyphers@uchicago.edu> (at current@FreeBSD.org)
jhb [Tue, 13 Nov 2001 16:58:43 +0000 (16:58 +0000)]
Cleanups after previous change:
- Renumber labels since the previous revision removed one.
- Remove useless and wrong comment.
- Repeating the function name is just redundant.
- The previous revision made the comment about %edx useless.
- The comment about %eax was wrong (but did explain why %eax used to be
fixed up).
jhb [Tue, 13 Nov 2001 16:55:54 +0000 (16:55 +0000)]
As a followup to the previous fixes to inferior, revert some of the
changes in 1.80 that were needed for locking that are no longer needed now
that a lock is simply asserted.
matusita [Tue, 13 Nov 2001 15:47:40 +0000 (15:47 +0000)]
Set full-path of cvsup.
In src/Makefile rev 1.232, environment variable PATH is set explicitly
to /sbin:/bin:/usr/sbin:/usr/bin. As a result, binaries located on
non-standard path cannot be executed without full-path (it's the change
of this revision).
However, cvsup is not in our base system -- you lose if you try to
"make update" without setting SUP in make.conf or command line argument.
I think it is safe to assume that cvsup is located at /usr/local/bin,
and it would help other people who first try to do "make update".