David Malone [Sun, 28 Jul 2002 16:05:07 +0000 (16:05 +0000)]
Improve WARNS situation for kdump:
1) Define _KERNEL while including sys/time.h to get some function prototypes.
2) Add prototypes and ANSIify definitions.
3) Constness changes.
4) Remove register keyword.
5) Actually return a sensible value from main.
6) Make fread_tail take a void * instead of a char *.
7) Avoid a signedness warning by casting to a size_t. Should be safe
enough 'cos we also check for nonnegativity.
8) Be extra chummy with sigset_t rather than passing a struct to printf
and pretending it is an int.
Mike Barcroft [Sun, 28 Jul 2002 15:59:51 +0000 (15:59 +0000)]
Revert the previous delta; uintfptr_t needs to be available to
userland for libc/gmon to compile, so the typedef in <machine/types.h>
isn't good enough. This is really ugly since we end up with the
actual value which uintfptr_t is typedef'd from, in multiple places.
This is bug for bug compatible with the other FreeBSD architectures.
Juli Mallett [Sun, 28 Jul 2002 13:46:09 +0000 (13:46 +0000)]
Search the include path for the argument to -f, to make lives easier for
those of us who want to figure out how old Jim Mock is, but only want to
type 'calendar -f calendar.freebsd'. This is done in a way that should
be totally backwards compatible with no noticable differences, at all.
Add a -v option that prevents switching virtual terminals while this
terminal is locked. This permits the user to easily lock the entire
console from a single terminal.
Implement this (quoted from the updated man page): If the first token
of a rule specification is a single dash (``-''), rules are read from
the standard input and the rest of the specification is ignored.
Use more standard section names in an attempt to unconfuse new users
(and make it easier to find stuff for the old ones). I originally put
everything under one "RULE SUBSYSTEM" so it didn't look like devfs(8)
is dedicated to the rule subsystem, but since nobody has any idea what
else might go here, it's not worth confusing people just to save a
little time for someone that might add something rule-unrelated to
devfs(8) in a few years.
Juli Mallett [Sun, 28 Jul 2002 03:57:08 +0000 (03:57 +0000)]
As of revision 1.38 of make/parse.c, our make(1) will warn too. Note that
this isn't just for the sake of testing behaviour, and that things really
do break if this regression occurs.
Unimplement panic(8) by making sure that we don't recurse into a
ruleset. If we do, that means there's a ruleset loop (10 includes 20
include 30 includes 10), which will quickly cause a double fault due
to stack overflow (since "include" is implemented by recursion).
(Previously, we only checked that X didn't include X.)
Juli Mallett [Sun, 28 Jul 2002 03:52:41 +0000 (03:52 +0000)]
Print a warning when we are given two scripts for one target. This is neither
as wide-reaching nor intensive as NetBSD's similar, but the warning uses the
same text.
Stock -current has more than 300 files in /etc, so 255 inodes for the
/etc filesystem isn't enough; consequently, add "-i 4096" to the newfs
command for /etc. This results in 1022 inodes, which should be enough
for the forseeable future (although I don't know why we would ever
have more than 1000 files in a default /etc).
Alan Cox [Sat, 27 Jul 2002 23:20:32 +0000 (23:20 +0000)]
o Require that the page queues lock is held on entry to vm_pageout_clean()
and vm_pageout_flush().
o Acquire the page queues lock before calling vm_pageout_clean()
or vm_pageout_flush().
David Malone [Sat, 27 Jul 2002 23:06:52 +0000 (23:06 +0000)]
If a socket is disconnected for some reason (like a TCP connection
not responding) then drop any data on the outgoing queue in
soisdisconnected because there is no way to get it to its destination
any longer.
The only objection to this patch I got on -net was from Terry, who
wasn't sure that the condition in question could arise, so I provided
some example code.
David Malone [Sat, 27 Jul 2002 22:53:44 +0000 (22:53 +0000)]
Make test check the tv_nsec part of a struct stat when comparing
the mtimes of a file. (This is probably only useful if you have
vfs.timestamp_precision set to something nonzero).
John Baldwin [Sat, 27 Jul 2002 22:15:42 +0000 (22:15 +0000)]
- Fixup whitespace after previous commit.
- To minimize whitespace changes, remove a test that didn't define
_CPUCFLAGS if both NO_CPU_CFLAGS and NO_CPU_COPTFLAGS were defined
since it is redundant (we don't use _CPUCFLAGS if those are defined).
John Baldwin [Sat, 27 Jul 2002 22:04:05 +0000 (22:04 +0000)]
If there is not a CPUTYPE defined by default, then allow for _CPUCFLAGS
to tune for more advanced processors while still supporting the minimum
processor in an architecture. We can do this with the '-mtune=' option
to gcc for alpha, sparc64, and powerpc and with the mis-named '-mcpu='
option for i386.
This defaults to tuning i386 builds for i686 machines though not using
any instructions that aren't found on an 80386. For alpha it defaults
to tuning for an EV5.
Approved by: peter
Peril sensitive sunglasses borrowed from: peter
Implement a direct mapped address region, like alpha and ia64. This
basically maps all of physical memory 1:1 to a range of virtual addresses
outside of normal kva. The advantage of doing this instead of accessing
phsyical addresses directly is that memory accesses will go through the
data cache, and will participate in the normal cache coherency algorithm
for invalidating lines in our own and in other cpus' data caches. So
we don't have to flush the cache manually or send IPIs to do so on other
cpus. Also, since the mappings never change, we don't have to flush them
from the tlb manually.
This makes pmap_copy_page and pmap_zero_page MP safe, allowing the idle
zero proc to run outside of giant.
Robert Watson [Sat, 27 Jul 2002 19:56:27 +0000 (19:56 +0000)]
Reserve VCACHEDLABEL vnode flag for use by the TrustedBSD MAC
implementation. This flag will indicate that the security label
in the vnode is currently valid, and therefore doesn't need to
be refreshed before an access control decision can be made. Most
file systems (or stdvops) will set this flag after they load the
MAC label from disk the first time to prevent redundant disk I/O;
some file synthetic file systems (procfs, for example) may not.
Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs
John Baldwin [Sat, 27 Jul 2002 19:43:52 +0000 (19:43 +0000)]
If we are building docs with this release and PREFETCHDISTFILES is defined
then download the distfiles for the ports needed to build the docs before
we enter the chroot environment. This is useful since often times releases
get in a funk trying to download distfiles in the chroot.
Robert Watson [Sat, 27 Jul 2002 18:06:49 +0000 (18:06 +0000)]
Slight restructuring of the logic for credential change case identification
during execve() to use a 'credential_changing' variable. This makes it
easier to have outstanding patchsets against this code, as well as to
add conditionally defined clauses.
Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs
John Baldwin [Sat, 27 Jul 2002 16:54:23 +0000 (16:54 +0000)]
Disable optimization of spinlocks on UP kernels w/o debugging for now
since it breaks mtx_owned() on spin mutexes when used outside of
mtx_assert(). Unfortunately we currently use it in the i386 MD code
and in the sio(4) driver.
Alan Cox [Sat, 27 Jul 2002 06:41:03 +0000 (06:41 +0000)]
o Lock page queue accesses by vm_page_activate() and vm_page_deactivate()
in vm_pageout_object_deactivate_pages().
o Apply some style fixes to vm_pageout_object_deactivate_pages().
Warner Losh [Fri, 26 Jul 2002 22:54:30 +0000 (22:54 +0000)]
Only INTERSIL 0.8.3 and newer firmware is supported with hostap mode.
While earlier versions can be made to work, they require various work
arounds not in the driver right now.
Warner Losh [Fri, 26 Jul 2002 21:50:36 +0000 (21:50 +0000)]
Back out jmallett's realpath changes. They break a set of makefiles that
we use in sublte ways with relative paths. Until they can be resolved,
back out these changes and put a big comment about why using realpath is
busted.
Sort command-line options according to the mostly used style:
alphabetical order, lower and upper case of the same letter
stick together, lower case first.
Don't dump all information about apm when only asked to enable/disable apm
functions (-e and -h switches). This should make apm(8) self-consistent, as
for example -d enable|disable doesn't dump such info.