110333 Commits

Author SHA1 Message Date
delphij
8b37a26c64 Avoid comparing pointer against a numerical value by adding a * in
front of it.

Reviewed by:	phk
2004-11-25 16:14:27 +00:00
phk
762f6433e7 Add first cut at dethaumagizing UFS mounting. 2004-11-25 13:37:19 +00:00
phk
8499c6beb7 Add a convenience function for building nmount iov arrays. 2004-11-25 13:31:46 +00:00
phk
3b5dc375c1 Fix bug: don't let "synco" match "sync" 2004-11-25 13:24:46 +00:00
harti
9f7b765454 Forced commit to note that the previous raised WARNS to 3. This has been
tested on i386, alpha, sparc64 and amd64.
2004-11-25 12:51:51 +00:00
harti
789172da50 Include sys/sysctl.h on all architectures not only i386. 2004-11-25 12:50:16 +00:00
phk
22a987d0c1 Allow a filesystem to have both old and new mount methods at the same
time.  This will be necessary for transitioning.
2004-11-25 12:19:24 +00:00
scottl
0e27fd31e8 Don't use PAGE_SIZE to calculate controller-specific attributes.
PR: kern/21220
Submitted by: Dennis Lindroos
MFC After: 1 week
2004-11-25 12:15:49 +00:00
phk
7a1c041472 Regen. 2004-11-25 12:08:16 +00:00
phk
0fbefdd001 Mark mount, unmount and nmount MPSAFE 2004-11-25 12:07:28 +00:00
phk
8cb05dfca4 Assert Giant held in vfs_domount() and vfs_dounmount()
Explicitly grab Giant before calling these.
2004-11-25 12:06:43 +00:00
harti
f4e37f6f60 Add some regression tests for the .SHELL target. I'm not sure that the
output of shell_2j is actually correct - it just tests what make currently
does. Make should switch on echoing for the second line, shouldn't it?
2004-11-25 10:03:29 +00:00
harti
0083a3a1f9 Fix a very long-standing error in handling .SHELL targets: this target
uses the brk_string function to parse the line. That function uses static
storage for both the expanded string and the returned argv[] vector.
The JobParseShell function simply stored away pointers into this static
storage. On the next use of something like ${FOO:O} this storage would
get overwritten with fatal results.

This also allows us to make the shells[] array const bringing us one step
further in making make WARNS=4 ready.
2004-11-25 10:01:26 +00:00
phk
dc8dcdc3f3 Integrate the relevant bits of vfs_rootmountalloc() where it matters. 2004-11-25 09:47:51 +00:00
maxim
52c7e742ee Increase a socket receive buffer size. This helps 'ngctl list'
to deal with a big number of nodes.

Submitted by:		archie
Approved by:		archie
Reported and tested:	Konstantin Timashkov
MFC after:		1 month
2004-11-25 09:27:56 +00:00
phk
5525bf4639 Use system wide no-op vfs_start function. 2004-11-25 09:11:27 +00:00
peter
5366ae5ee5 Remove the build32.sh hack, it is now slightly broken (missing some
compile args) and would be harmful to use.  Leave the README pointing
to WITH_LIB32 for now.
2004-11-25 04:25:21 +00:00
brooks
e25eb8fca3 Remove a duplicate line from an apparent merge error in rev 1.63. 2004-11-25 01:09:41 +00:00
jmallett
1750a4ec16 Gentle code cleanup for the maximum make(1) level foo. This moves it to a
function, and moves the related defines out of the middle of code body.

Submitted by:	Max Okumoto less-than okumoto at ucsd dot edu greater-than
2004-11-24 22:03:45 +00:00
brueffer
19b9137fab MLINK vge.4 to if_vge.4
MFC after:	3 days
2004-11-24 20:31:30 +00:00
brueffer
555162ef70 Xref polling.4 and bump .Dd
MFC after:	3 days
2004-11-24 19:06:43 +00:00
delphij
2841d31dff Try to close a potential, but serious race in our VM subsystem.
Historically, our contigmalloc1() and contigmalloc2() assumes
that a page in PQ_CACHE can be unconditionally reused by busying
and freeing it.  Unfortunatelly, when object happens to be not
NULL, the code will set m->object to NULL and disregard the fact
that the page is actually in the VM page bucket, resulting in
page bucket hash table corruption and finally, a filesystem
corruption, or a 'page not in hash' panic.

