105950 Commits

Author SHA1 Message Date
rwatson
76535adbaa Remove spl's from kern_resource.c. 2004-08-04 18:19:09 +00:00
rwatson
0bd932a38d Annotate locking strategy for 'struct uidinfo'. 2004-08-04 18:14:19 +00:00
alc
97dc3be9d1 Post-locking clean up/simplification, particularly, the elimination of
vm_page_sleep_if_busy() and the page table page's busy flag as a
synchronization mechanism on page table pages.

Also, relocate the inline pmap_unwire_pte_hold() so that it can be used
to shorten _pmap_unwire_pte_hold() on alpha and amd64.  This places
pmap_unwire_pte_hold() next to a comment that more accurately describes
it than _pmap_unwire_pte_hold().
2004-08-04 18:04:44 +00:00
jmg
1031eb4832 add a set of scripts that I posted to -current last year. This makes
debugging kernels and kernel modules much easier.  It will automaticly
locate kernel source, extract kernel module information, and rerun gdb
to load kernel module symbol information (if available by compiling module
w/ debuging symbols).

I have not run these recently, so may need to be updated to work with
gdb6.  Feel free to fix as appropriate for -current.
2004-08-04 18:03:43 +00:00
gibbs
6abb4f0f80 Correct a very rare case where command ordering could be compromised
by a transaction performing a driver handled message sequence (an
scb with the MK_MESSAGE flag set).

SCBs that perform host managed messaging must always be
at the head of their per-target selection queue so that
the firmware knows to manually assert ATN if the current
negotiation agreement is packetized.  In the past we
guaranteed this by queuing these SCBs separarately in
the execution queue.  This exposes the system to potential
command reordering in two cases:

1) Another SCB for the same ITL nexus is queued that does
   not have the MK_MESSAGE flag set.  This SCB will be
   queued to the per-target list which can be serviced
   before the MK_MESSAGE scb that preceeded it.

2) If the target cannot accept all of the commands in the
   per-target selection queue in one selection, the remainder
   is queued to the tail of the selection queues so as to
   effect round-robin scheduling.  This could allow the
   MK_MESSAGE scb to be sent to the target before the
   requeued commands.

This commit changes the firmware policy to defer queuing
MK_MESSAGE SCBs into the selection queues until this can
be done without affecting order.  This means that the
target's selection queue is either empty, or the last
SCB on the execution queue is also a MK_MESSAGE SCB.
During any wait, the firmware halts the download of new
SCBs so only a single "holding location" is required.

Luckily, MK_MESSAGE SCBs are rare and typically occur only
during CAM's bus probe where only one command is outstanding
at a time.  However, during some recovery scenarios, the
reordering *could* occur.

aic79xx.c:
	Update ahd_search_qinfifo() and helper routines to
	search for pending MK_MESSAGE scbs and properly
	restitch the execution queue if either the MK_MESSAGE
	SCB is being aborted, or the MK_MESSAGE SCB can be
	queued due to the execution queue draining due to
	aborts.

	Enable LQOBUSFREE status to assert an interrupt.
	This should be redundant since a BUSFREE interrupt
	should always occur along with an LQOBUSFREE event,
	but on the Rev A, this doesn't seem to be guaranteed.

	When a PPR request is rejected when a previously
	existing packetized agreement is in place, assume
	that the target has been reset without our knowledge
	and revert to async/narrow transfers.  This corrects
	two issues: the stale ENATNO setting that was used
	to send the PPR is cleared so the firmware is not
	confused by a future packetized selection with
	ATN asserted but no MK_MESSAGE flag in the SCB and
	it speeds up recovery by aborting any pending
	packetized transactions that by definition are now
	dead.

	When re-queueing SCBs after a failed negotiation
	attempt, ensure command ordering by freezing the
	device queue first.

	Traverse the list of pending SCBs rather than the
	whole SCB array on the controller when pushing
	MK_MESSAGE flag changes out to the controller.
	The original code was optimized for the aic7xxx
	controllers where there are fewer controller slots
	then pending SCBs and the firmware picks SCB
	slots.  For the U320 controller, the hope is
	that we have fewer pending SCBs then the 512
	slots on the controller.

	Enhance some diagnostics.

	Factor out some common code.

