94921 Commits

Author SHA1 Message Date
jeff
ad0c897bd5 - The proper test is CPU_ENABLE_SSE and not CPU_ENABLED_SSE. This
effectively disabled the sse2_pagezero() code.

Spotted by:	bde
2003-10-04 13:07:53 +00:00
jeff
449c7a515c - Acquire the vnode interlock prior to droping the mntvnode_mtx. This does
not eliminate races where the vnode could be reclaimed and end up with
   a NULL v_data pointer but Giant is protecting us from that at the moment.
2003-10-04 12:52:37 +00:00
jeff
b8e79e62d0 - Remove a mp_fixme() and some locks that weren't necessary. I now
understand how this works.
2003-10-04 11:06:43 +00:00
alc
ab85e7e065 Synchronize access to a page's valid field by using the lock from its
containing object.
2003-10-04 09:20:00 +00:00
jeff
849854f240 - Remove the backtrace() call from the *_vinvalbuf() functions. Thanks to a
stack trace supplied by phk, I now understand what's going on here.  The
   check for VI_XLOCK stops us from calling vinvalbuf once the vnode has been
   partially torn down in vclean().  It is not clear that this would cause
   a problem.  Document this in nfs_bio.c, which is where the other two
   filesystems copied this code from.
2003-10-04 08:51:50 +00:00
dds
bf121d8ed4 Check for write errors; report and exit with error value. 2003-10-04 07:16:40 +00:00
peter
ac3fcecc22 Emulate bugs in the old PSE code so that apm works again.
I do not yet understand why, but apm *depended* on the fact that the old
PSE code caused the first 1MB of ram to be mapped read/write because it
was in the same 4MB page as the kernel text+data+bss blob.

If anybody ever tried DISABLE_PSE before, apm would not work.

If your cpu did not have PSE, apm would not work there either (eg: 486).

This bug has been around for a Very Long Time.

The Pentium-4-fix commits did not emulate this unintended side effect of
the PSE post-early-boot fixup, and thus apm blew up.  I've added a hack to
emulate the bug until either apm is fixed or we set fire to our bridges.

This is bad though because it gives kernel mode code the opportunity
to accidently write to the first few megs of the general page pool
which is remapped at KERNBASE.  It needs to be fixed properly.
2003-10-04 06:30:56 +00:00
sam
9d93fce265 Locking for updates to routing table entries. Each rtentry gets a mutex
that covers updates to the contents.  Note this is separate from holding
a reference and/or locking the routing table itself.

Other/related changes:

o rtredirect loses the final parameter by which an rtentry reference
  may be returned; this was never used and added unwarranted complexity
  for locking.
o minor style cleanups to routing code (e.g. ansi-fy function decls)
o remove the logic to bump the refcnt on the parent of cloned routes,
  we assume the parent will remain as long as the clone; doing this avoids
  a circularity in locking during delete
o convert some timeouts to MPSAFE callouts

Notes:

1. rt_mtx in struct rtentry is guarded by #ifdef _KERNEL as user-level
   applications cannot/do-no know about mutex's.  Doing this requires
   that the mutex be the last element in the structure.  A better solution
   is to introduce an externalized version of struct rtentry but this is
   a major task because of the intertwining of rtentry and other data
   structures that are visible to user applications.
2. There are known LOR's that are expected to go away with forthcoming
   work to eliminate many held references.  If not these will be resolved
   prior to release.
3. ATM changes are untested.

Sponsored by:	FreeBSD Foundation
Obtained from:	BSD/OS (partly)
2003-10-04 03:44:50 +00:00
gad
420e260964 Handle a 'const' parameter without using __DECONST().
MFC after:	14 days
2003-10-04 02:24:47 +00:00
sam
ba561864b3 add a stub for bpfattach2 so bpf is not required with the 802.11
module or related drivers

Spotted by:	Dan Lukes <dan@obluda.cz>
2003-10-04 01:32:28 +00:00
bms
6867e2e410 Remove the pmap_prefault(9) page as it is no longer required. 2003-10-04 01:32:25 +00:00
bms
4ea755a59d Update the pmap(9) documentation to reflect the movement of pmap_prefault()
to the machine-independent VM layer, as per alc's recent commit.
Add a definition for the new pmap_is_prefaultable() helper function.
2003-10-04 01:30:01 +00:00
alc
b1691aebe4 Migrate pmap_prefault() into the machine-independent virtual memory layer.
A small helper function pmap_is_prefaultable() is added.  This function
encapsulate the few lines of pmap_prefault() that actually vary from
machine to machine.  Note: pmap_is_prefaultable() and pmap_mincore() have
much in common.  Going forward, it's worth considering their merger.
2003-10-03 22:46:53 +00:00
sam
678d7d9378 hookup ctlinput for fast ipsec versions of esp+ah protocols
Supported by:	FreeBSD Foundation
2003-10-03 22:06:36 +00:00
imp
293cc5856c While make has been fixed to grok this construct, the new make hasn't
been widely deploy and that's causing us a lot of pain.  Back out the
last commit for a few weeks so that we can lessen the support load in
current@ asking why they can't build kernels anymore.  Instructions in
UPDATING have been updated, but this should be more effective.

