sam [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.
davidxu [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.
jhb [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.
bde [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).
alc [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.
marcel [Thu, 6 Nov 2003 04:26:40 +0000 (04:26 +0000)]
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 [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 [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
jhb [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.
jhb [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.
njl [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 [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.
deischen [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.
jhb [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.
bde [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.
bde [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.
harti [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.
harti [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).
harti [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.
harti [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.