Commit Graph

106955 Commits

Author SHA1 Message Date
sos
9410cb311e Properly check malloc returns. 2004-08-24 10:39:00 +00:00
roam
45a80babc1 Fix a typo (attacked -> attached).
Approved by:	sam
2004-08-24 08:47:15 +00:00
rwatson
d168fd3606 Conditional acquisition of socket buffer mutexes when testing socket
buffers with kqueue filters is no longer required: the kqueue framework
will guarantee that the mutex is held on entering the filter, either
due to a call from the socket code already holding the mutex, or by
explicitly acquiring it.  This removes the last of the conditional
socket locking.
2004-08-24 05:28:18 +00:00
imp
9b0c1e7ac1 Set the description to NULL in the right detach routine. This should
keep dangling pointers to strings in loaded modules from hanging
around after the drivers are unloaded.
2004-08-24 05:19:15 +00:00
rwatson
a52ebd899d Make sure to properly initialize 'size' to sizeof(sin) before passing
it into accept().  Depending on the initial value in memory, it is
otherwise possible to get EINVAL.
2004-08-24 04:59:26 +00:00
ru
ccba343195 Fixed a misspelling of the hook name.
Submitted by:	Pawel Malachowski
2004-08-24 04:05:52 +00:00
rwatson
45da4deacb Add a basic kqueue + UNIX domain socket pair regression test to do some
elementary exercising of kqueues on datagram and stream sockets.  Note
that the datagram write kqueue case is left untested due to potentially
confusing behavior for the developer (me) that might require attention.
2004-08-24 04:02:41 +00:00
dwhite
aed6d1f035 Pick up changes in rev 1.8 of src/sys/dev/ic/mpt_netbsd.c from NetBSD.
Set the DMA SGL length correctly if the DMA request must be chained because
it is too large to fit in one SGL.

This should fix this driver for some Dell Precision systems.
RELENG_5 candidate.

PR:		kern/66479
Submitted by:	HITOSHI Osada <qfh02545@nifty.com>
2004-08-24 03:47:41 +00:00
peter
dc3c5ad492 It is now an error to call pmap_unuse_pt without the paddr of the pde
that contained the pte.
2004-08-24 00:17:52 +00:00
peter
878672b652 Oops, I forgot to have the idle loop call mp_grab_cpu_hlt() on the amd64
SMP case.
2004-08-24 00:16:43 +00:00
peter
f0aa809d44 struct tm.tm_year is listed as 'years since 1900', and is signed. On
64 bit systems, years roughly -2^31 through 2^31 can be represented in
time_t without any trouble.  32 bit time_t systems only range from
roughly 1902 through 2038.  As a consequence, none of the date munging
code for all the various calendar tweaks before then is present.  There
are other problems including the fact that there was no 'year zero' and
so on.  So rather than get excited about trying to figure out when the
calendar jumped by two weeks etc, simply disallow negative (ie: prior to
1900) years.

This happens to have an important side effect.  If you bzero a 'struct
tm', it corresponds to 'Jan 0, 1900, 00:00 GMT'.  This happens to be
representable (after canonification) in 64 bit time_t space.  Zero tm
structs are generally an error and mktime normally returns -1 for them.
Interestingly, it tries to canonify the 'jan 0' to 'dec 31, 1899', ie:
year -1.  This conveniently trips the negative year test above, which
means we can trivially detect the null 'tm' struct.