This commit has borrowed the idea taken from DragonFlyBSD's fix
to the VM fix by Matthew Dillon[1].  This version of patch will
do the following checks:

	- When scanning pages in PQ_CACHE, check hold_count and
	  skip over pages that are held temporarily.
	- For pages in PQ_CACHE and selected as candidate of being
	  freed, check if it is busy at that time.

Note:  It seems that this is might be unrelated to kern/72539.

Obtained from:	DragonFlyBSD, sys/vm/vm_contig.c,v 1.11 and 1.12 [1]
Reminded by:	Matt Dillon
Reworked by:	alc
MFC After:	1 week
2004-11-24 18:56:13 +00:00
brueffer
e4eab4f8c2 Note that 4.11 will be the first 4.x based release to include
this driver.

Discussed with:		ru
2004-11-24 18:45:46 +00:00
mlaier
7e3eabcfe7 Teach periodic(8) security output to display information about blocked
packet counts by pf(4).

This adds a ``daily_status_security_pfdenied_enable'' variable to
periodic.conf, which defaults to ``YES'' as the matching IPF(W) versions.

The output will look like this (line wrapped):

  pf denied packets:
  > block drop log on rl0 proto tcp all [ Evaluations: 504986 Packets: 0
    Bytes: 0 States: 0 ]
  > block drop log on rl0 all [ Evaluations: 18559 Packets: 427 Bytes: 140578
    States: 0 ]

Submitted by:	clive (thanks a lot!)
MFC after:	2 weeks
2004-11-24 18:41:53 +00:00
rwatson
b8ce76bac0 Link critical_enter.9 to critical.9 to make it easier to find. 2004-11-24 18:03:52 +00:00
imp
00db5ac668 o Report charge/discharge rate and remaining capacity in the proper
units (as specified in _BIF). (noted by Bruno Ducrot)
o In looking in the standard, if the cap numbers are 0xffffffff, then acpi
  is reporting unknown for that field.  Report unknown numbers properly.
o Update the state to reflect charging, discharging and critical.
2004-11-24 16:02:20 +00:00
jhb
d9d5c6d6b7 - If the COMSPEED is set to 0, then don't try to initialize the serial port
and assume that the BIOS has set it up for us.  This allows folks with a
  serial-aware BIOS to set the BIOS to speeds above 9600 and allow boot0 to
  just use the existing settings.
- Purge some gratuitous cpp comments as per style(9).

Submitted by:	Danny Braniss danny at cs dot huji dot ac dot il (1)
MFC after:	1 month
2004-11-24 15:39:04 +00:00
imp
d211cd088b phk jumped the gun and posted what looks like a preliminary version of
my patches for this information.  Commit my more complete version.
This version isn't complete yet, since some details aren't handled
right just yet.

Poaching by: phk
2004-11-24 15:32:07 +00:00
jhb
2a3801783b Fix comments for serial I/O function prototypes that were broken in the
assembler to cpp(1) comment conversions.  This allows btx to compile again
when BTX_SERIAL is defined.

Reported by:	Danny Braniss danny at cs dot huji dot ac dot il
MFC after:	1 month
2004-11-24 14:54:33 +00:00
pjd
d720a85b5b Correct mutexes names in comment.
Reviewed by:	rwatson
2004-11-24 14:47:06 +00:00
phk
897db391de Dump current status of battery as well.
The -i code doesn't really belong here in the first place I would think,
but keep it together for now.
2004-11-24 12:49:39 +00:00
sos
ccede841b5 Return ATA register values in the request struct when ATAREQUEST returns. 2004-11-24 10:47:26 +00:00
mux
ba795b0226 Fix a typo in an error message.
Spotted by:	ceri
2004-11-24 10:44:39 +00:00
dhartmei
f808618fbd fix a bug that leads to a crash when binat rules of the form
'binat from ... to ... -> (if)' are used, where the interface
is dynamic.

