Sam Leffler [Fri, 7 Nov 2003 01:47:52 +0000 (01:47 +0000)]
Fix locking of the ip forwarding cache. We were holding a reference
to a routing table entry w/o bumping the reference count or locking
against the entry being free'd. This caused major havoc (for some
reason it appeared most frequently for folks running natd). Fix
is to bump the reference count whenever we copy the route cache
contents into a private copy so the entry cannot be reclaimed out
from under us. This is a short term fix as the forthcoming routing
table changes will eliminate this cache entirely.
David Xu [Thu, 6 Nov 2003 23:43:40 +0000 (23:43 +0000)]
Make zh_CN.GBK fully work by making monetdef/msgdef/timedef symlinks to
zh_CN.GB2312 locale files. zh_CN.GB18030 can be changed in same way,
but I havn't done this change since these files already exists.
John Baldwin [Thu, 6 Nov 2003 21:33:17 +0000 (21:33 +0000)]
Fix an incorrect quote character in an M4 test conditon. Basically, one
of the verbose print statements that BTXLDR_VERBOSE enables wasn't properly
enabled.
Bruce Evans [Thu, 6 Nov 2003 09:31:01 +0000 (09:31 +0000)]
Fixed some more missing punctuation in comments (most instances in this
file except for about 30 lines that have more errors and/or need rewording
to fit the punctuation).
Alan Cox [Thu, 6 Nov 2003 05:08:12 +0000 (05:08 +0000)]
- Simplify pipespace() by eliminating the explicit creation of vm objects.
Instead, let the vm objects be lazily instantiated at fault time. This
results in the allocation of fewer vm objects and vm map entries due to
aggregation in the vm system.
Add support for unaligned ld2, st2, st4 and st8. While here, make
sure we handle stacked registers properly by taking into account
that:
1. bspstore points after the frame (due to cover),
2. we need to adjust for intermediate NaT collections.
Jeff Roberson [Thu, 6 Nov 2003 03:09:05 +0000 (03:09 +0000)]
- Add a pinned count to the thread so that cpu pinning may nest. This is
not in scheduler specific data because eventually it will be required by
all schedulers.
- Implement sched_pin and unpin as an inline for now. If a scheduler needs
to do something more complicated than adjusting the pinned count we can
move this into a function later in an api compatible way.
Sam Leffler [Wed, 5 Nov 2003 23:42:51 +0000 (23:42 +0000)]
o make debug_mpsafenet globally visible
o move it from subr_bus.c to netisr.c where it more properly belongs
o add NET_PICKUP_GIANT and NET_DROP_GIANT macros that will be used to
grab Giant as needed when MPSAFE operation is enabled
John Baldwin [Wed, 5 Nov 2003 23:19:44 +0000 (23:19 +0000)]
Instead of marking all 159 interrupts as available in the IRQ resource
manager, only add interrupts that have an associated source in the
interrupt table to the resource manager.
John Baldwin [Wed, 5 Nov 2003 23:15:52 +0000 (23:15 +0000)]
When remapping an ISA interrupt from one intpin to another, disable the
pin that is used by the default identity mapping if it still maps to the
old vector. The ACPI case might need some tweaking for the SCI interrupt
case since ACPI likes to address the intpin using both the IRQ remapped to
it as well as the previous existing PCI IRQ mapped to it.
Nate Lawson [Wed, 5 Nov 2003 20:51:25 +0000 (20:51 +0000)]
Fix a bug in iasl(8) that caused it to core dump while parsing a DSDT
on ia64. The bug is present in i386 as well but didn't show up due to
more relaxed page protections. This fix has been submitted to the vendor.
Johan Karlsson [Wed, 5 Nov 2003 19:20:41 +0000 (19:20 +0000)]
Make this WARNS=6 clean by:
- declaring 'mode2str' as returning a 'const char *'
- prototyping all function
- rename the argument 'version' to 'ver', not to shadow
the now prototyped function 'version'.
Also mark it as WARNS?= 6 clean to try to keep it clean.
Daniel Eischen [Wed, 5 Nov 2003 18:17:30 +0000 (18:17 +0000)]
Remove #include of spinlock.h from libc_private.h. Declare spinlocks as
struct _spinlock. Keep the typedef in for now; another set of changes
may come around to clean up consumers of spinlocks.
John Baldwin [Wed, 5 Nov 2003 16:18:06 +0000 (16:18 +0000)]
- Adjust some of the bitfields in the ioapic_intsrc struct to be unsigned
rather than signed. This fixes some cosmetics such as verbose printf's
for IRQs greater than 127.
- The calculation for next_ioapic_base was also adjusted so that it will
only complain once for each hole in the IRQs provided by ACPI for IO
APICs.
Bruce Evans [Wed, 5 Nov 2003 12:20:16 +0000 (12:20 +0000)]
Moved $FreeBSD$ to the beginning of the file.
Don't put the name of the file in a comment. $FreeBSD$ gives more than
enough about the file's pathname.
Fixed misdescription of the file. It isn't the whole unified Makefile...
Moved the settings of WERROR and of the standard extra CFLAGS
-finline-limit and -fno-strict-aliasing to a less wrong place. They
were in the section for profiling.
Bruce Evans [Wed, 5 Nov 2003 11:56:58 +0000 (11:56 +0000)]
Fixed a reference to a nonexistent variable in previous commit. Renaming
of ffs_reload()'s mountp parameter to mp in rev.1.28 of ffs_vnops.c
had not been merged here.
ext2fs_reload() is still missing locking from not merging other changes
to ffs_reload(), but none of these is related to recent locking changes.
Hartmut Brandt [Wed, 5 Nov 2003 11:47:31 +0000 (11:47 +0000)]
Make the driver conditionally MPSAFE. MPSAFEty defaults to not-mpsafe
but can be enabled by setting hw.atm.hatmN.mpsafe in the kernel
environment to a non-zero value before loading the driver. When
the problems with network MPSAFEty have been sorted out this will
be removed and the driver will default to MPSAFE.
Hartmut Brandt [Wed, 5 Nov 2003 11:43:06 +0000 (11:43 +0000)]
When compiled with debugging trace the number of transmit mbufs that
we own. Warn if something strange happens (number drops below zero or
there appears to be a leak).
Hartmut Brandt [Wed, 5 Nov 2003 11:15:47 +0000 (11:15 +0000)]
Initialize the USED flag in new external receive buffers to 0, not to 1.
We put them directly onto the free list instead of calling the
external mbuf free routine (that routine would have cleaned the flag).
This fixes a bug which manifests itself in falsely reporting a lot of used
buffers when configuring the interface down.
Hartmut Brandt [Wed, 5 Nov 2003 10:32:21 +0000 (10:32 +0000)]
Replace the lock-less algorithm for the free item list with a more
conservative lock. The problem with the lock-less algorithm is that
it suffers from the ABA problem. Running an application with funnels
a couple of 100kpkts/s through the netgraph system on a dual CPU system
with MPSAFE drivers will panic almost immediatly with the old algorithm.
It may be possible to eliminate the contention between threads that insert
free items into the list and those that get free items by using the
Michael/Scott queue algorithm that has two locks.
Hajimu UMEMOTO [Wed, 5 Nov 2003 09:47:54 +0000 (09:47 +0000)]
- do hexdump on send. set length field properly
- check for encryption/authentication key together with algorithm.
- warned if a deprecated encryption algorithm (that includes "simple")
is specified.
- changed the syntax how to define a policy of a ICMPv6 type and/or a
code, like spdadd ::/0 ::/0 icmp6 134,0 -P out none;
- random cleanup in parser.
- use yyfatal, or return -1 after yyerror.
- deal with strdup() failure.
- permit scope notation in policy string (-P
esp/tunnel/foo%scope-bar%scope/use)
- simplify /prefix and [port].
- g/c some unused symbols.
Hajimu UMEMOTO [Wed, 5 Nov 2003 09:41:23 +0000 (09:41 +0000)]
- plug memory leak.
- fixed a length of the sadb extension in the case of pfkey_send_x5().
- used getprotobynumber() for printing a upper layer protocol name.
- modified the output format against the change of the setkey syntax
about a icmp6 type/code.
- don't enumerate reserved fields. use memset.