Revert the reverting: November 1st, 2003
2003-10-03 22:00:06 +00:00
phk
150fde5f5c Default ntpd to write a "driftfile" in /var/db/ntpd.drift.
A "driftfile" caches the oscillator offset estimate from boot to boot,
having this means faster and less bumpy time synchronization.  Will
be overridden by any value in the config file.
2003-10-03 21:33:40 +00:00
ru
77a7296c2f Make the -q option DTRT in the compat mode.
PR:	48210
2003-10-03 21:33:39 +00:00
sam
3a8a0128c5 remove unused variable
Supported by:	FreeBSD Foundation
2003-10-03 21:06:17 +00:00
sam
f2e2530446 remove unneeded include of route.h
Supported by:	FreeBSD Foundation
2003-10-03 21:05:08 +00:00
sam
7e54937ddb remove include of route.h now that ip_dummynet.h no longer exposes
data structures that have an embedded struct route

Sponsored by:	FreeBSD Foundation
2003-10-03 21:01:48 +00:00
sam
2b3514a20c place some kernel-specific data structures under #ifdef _KERNEL
Sponsored by:	FreeBSD Foundation
2003-10-03 20:58:56 +00:00
ru
ae6ec1960e Removed the ancient .LIBS setting that causes non-existent
libraries to be reported as up-to-date.

Before:

# make -f /dev/null nonexistent.a
`nonexistent.a' is up to date.

After:

# make -f /dev/null nonexistent.a
make: don't know how to make nonexistent.a. Stop

PR:		bin/44137 (part of)
2003-10-03 20:47:37 +00:00
phk
778cfc9c75 Fix typo.
Spotted by:	"Bjoern A. Zeeb" <bzeeb@zabbadoz.net>
2003-10-03 19:57:58 +00:00
alc
2b6eeeeba1 Make PAGE_SIZE and related quantities signed on sparc64. (They are signed
quantities on every other architecture.)  This change is required in order
to move pmap_prefault() out of the pmap and into the machine-independent
layer.
2003-10-03 19:49:08 +00:00
phk
8204819ae1 Only install .k5login if people have not set NO_KERBEROS. 2003-10-03 19:38:21 +00:00
dds
b954c1afc8 Style fixes: shell script indentation, if/then style, plus a lot
of comments in C code (capitalized, end with full stop).

Submitted by:	schweikh
2003-10-03 19:31:55 +00:00
dds
fdcf60fd8d Create a driver that will compile without warnings on -CURRENT
More changes are probably needed to create a correct driver.

Reviewed by:	markm
Approved by:	schweikh (mentor)
2003-10-03 19:15:07 +00:00
phk
ed244490da More checking if kenv actually know something.
Guard against test(1)-unfriendly outputs from kenv.
2003-10-03 19:07:31 +00:00
ru
8db21048ac Fixed the "To build a kernel" section to mention -DALWAYS_CHECK_MAKE
as the new sys/conf/kmod.mk depends on a make(1) bugfix now.

Reported by:	current
2003-10-03 18:29:06 +00:00
rwatson
2bd88e51d5 When direct dispatching an netisr (net.isr.enable=1), if there are already
any queued packets for the isr, process those packets before the newly
submitted packet, maintaining ordering of all packets being delivered
to the netisr.  Remove the bypass counter since we don't bypass anymore.
Leave the comment about possible problems and options since later
performance optimization may change the strategy for addressing ordering
problems here.

Specifically, this maintains the strong isr ordering guarantee; additional
parallelism and lower latency may be possible by moving to weaker
guarantees (per-interface, for example).  We will probably at some point
also want to remove the one instance netisr dispatch limit currently
enforced by a mutex, but it's not clear that's 100% safe yet, even in
the netperf branch.

Reviewed by:	sam, others
2003-10-03 18:27:24 +00:00
sam
55a6ca8b62 trivial locking rtsock_cb
Sponsored by:	FreeBSD Foundation
2003-10-03 18:27:02 +00:00
phk
2eee80dc38 In case we have no /etc/resolv.conf, don't try to make it out of
thin blue air if the kenv doesn't have any info.

This improves the truth value of the comment above significantly and
reduces the bogous output on the console considerably.
2003-10-03 18:26:33 +00:00
sam
8dd5eb97cf cleanups prior to adding locking (and in some cases to eliminate locking):
o move route_cb to be private to rtsock.c
o replace global static route_proto by locals
o eliminate global #define shorthands for info references
o remove some register decls
o ansi-fy function decls
o move items to be close in scope to their usage
o add rt_dispatch function for dispatching the actual message
o cleanup tangled logic for doing all-but-me msg send

Support by:	FreeBSD Foundation
2003-10-03 18:15:54 +00:00
bms
2e29f8c188 Shorten 'bad gateway' AF_LINK message.
Submitted by:	green
2003-10-03 17:22:14 +00:00
bms
0a71157b43 Make arp_rtrequest()'s 'bad gateway' messages slightly more informative,
to aid me in tracking down LLINFO inconsistencies in the routing table.

Discussed with:	fenner
2003-10-03 17:21:17 +00:00
marcus
82820147db Export PARALLEL_PACAKGE_BUILD to the environment as well to catch more
packages that should/should not be included on the first CD.  This is needed
for the recent KDE space-saving change.

Approved by:	re (bmah)
2003-10-03 16:48:36 +00:00
bmah
ea32ba0132 New release notes: LIBICONV, CD9660_ICONV/MSDOSFS_ICONV/NTFS/ICONV,
libkiconv, mount_cd9660(8)/mount_ntfs(8) -C, mount_msdos(8) -M,
mount_msdos(8) -D/-L.

While here, note that OpenSSL 0.9.7c was MFC-ed.

Submitted by:	"R. Imura" <imura@ryu16.org>
2003-10-03 16:28:26 +00:00
bmah
b95af8d659 New release note: OpenSSL 0.9.7c. 2003-10-03 16:14:54 +00:00
hrs
a1e01f201d Remove SA-03:16. 2003-10-03 14:53:06 +00:00
hrs
5ee47db574 New release notes:
SA-03:14, 03:16, 03:17.
2003-10-03 14:49:04 +00:00
peter
b5f544f08b Add #include "opt_pmap.h" so locore picks up DISABLE_PSE etc options. 2003-10-03 14:33:00 +00:00
mux
c2551825af Fix bogon in ipfilter_resync() introduced in my last commit.
Spotted by:	Gennady Proskurin <gpr@nvnpp.vrn.ru>
2003-10-03 11:57:43 +00:00
bms
f4dc9f80e3 Only delete the route if arplookup() tried to create it. Do not delete
RTF_STATIC routes. Do not check for RTF_HOST so as to avoid being DoSed
when an RTF_GENMASK route exists in the table.

Add a more verbose comment about exactly what this code does.

Submitted by:	ru
2003-10-03 09:19:23 +00:00
bms
672a34781c mdoc(7) cleanups (use .Va, not .Dv, for sysctls.)
Reviewed by:	ru
2003-10-03 07:48:56 +00:00
marcel
1d961a2a8f Swap the syscall caller frame info (i.e. the return pointer and
frame marker) and the syscall stub frame info in the trap frame.
Previously we stored the stub frame info in (rp,pfs) and the
caller frame info in (iip,cfm). This ends up being suboptimal
for the following reasons:
1. When we create a new context, such as for an execve(2), we had
   to set the (rp,pfs) pair for the entry point when using the
   syscall path out of the kernel but we need to set the (iip,cfm)
   pair when we take the interrupt way out. This is mostly just
   an inconsistency from the kernel's point of view, but an ugly
   irregularity from gdb(1)'s point of view.
2. The getcontext(2) and setcontext(2) syscalls had to swap the
   (rp,pfs) and (iip,cfm) pairs to make the context compatible
   with one created purely in userland.

Swapping the (rp,pfs) and (iip,cfm) pairs is visible to signal
handlers that actually peek at the mcontext_t and to gdb(1).
Since this change is made for gdb(1) and we don't care about
signal handlers that peek at the mcontext_t because we're still
a tier 2 platform, this ABI breakage is academic at this moment
in time.

Note that there was no real reason to save the caller frame info
in (iip,cfm) and the stub frame info in (rp,pfs).
2003-10-03 03:50:29 +00:00
bms
76f31b1f55 mdoc(7) cleanup: Break up sentences so that they start on new lines. 2003-10-03 01:20:33 +00:00
bms
5daeffef76 Point out the existence of net.link.ether.inet.log_arp_movements.
Add sysctl(8) to the list of cross-referenced manual pages.
2003-10-03 01:18:21 +00:00
bms
15fe99c2f8 Update arp(4) to document the 'arp: foo is on if0 but got reply from
bar on if1' message.

PR:		bin/48489
Requested by:	ru
2003-10-03 01:15:40 +00:00
naddy
2f3f07c40c Mark the -i and -n options as mutually exclusive and fix various
mdoc formatting nits.

PR:		57027
Approved by:	simon
Obtained from:	OpenBSD
2003-10-03 00:44:11 +00:00
ru
0d3ef04d01 Revert rev. 1.86, I've fixed make(1) (make/dir.c,v 1.32).
PR:		bin/34062
2003-10-02 21:34:06 +00:00