This actually tripped up code at work. :-/  (Don't ask)
2004-08-24 00:15:37 +00:00
imp
5c1c6f2674 Even in a 80 column, fixed point font, there's plenty of room for all
the arguments to bus_dmamap_load, so don't use '...' but list the
actual args.  '...' usually means a variable number of args (cf
printf(3)), but bus_dmamap_load takes a fixed number of arguments.
2004-08-23 23:28:02 +00:00
imp
b28f179924 In the SYNOPSIS section, move the bus_dmamem_alloc function prototype
to just before bus_dmamem_free, which is (a) more logical; (b) likely
what was originally intended and (c) matches the order in the NAME and
FUNCTIONS sections.
2004-08-23 23:17:31 +00:00
davidxu
cf0e9470a8 Remove checking of single exit flag in thread_user_enter(), this is
generic code for threaded process, should not be here.
2004-08-23 22:54:37 +00:00
peter
326b7f663e Commit Doug White and Alan Cox's fix for the cross-ipi smp deadlock.
We were obtaining different spin mutexes (which disable interrupts after
aquisition) and spin waiting for delivery.  For example, KSE processes
do LDT operations which use smp_rendezvous, while other parts of the
system are doing things like tlb shootdowns with a different mutex.

This patch uses the common smp_rendezvous mutex for all MD home-grown
IPIs that spinwait for delivery.  Having the single mutex means that
the spinloop to aquire it will enable interrupts periodically, thus
avoiding the cross-ipi deadlock.

Obtained from: dwhite, alc
Reviewed by:   jhb
2004-08-23 21:39:29 +00:00
pjd
02488a6b3c Allow to set kern.geom.mirror.timeout from /boot/loader.conf. 2004-08-23 20:42:34 +00:00
pjd
aa05ee70bc Fix 'show' command for pipes and queues.
PR:		bin/70311
Submitted by:	Pawel Malachowski <pawmal-posting@freebsd.lublin.pl>
MFC after:	3 days
2004-08-23 19:20:27 +00:00
mjacob
23928ffbb6 Until I can get a clearer architecture from PHK about why he wants
the geometry code to grab a mutex that prohibits any driver on the
stack below it from sleeping, it's not safe to allow anything in
the top half of isp to sleep (excepting the thread that Fibre Channel
instances use to re-scan loops/fabrics).
2004-08-23 19:04:19 +00:00
imp
41e5880d79 Add a blanket note about 5.x being the same as 6.0 and vice versa for
the time being.  Also add a note that says we are going to remove the
band-aides for 4.early -> 6.0 after 5.3-RELEASE so people get used to
the idea, even though it has been planned since before 5.0 was
released.
2004-08-23 18:51:36 +00:00
imp
2ce9ba8acb Two items:
o we're 6.x now, so say so in the first few lines of the file.
	o note that I'll be trimming this file around 5.3 release time.
2004-08-23 18:47:13 +00:00
le
b83d5cd619 Compare the addresses of two RAID5 work packets directly instead
of the addresses of their related bios when locking one out, since
they could share a bio and this could lead to parity corruption.
2004-08-23 17:50:18 +00:00
brueffer
2c9dfeb26f Wordsmithing in the hardware section. 2004-08-23 16:48:22 +00:00
brueffer
c4cc2c2d10 Autogenerate entries for ixgb(4) 2004-08-23 16:45:11 +00:00
brueffer
fb544f3d7f Add ixgb, remove isp and mpt (work on all supported platforms) 2004-08-23 16:38:39 +00:00
njl
1c3534c570 Rework sysresource management. Instead of having each sysresource object
hold its own values, pass them up to the parent (acpi0) and merge/uniq them
on the way.  After the namespace evaluation, acpi will reserve these
resources and manage them via rman before bus_generic_probe() and
bus_generic_attach().  This is necessary because some systems specify
conflicting resources in separate sysresource objects.  It's also cleaner
in that the interface between sysresource and acpi is now merely the parent's
resource list.  This code handles the following cases:

1. Unique resource:  add it to the parent via bus_set_resource().
2. New wholly contained in old:  discard new.
3. New tail overlaps old head:  grow old head downward.
   AND/OR
4. New head overlaps old tail:  grow old tail upward.

Tested by:	Pawel Worach <sajd_at_telia.com>
Tested by:	Radek Kozlowski <radek_at_raadradd.com>
MFC after:	5 days
2004-08-23 16:28:42 +00:00
njl
0ffa604436 Add a BUS_GET_RESOURCE_LIST method for nexus.
MFC after:	3 days
2004-08-23 16:26:16 +00:00
obrien
28f6ccfc64 Forced commit to document:
Doug Rabson <dfr@nlsystems.com>
	Message-Id: <200408220940.18504.dfr@nlsystems.com>
	Size does matter for the alpha loader.  The firmware gives it 256k
	of address space which we overflowed many years ago.  I extended it
	in sys/boot/alpha/common/main.c:extend_heap() by adding 512k to the
	loader's mapped address space.
2004-08-23 16:25:07 +00:00
sobomax
55526dc004 My recent measurement shows that CPU_DISABLE_CMPXCHG is no longer necessary
with VmWare 4.x. At least with VmWare version 4.5.2, i386 version of
atomic_cmpset_int() is about 30 times slower than non-i386 version. It
makes this delta a good 5.3 MFC candidate, since otherwise it will
mislead users who run FreeBSD under modern VmWare otherwise.
2004-08-23 15:55:03 +00:00
dfr
e31ba8b9a7 Make sure we allocate at least enough space for the TCB for variant I TLS.
MFC after: 3 days
2004-08-23 15:30:05 +00:00
danfe
cdc7ba74f9 So here I am, also born in USSR.
Approved by:	fjoe (mentor)
2004-08-23 12:53:46 +00:00
des
bf69a16558 Don't try to translate the control message unless we're certain it's
valid; otherwise a caller could trick us into changing any 32-bit word
in kernel memory to LINUX_SOL_SOCKET (0x00000001) if its previous value
is SOL_SOCKET (0x0000ffff).

MFC after:	3 days
2004-08-23 12:41:29 +00:00
tjr
ef4abb9432 Update documentation to match reality: glob() sorts its result according
to the current LC_COLLATE setting, not in "ASCII order".

PR:		54391
MFC after:	1 week
2004-08-23 12:10:44 +00:00
nyan
8129fcb0bd Restore FD_DEBUG for pc98. 2004-08-23 11:59:32 +00:00
blackend
894378ef71 s/the on/on the/
PR:		misc/70842
Submitted by:	Sean C. Farley <sean-freebsd@farley.org>
2004-08-23 11:00:20 +00:00
sobomax
42e3bb3749 o Fix whitespace bug introduced in the previous commit.
Submitted by:	ru

o Simplify p4tcc_power_profile().

Submitted by:	maxim
2004-08-23 10:09:29 +00:00
sobomax
fe731a9733 o Extend boot output: print out mimimum/maximum performance value and number
of performance steps available;

o similarly to Enhanced SpeedStep driver, export list of all available steps
  via hw.p4tcc.cpuperf_levels sysctl.
2004-08-23 09:47:56 +00:00
pjd
529a80f729 Add missing GEOM classes, which are aware of geom(8).
Submitted by:	kuriyama
2004-08-23 06:23:17 +00:00
imp
a991d7c686 Make this compile again in the standalone and the MODULES_WITH_WORLD
environments.  Chances are good that this doesn't produce a good
module, but I leave the proper defaults to the dummy opt_* files to
the author.
2004-08-23 03:38:21 +00:00
rwatson
b1d9338b73 Remove in6_prefix.[ch] and the contained router renumbering capability.
The prefix management code currently resides in nd6, leaving only the
unused router renumbering capability in the in6_prefix files.  Removing
it will make it easier for us to provide locking for the remainder of
IPv6 by reducing the number of objects requiring synchronized access.

This functionality has also been removed from NetBSD and OpenBSD.

Submitted by:	George Neville-Neil <gnn at neville-neil.com>
Discussed with/approved by:	suz, keiichi at kame.net, core at kame.net
2004-08-23 03:00:27 +00:00
kan
edf5a7b07f Temporarily back out r1.74 as it seems to cause a number of regressions
accordimg to numerous reports. It  might get reintroduced some time later
when an exact failure mode is understood better.
2004-08-23 02:39:45 +00:00
mux
4836740e24 Pass a correct lowaddr to bus_dma_tag_create(), lnc(4) cards can only
deal with 24-bit addresses.  While the two other attachments, namely
isa and cbus, do it properly, the PCI attachment was passing
BUS_SPACE_MAXADDR instead of BUS_SPACE_MAXADDR_24BIT.  This bug
became apparent with the new contigmalloc() code.

This fixes the problem reported with lnc(4) interfaces inside VMWare,
and should theoritically also fix any user of a PCI lnc(4) card.  It
is a RELENG_5 MFC candidate.

Tested by:	Florian Le Goff <madflo@beertech.org>
2004-08-22 23:01:13 +00:00
rwatson
769c4fdece Style update: use newer style function prototypes in if_sl.c in
prep for merging locking.
2004-08-22 21:32:52 +00:00
marcel
3bbdf52d20 Move the cow field between wire_count and hold_count. This is the
position that is 64-bit aligned and makes sure that the valid and
dirty fields are also 64-bit aligned. This means that if PAGE_SIZE
is 32K, the size of the vm_page structure is only increased by 8
bytes instead of 16 bytes. More importantly, the vm_page structure
is either 120 or 128 bytes on ia64. These are "interesting" sizes.
2004-08-22 20:52:23 +00:00
cperciva
763aa6bdef When creating a new md, wait for geom's event queue to become empty
before returning.  Device nodes are created via the "taste" mechanism,
so this is necessary in order to make sure that devfs entries are
created before mdconfig(8) returns.

This may be a MFC candidate for 5.3.

Suggested by:	phk
2004-08-22 19:44:24 +00:00
green
f13126589a The new contigmalloc code is exposing a lot of misuses of busdma memory
allocation. Notably, in this case, the driver tries to allocate several
pieces of memory and then fails if the pieces allocated after the first
do not come after it physically, and within a specific range (8MB I
believe).  Of course, this could just as easily fail for any number of
reasons, but it almost always fails now that contiguous allocations start
at the end of possible specified memory locations rather than the beginning.

Allocate all the possibly-needed memory up front, even though it's a waste,
to get around this.  The least bogus solution would be to take the physical
address from the first allocation and create a new tag that specified that
further allocations must follow it within that 8MB window, then use that
when allocating new channels, but that's left for anyone else that really
feels like doing it.

Tested by:	Erwin Lansing <erwin@lansing.dk>
2004-08-22 18:57:40 +00:00
le
a52623fe58 Implement the possibility to remove drives. 2004-08-22 17:07:55 +00:00
mlaier
7dfba5d635 Loopback a fix from Cedric Berger:
Fix table add/replace commands with securelevel=2.
	Reported by James J. Lippard.

Discussed with:	yongari
MFC after:	5 days
2004-08-22 16:58:06 +00:00
mlaier
252cbf1c2a Allow early drop for non-ALTQ enabled queues in an ALTQ-enabled kernel.
Previously the early drop was disabled unconditionally for ALTQ-enabled
kernels.

This should give some benefit for the normal gateway + LAN-server case with
a busy LAN leg and an ALTQ managed uplink.

Reviewed and style help from:	cperciva, pjd
2004-08-22 16:42:28 +00:00
pjd
9602bb2cd9 Regression tests for 'verify reading' algorithm. 2004-08-22 16:26:09 +00:00
pjd
0f9a709922 Fix sysctl name. 2004-08-22 16:22:20 +00:00