Discovered by:	kos(at)bastard(dot)net
Analyzed by:	Pyun YongHyeon
Approved by:	mlaier (mentor)
MFC after:	1 week
2004-11-24 00:43:34 +00:00
rwatson
6917b2b1d9 In tcp_reass(), assert the inpcb lock on the passed tcpcb, since the
contents of the tcpcb are read and modified in volume.

In tcp_input(), replace th comparison with 0 with a comparison with
NULL.

At the 'findpcb', 'dropafterack', and 'dropwithreset' labels in
tcp_input(), assert 'headlocked'.  Try to improve consistency between
various assertions regarding headlocked to be more informative.

MFC after:	2 weeks
2004-11-23 23:41:20 +00:00
rwatson
b523874cef Assign if_broadcastaddr to NULL not 0 in if_attach().
Printf() a warning if if_attachdomain() is called more than once on an
  interface to generate some noise on mailing lists when this occurs.

Fix up style in if_start(), where spaces crept in instead of tabs at
some point.

MFC after:	1 week
MFC note:	Not the printf().
2004-11-23 23:31:33 +00:00
rwatson
410699c6a2 When printing a stack trace for a thread, also print the pid and tid.
When a series of traces is included in a bug report, this will make it
easier to tie the trace information back to ps or threads output,
each of which will show the pid or the tid, but usually not both.
2004-11-23 23:11:47 +00:00
rwatson
c628469f24 When printing information on the current thread, such as when entering
DDB, also print the pid of the process if present.  Since much
debugging still centers around processes, having the pid is quite
helpful.
2004-11-23 23:07:12 +00:00
wollman
b59dbc2123 Add a `-m month' flag to provide a more convenient interface for
displaying a calendar for a specific month of the current year than
`cal $(date +"%Y") month'.  A few minor code cleanups.  Set WARNS=1.
(This code is WARNS=5 clean except for "`O' modifier used with `%B'
strftime format", which is legal in FreeBSD but GCC doesn't know about.)

MFC after:	1 week
2004-11-23 22:57:17 +00:00
jhb
0b649957e7 - Remove some no longer used constants.
- Sort function prototypes.
2004-11-23 22:30:03 +00:00
jhb
fb979fee7e Rework the ACPI PCI link code.
- Use a new-bus device driver for the ACPI PCI link devices.  The devices
  are called pci_linkX.  The driver includes suspend/resume support so that
  the ACPI bridge drivers no longer have to poke the links to get them
  to handle suspend/resume.  Also, the code to handle which IRQs a link is
  routed to and choosing an IRQ when a link is not already routed is all
  contained in the link driver.  The PCI bridge drivers now ask the link
  driver which IRQ to use once they determine that a _PRT entry does not
  use a hardwired interrupt number.
- The new link driver includes support for multiple IRQ resources per
  link device as well as preserving any non-IRQ resources when adjusting
  the IRQ that a link is routed to.
- The entire approach to routing when using a link device is now
  link-centric rather than pci bus/device/pin specific.  Thus, when
  using a tunable to override the default IRQ settings, one now uses
  a single tunable to route an entire link rather than routing a single
  device that uses the link (which has great foot-shooting potential if
  the user tries to route the same link to two different IRQs using two
  different pci bus/device/pin hints).  For example, to adjust the IRQ
  that \_SB_.LNKA uses, one would set 'hw.pci.link.LNKA.irq=10' from the
  loader.
- As a side effect of having the link driver, unused link devices will now
  be disabled when they are probed.
- The algorithm for choosing an IRQ for a link that doesn't already have an
  IRQ assigned is now much closer to the one used in $PIR routing.  When a
  link is routed via an ISA IRQ, only known-good IRQs that the BIOS has
  already used are used for routing instead of using probabilities to
  guess at which IRQs are probably not used by an ISA device.  One change
  from $PIR is that the SCI is always considered a viable ISA IRQ, so that
  if the BIOS does not setup any IRQs the kernel will degenerate to routing
  all interrupts over the SCI.  For non ISA IRQs, interrupts are picked
  from the possible pool using a simplistic weighting algorithm.

Tested by:	ru, scottl, others on acpi@
Reviewed by:	njl
2004-11-23 22:26:44 +00:00
rwatson
278f52e7a7 Correct a bug introduced in sys_pipe.c:1.179: in pipe_ioctl(),
release the pipe mutex before calling fsetown(), as fsetown()
may block.  The sigio code protects the pipe sigio data using
its own mutex, and the pipe reference count held by the caller
will prevent the pipe from being prematurely garbage-collected.

Discovered by:	imp
2004-11-23 22:15:08 +00:00
jhb
e0cb9607c5 Fix a cpuid mismatch from the recent cpuid rototill in Alpha: boot_cpu_id
is a PAL ID, while PCPU_GET(cpuid) is a FreeBSD CPU ID.  The FreeBSD CPU
ID of the BSP is always zero, so use that to see which CPU should run the
full clock functions.
2004-11-23 22:11:53 +00:00
mux
c6e2c549c2 Implement per-jail fstab(5) files. Here's a rc.conf sample using
this feature for a jail named foo :

jail_foo_mount_enable="YES"
jail_foo_fstab="/etc/fstab.foo"

The second line is actually useless, since the code defaults to
using "/etc/fstab.$jailname" as the fstab file if none is specified.

MFC after:	3 days
Submitted by:	Jeremie Le Hen <jeremie@le-hen.org>
2004-11-23 20:09:58 +00:00
marcel
a73c9ef46a This file was repocopied to src/sys/boot/ia64/efi. 2004-11-23 18:55:24 +00:00
rwatson
75d5a09a05 tcp_timewait() performs multiple non-atomic reads on the tcptw
structure, so assert the inpcb lock associated with the tcptw.
Also assert the tcbinfo lock, as tcp_timewait() may call
tcp_twclose() or tcp_2msl_rest(), which require it.  Since
tcp_timewait() is already called with that lock from tcp_input(),
this doesn't change current locking, merely documents reasons for
it.

In tcp_twstart(), assert the tcbinfo lock, as tcp_timer_2msl_rest()
is called, which requires that lock.

In tcp_twclose(), assert the tcbinfo lock, as tcp_timer_2msl_stop()
is called, which requires that lock.

Document the locking strategy for the time wait queues in tcp_timer.c,
which consists of protecting the time wait queues in the same manner
as the tcbinfo structure (using the tcbinfo lock).

In tcp_timer_2msl_reset(), assert the tcbinfo lock, as the time wait
queues are modified.

In tcp_timer_2msl_stop(), assert the tcbinfo lock, as the time wait
queues may be modified.

In tcp_timer_2msl_tw(), assert the tcbinfo lock, as the time wait
queues may be modified.

MFC after:	2 weeks
2004-11-23 17:21:30 +00:00
rwatson
53e97a895b De-spl tcp_slowtimo; tcp_maxidle assignment is subject to possible
but unlikely races that could be corrected by having tcp_keepcnt
and tcp_keepintvl modifications go through handler functions via
sysctl, but probably is not worth doing.  Updates to multiple
sysctls within evaluation of a single addition are unlikely.

Annotate that tcp_canceltimers() is currently unused.

De-spl tcp_timer_delack().

De-spl tcp_timer_2msl().

MFC after:	2 weeks
2004-11-23 16:45:07 +00:00
cognet
d983d8756d Implement a dummy atomic_cmpset_32(). It should be safe to use it in rtld as
the signals are masked anyway.
2004-11-23 16:32:34 +00:00
cognet
61c101ec0d Enable interrupts as soon as the pending interrupts have been masked. 2004-11-23 16:31:16 +00:00
cognet
8519448b1b Use ns8250. 2004-11-23 16:30:50 +00:00