aic79xx.h:
	Add prototype for new ahd_done_with_status() that is
	used to factor out some commone code.

aic79xx.reg:
	Add definisions for the pending MK_MESSAGE SCB.

aic79xx.seq:
	Defer MK_MESSAGE SCB queing to the execution queue
	so as to preserve command ordering.  Re-arrange some
	of the selection processing code so the above change
	had no performance impact on the common code path.

	Close a few critical section holes.

	When entering a non-packetized phase, manually enable
	busfree interrupts, since the controller hardware
	does not do this automatically.

aic79xx_inline.h:
	Enhance logging for queued SCBs.

aic79xx_osm.c:
	Add new a new DDB ahd command, ahd_dump, which
	invokes the ahd_dump_card_state() routine on the
	unit specified with the ahd_sunit DDB command.

aic79xx_pci.c:
	Turn on the BUSFREEREV bug for the Rev B. controller.
	This is required to close the busfree during non-packetized
	phase hole.
2004-08-04 17:55:34 +00:00
marcus
c8262f39d1 Fix Skinny and PPTP NAT'ing after the introduction of the {ip,tcp,udp}_next
functions.  Basically, the ip_next() function was used to get the PPTP and
Skinny headers when tcp_next() should have been used instead.  Symptoms of
this included a segfault in natd when trying to process a PPTP or Skinny
packet.

Approved by:	des
2004-08-04 15:17:08 +00:00
harti
3226759811 Correct the .Dd date. Pluralize 'assignment' in one place.
Requested by: ru
2004-08-04 15:10:35 +00:00
philip
b2d488a77d Unbreak LINT by making sure that method is always defined.
Submitted by:	roam
Pointy hat to:	philip
2004-08-04 14:29:22 +00:00
pjd
be8c86ce12 Add regression test for "prefer" balance algorithm in MIRROR class. 2004-08-04 12:18:42 +00:00
simokawa
40e1004c57 Fix and add deivce ID's.
Obtained from: DragonFly BSD
2004-08-04 12:18:39 +00:00
pjd
c111951680 - Add "prefer" balance algorithm. When used, only disk with the biggest
priority will be used for reading.
- Bump version number.
2004-08-04 12:09:53 +00:00
pjd
a107bfb237 MFp4: We don't really need g_mirror_free_disk() function. 2004-08-04 10:02:06 +00:00
dfr
ad7bd36e4c In dev_pager_updatefake, m->valid is typically 0 on entry. It
should be set to VM_PAGE_BITS_ALL before returning, to ensure that
neither vm_pager_get_pages nor vm_fault calls vm_page_zero_invalid
after dev_pager_getpages has returned.

Submitted by: tegge
2004-08-04 08:58:58 +00:00
blackend
5d5e3bbc55 Add Canon CanoScan LIDE 20 and Canon CanoScan LIDE 30 to the list of
supported devices.  While I'm there add CanoScan to the names of other
Canon scanners.

MFC after:	1 week
2004-08-04 08:11:33 +00:00
markm
2eca3d2dab Give sshd a secure startup, but with a tweakable timeout so that
the box won't hang forever at startup.
2004-08-04 08:10:37 +00:00
harti
310a4a288d Add a regression test for the passing of command line
variable assignments via the MAKEFLAGS environment variable.
2004-08-04 07:40:58 +00:00
harti
b1d0efad03 Move libbsnmp.so to /lib so that it is available to atmconfig.
At the moment the only dependency on this library is bsnmpd.

Approved by:	silence on re@
2004-08-04 06:46:02 +00:00
kientzle
f8de4317f9 Correct the names and descriptions of the man pages. 2004-08-04 06:19:31 +00:00
marcel
9829c3207d Pass the partition type to get_mountpoint() and new_part(). This way
we'll actually create an EFI partition with a FAT file system instead
of an UFS file system. It also allows us to give a sensible default
mount point for EFI partitions so that people don't have to guess.
This also means that we can now remove new_efi_part(), which did the
same thing as new_part(), except it created a FAT file system. The
function wasn't called when the EFI partition was created from scratch
though, which was the problem. By passing the partition type to the
various functions, we can deal with EFI without having to duplicate
code.
2004-08-04 05:40:15 +00:00
rwatson
83a61f757e Add minimal socketpair() regression test to confirm that we can create
(and close) PF_UNIX socket pairs, and that we can't create PF_INET
socket pairs.  More tests to follow.
2004-08-04 03:46:35 +00:00
gad
60e17cd478 Remove these three files left-over from my unsuccessful attempt to
re-import `patch' into this location.  Instead I think I will import
it to 'patch-b', and that way I can be sure that I am starting with
a clean slate WRT the CVS repository.
2004-08-04 03:24:25 +00:00
kan
2e85a1715e Add missing patch which was forgotten during GCC 3.4.2 import. libgcc.a
gets most of it content back now, when symbols from LIB2FUNCS are actually
compiled.

Noticed by: Steve Kargl <gk at troutmask dot apl dot washington dot edu>
Pointy hat to: kan
2004-08-04 03:13:51 +00:00
tjr
f4fe67807c Add a standard DIAGNOSTICS section. 2004-08-04 03:02:14 +00:00
tjr
02910c3493 Add a standard DIAGNOSTICS section. 2004-08-04 02:55:25 +00:00
tjr
220248347a Add ENVIRONMENT and DIAGNOSTICS sections. 2004-08-04 02:51:46 +00:00
tjr
77692f94c6 In next(), ensure that 'done' is set in the case when a file cannot
be opened, to avoid trying to read standard input after already closing
it, which resulted in EBADF errors.
2004-08-04 02:47:32 +00:00
anholt
fbbc298037 Update for conversion to X.Org as default X in -current.
Requested by:	scottl
2004-08-04 00:46:58 +00:00
le
072b47a345 Allow 'create <filename>'. 2004-08-04 00:23:00 +00:00
gad
66da0a565e Fix problems with the OFW console which happen when the system goes
into single-user mode (as seen on sparc64 and PPC).  Problems were due
to a minor oversight in the changes committed in revision 1.25.

Submitted by:	grehan
Tested by:	gad & yongari
2004-08-04 00:21:19 +00:00
philip
11953c7462 Further cleanup: merge the three led toggling functions
into a single general function to handle all leds.

Approved by:	njl
2004-08-03 22:37:09 +00:00
simon
cc6a920fbf Auto generate the device listings in the Hardware Notes based on
manual pages, to avoid duplicating work between the Hardware Notes and
manual pages.

Each text line in the output from the manual page parser is generated
as a SGML entity, making it possible for translators to only translate
lines which actually contains English text (this neat idea came from
hrs).

To determine which drivers are usable on which architectures the
dev.archlist.txt file is used to explicitly list this.  It it an
imperfect solution, but the best I have been able to come up with for
now.

This commit converts most of the devices which has a section 4 manual
page with a HARDWARE section to be the new auto generated format.

Reviewed in principle by:	ru, hrs, trhodes
Good ideas for improvements:	hrs
No objections:			-doc, re
2004-08-03 22:12:45 +00:00
njl
e232f7c8d9 Bump WARNS to 2 for all other ACPI drivers and minor cleanup. 2004-08-03 21:27:43 +00:00
njl
f9477f2ed8 Use the acpi_{Get,Set}Integer functions instead of rolling custom ones.
Clean up return path of each function to have a single exit point.  This
reduces diffs against the MPSAFE tree.
2004-08-03 21:17:36 +00:00
simon
294f3fe462 - Add a HARDWARE section which lists supported devices. 2004-08-03 20:52:28 +00:00
simon
af1eaaafca - Make the HARDWARE section preamble text have a call to the Nm macro,
so the driver name will appear in the Hardware Notes.
2004-08-03 20:46:23 +00:00
markm
4f0e0f97f5 Update for the null.ko removal. 2004-08-03 19:29:48 +00:00
markm
f516045149 Making a loadable null.ko for /dev/(null|zero) proved rather
unpopular, so remove this (mis)feature.

Encouragement provided by:	jhb (and others)
2004-08-03 19:24:54 +00:00
harti
c6449c277b Correct the description of the MFLAGS and .MAKEFLAGS variables. Add
the MFLAGS target. Document that variable assignments from the MAKEFLAGS
environment variable and the .MAKEFLAGS and .MFLAGS target have the
same precedence as command line variable assignments.
2004-08-03 19:14:14 +00:00
harti
fbcc82e0b7 Put variable assignments from the command line into the MAKEFLAGS
variable as required by POSIX. This causes such variables to be
pushed into all sub-makes called by the make (except when the MAKEFLAGS
variable is explicitely changed in the sub-make's environment).
This makes them also mostly un-overrideable in sub-makes except on the
sub-make's command line. Therefor specifying 'make CC=icc' will cause
icc to be used as C compiler in all sub-makes no matter what the Makefiles
itself try to do to the CC variable.

This patch also corrects the handling of the MFLAGS variable. MFLAGS
contains all the command line flags but not the command line variable
assignments. The evaluation of the .MFLAGS or .MAKEFLAGS target now
changes both MFLAGS and MAKEFLAGS (they used to change MAKEFLAGS only).
Makefiles can use MFLAGS for their own purposes given that they do not
except MFLAGS to be undefined at the beginning and that they don't evaluate
.MFLAGS or .MAKEFLAGS. MFLAGS should be removed for POSIX compliance,
but it is unfortunately heavily used by the X makefiles.

This has been extensively tested by port builds (thanks to portmgr), new
worlds and kernels.

PR:		standards/57295 (1st part above)
Submitted by:	James E. Flemer <jflemer@alum.rpi.edu>
Approved by:	portmgr
Obtained from:	NetBSD (1st part above)
MFC after:	4 weeks
2004-08-03 18:56:31 +00:00
mux
35780dc21a Instead of calling ia32_pause() conditionally on __i386__ or __amd64__
being defined, define and use a new MD macro, cpu_spinwait().  It only
expands to something on i386 and amd64, so the compiled code should be
identical.

Name of the macro found by:	jhb
Reviewed by:	jhb
2004-08-03 18:44:27 +00:00
philip
81234cca4a Teach moused about Synaptics touchpads.
While I'm here, document the existence of the '-l' option, which allows
one to use moused to use psm in some more interesting ways.

Approved by:	njl (mentor)
2004-08-03 18:43:45 +00:00
harti
908064976f Make the SIGCHLD handler static and declare its argument
as unused, so that make can be compiled with WARNS=3 again.
2004-08-03 18:43:43 +00:00
njl
3c17f077be Fix the ACPI_DEBUG case by removing a now unused variable. 2004-08-03 17:16:30 +00:00
wpaul
0c50dcdea3 Minor cleanups:
- Fix typo in comment
- Remember to free() sc->ndis_txarray on detach
- Remember to do an ifmedia_removeall() for ethernet devices
2004-08-03 17:00:39 +00:00
pjd
f381f9a205 Fix comment. 2004-08-03 15:41:33 +00:00
pjd
7a05d0a3cd Don't skip permission checks when sending signals to zombie processes.
Pointed out by:	bde
Reviewed by:	rwatson
2004-08-03 15:39:23 +00:00
obrien
eede4a5926 Enable packet mode by default. Disk drives have gotten so large now,
it is often the case the partition one wants to boot is above cylinder 1023.
2004-08-03 15:20:55 +00:00
obrien
21fb58ea74 Initialize variables to fix kernel build on AMD64. 2004-08-03 14:14:53 +00:00
andre
3a7a087025 o Delayed checksums are now calculated in divert_packet() for diverted packets
Remove the XXX-escaped code that did it in ip_output()'s IPHACK section.
2004-08-03 14:13:36 +00:00
andre
b4b8091221 The inflight sysctls have moved to net.inet.tcp.inflight.*, so adjust
documentation accordingly.
2004-08-03 14:06:12 +00:00