Commit Graph

106565 Commits

Author SHA1 Message Date
des
6a9d71f01c Release the vnode cache mutex when calling vgone(), since vgone() may
sleep.  This makes pfs_exit() even less efficient than before, but on
the bright side, the vnode cache mutex no longer needs to be recursive.
2004-08-15 21:58:02 +00:00
dfr
873cb28aa6 Add rtld-elf to the include path for the rtld to pthread TLS interface. 2004-08-15 21:51:18 +00:00
marius
98632f0456 Correct some uses of the wrong members of the *min()/*max()-familiy, e.g.
min() on unsigned long. None of these are believed to have been fatal though.

Reviewed by:	tmm
2004-08-15 21:37:52 +00:00
simon
d463e5d529 Bump document date for last commit. 2004-08-15 21:02:48 +00:00
alc
9c821fd980 - Make pmap_emulate_reference() MP and preemption safe. Previously, it
contained "sanity" checks that could be violated if another CPU modified
   the pmap between the emulation trap and locking the pmap in
   pmap_emulate_reference().  As a result, the pte could be inconsistent
   with the access that caused the emulation trap.  In such cases,
   pmap_emulate_reference() now flushes the current CPU's TLB entry and
   returns.
 - Make pmap_changebit() an inline function, reducing object code size.
2004-08-15 20:54:25 +00:00
simon
f00617cc7c - Add a HARDWARE section which lists supported devices.
- Add the manufacturer name to each item in the device list.
- Make the note about supporting "IBM e335" into a general list and
  change the entry to use the full product name ("IBM eServer xSeries
  335").
- Add Dell PowerEdge 1750 to the list of systems with mpt onboard.
2004-08-15 20:54:07 +00:00
rwatson
6f9a1cc98b Preemptive anti-footshooting: cause a #error if MP_WATCHDOG is compiled
with SCHED_ULE.
2004-08-15 20:32:40 +00:00
marius
88969e81e2 Shorten the description of NO_OPENSSL, which was split into two lines by a
patch of mine in revision 1.216, a bit so it fits in a single line again.
2004-08-15 20:32:06 +00:00
marius
27538c48d5 Save on one variable in ofwo_action(). Leftover from an older version of
this function which needed the handle of the /options node more than once.
2004-08-15 20:18:54 +00:00
marius
247d04d3f7 - Correct the description of the "local-mac-address?" variable. Not all NICs
use it, only those with FCode. Add references to dc(4), gem(4) and hme(4)
  for obtaining further information about such devices presently supported
  by FreeBSD.
- Correct the HISTORY section. There was an eeprom(8) utility in 4.4BSD and
  early versions of FreeBSD 2.x.
- Add an AUTHORS section.
2004-08-15 20:17:29 +00:00
rwatson
5faa346ee2 Spell MP_WATCHDIG right: I fixed the build without MP_WATCHDOG after
testing MP_WATCHDOG, and used an incorrect ifdef.
2004-08-15 19:57:14 +00:00
simon
c181a5fd5c Change the HARDWARE section to have the same style as in the other
FreeBSD section 4 manual pages.
2004-08-15 19:48:27 +00:00
rwatson
59e82281fe Add a useful snippet on limitations of inductive reasoning by Bertrand
Russell.
2004-08-15 19:24:17 +00:00
truckman
5facb5bcc2 Yet another tweak to the shutdown messages in boot():
Don't count busy buffers before the initial call to sync() and
  don't skip the initial sync() if no busy buffers were called.
  Always call sync() at least once if syncing is requested.  This
  defers the "Syncing disks, buffers remaining..." message until
  after the initial sync() call and the first count of busy
  buffers.  This backs out changes in kern_shutdown 1.162.

  Print a different message when there are no busy buffers after the
  initial sync(), which is now the expected situation.

  Print an additional message when syncing has completed successfully
  in the unusual situation where the work of syncing was done by
  boot().

  Uppercase one message to make it consistent with all of the other
  kernel shutdown messages.

Discussed with:	bde (in a much earlier form, prior to 1.162)
Reviewed by:	njl (in an earlier form)
2004-08-15 19:17:23 +00:00
rwatson
9e69bea9f1 Add a "fillchar" command line argument to dd(1) that permits the user
to specify an alternative padding character when using a conversion
mode, or when using noerror with sync and an input error occurs.  This
facilities reading old and error-prone media by allowing the user to
more effectively mark error blocks in the output stream.
2004-08-15 19:10:05 +00:00
simon
7e0b057237 - Add a HARDWARE section which lists supported devices. 2004-08-15 18:13:08 +00:00
simon
2390a5d89f - Add a HARDWARE section which lists supported devices.
- Remove reference to the NOTES section in the entry for Sun DMFE,
  since ot doesn't work well with the auto generated Hardware Notes. [1]

OK'ed by:	marius [1]
2004-08-15 18:09:47 +00:00
rwatson
abf6ea2973 Add an "options MP_WATCHDOG" to i386. This option allows one of the
logical CPUs on a system to be used as a dedicated watchdog to cause a
drop to the debugger and/or generate an NMI to the boot processor if
the kernel ceases to respond.  A sysctl enables the watchdog running
out of the processor's idle thread; a callout is launched to reset a
timer in the watchdog.  If the callout fails to reset the timer for ten
seconds, the watchdog will fire.  The sysctl allows you to select which
CPU will run the watchdog.

A sample "debug.leak_schedlock" is included, which causes a sysctl to
spin holding sched_lock in order to trigger the watchdog.  On my Xeons,
the watchdog is able to detect this failure mode and break into the
debugger, which cannot otherwise be done without an NMI button.

This option does not currently work with sched_ule due to ule's push
notion of scheduling, similar to machdep.hlt_logical_cpus failing to
work with that scheduler.

On face value, this might seem somewhat inefficient, but there are a
lot of dual-processor Xeons with HTT around, so using one as a watchdog
for testing is not as inefficient as one might fear.
2004-08-15 18:02:09 +00:00
simon
437ee5545c - Make the naming of AMCC's 3ware cards consistent with the current
naming from AMCC.
- Update the list of devices supported by the drivers.

All of the above is based on information from AMCC via vkashyap.
2004-08-15 17:40:06 +00:00
maxim
1bc83c65df o Document net.inet.ip.random_id sysctl.
Reviewed by:	dwmalone, ru
2004-08-15 17:32:31 +00:00
dfr
4dd05c8c57 Add TLS support for i386 and amd64. 2004-08-15 16:28:05 +00:00
dfr
eebd52f2bb Add TLS support for libthr on i386. 2004-08-15 16:21:30 +00:00
dfr
2f90ca8b3c Add support for TLS in statically linked programs. 2004-08-15 16:18:52 +00:00
jmg
ce4e47fed0 move the declaration of struct kqlist into the non-KERNEL visable section
to fix userland.
2004-08-15 15:36:18 +00:00
pjd
210c7636d4 Avoid code duplication by introducing g_mirror_write_metadata() function,
which is used now by g_mirror_clear_metadata() function and
g_mirror_update_metadata() function.
2004-08-15 13:58:29 +00:00
pjd
e564b1fa08 Inform hier(7) about /usr/include/geom/mirror/ directory. 2004-08-15 13:26:20 +00:00
nyan
195a36ec93 A media type of floppy is detected automatically.
Submitted by:	Watanabe Kazuhiro <CQG00620@nifty.ne.jp>
2004-08-15 13:00:07 +00:00
tjr
94699de209 Replace linux_getitimer() and linux_setitimer() with implementations
based on those in freebsd32_misc.c, removing the assumption that Linux
uses the same layout for struct itimerval as we use natively.
2004-08-15 12:34:15 +00:00
davidxu
06718ccca1 Disable surplus detection of breakpoint event in signal stack, the check
causes a normal breakpoint event in new thread to be ignored unexpectly,
result is process SIGSEGV.

Test on: AMD64, i386
2004-08-15 12:31:30 +00:00
tjr
9b0e1093a1 Avoid assuming that l_timeval is the same as the native struct timeval
in linux_select().
2004-08-15 12:24:05 +00:00
tjr
f85b6dc63e Use sv_psstrings from the current process's sysentvec structure instead
of PS_STRINGS. This is a no-op at present, but it will be needed when
running 32-bit Linux binaries on amd64 to ensure PS_STRINGS is in
addressable memory.
2004-08-15 11:52:45 +00:00
iedowse
2457adaca5 Use the USBD_FORCE_SHORT_XFER flag when setting up transmit transfers.
Without this, the device cannot detect the end of ethernet packets
whose size is a multiple of the USB packat size.

PR:		kern/70474
Submitted by:	Andrew Thompson <andy@fud.org.nz>
MFC after:	1 week
2004-08-15 10:51:21 +00:00
maxim
4c83768639 o Add -l option to jail(8) similar to su(1): before running jail'ed
program under specific user's credentials, clean the environment and
set only a few variables.

PR:		bin/70024
Submitted by:	demon
MFC after:	1 month
2004-08-15 08:21:50 +00:00
jmg
b541de7149 This is a force commit because I forgot from the previous commit (and other
files):
Supported by:	nCircle Network Security, Inc.

They have/will assign ownership of the code to me.
2004-08-15 06:27:49 +00:00
jmg
bc1805c6e8 Add locking to the kqueue subsystem. This also makes the kqueue subsystem
a more complete subsystem, and removes the knowlege of how things are
implemented from the drivers.  Include locking around filter ops, so a
module like aio will know when not to be unloaded if there are outstanding
knotes using it's filter ops.

Currently, it uses the MTX_DUPOK even though it is not always safe to
aquire duplicate locks.  Witness currently doesn't support the ability
to discover if a dup lock is ok (in some cases).

Reviewed by:	green, rwatson (both earlier versions)
2004-08-15 06:24:42 +00:00
kris
57da12d016 Remove misc/screen, which is not packageable. 2004-08-15 06:07:01 +00:00
marcel
0058f637d6 Improve the usage. Without any arguments, kgdb(1) works on /dev/mem
with the currently running kernel image. Otherwise, one of -c, -n or
-r is expected for working on a particular core file (-c), working
on a saved dump (-n) or working remotely (-r). When working on a
saved dump, a kernel may be omitted.
For a remote debugging session (-r), kgdb(1) will use the specified
device.
2004-08-15 02:39:20 +00:00
marius
90f390f315 Fix a style(9) bug (variable definitions inside a nested scope) a patch
of mine introduced in revision 1.10.

Approved by:	marcel
Prodded by:	marcel
2004-08-15 02:17:20 +00:00
rwatson
b3113cfdfe Add a new sysctl, debug.kdb.stop_cpus, which controls whether or not we
attempt to IPI other cpus when entering the debugger in order to stop
them while in the debugger.  The default remains to issue the stop;
however, that can result in a hang if another cpu has interrupts disabled
and is spinning, since the IPI won't be received and the KDB will wait
indefinitely.  We probably need to add a timeout, but this is a useful
stopgap in the mean time.

Reviewed by:	marcel
2004-08-15 02:06:27 +00:00
marius
e2cfa215cf sio(4), which never really worked on sparc64, was removed in favour of
uart(4) in sparc64/conf/GENERIC revision 1.63 about 9 months ago. Remove
its source files here, too.
2004-08-15 00:10:59 +00:00
marius
e7f46aca57 - Introduce an uart_cpu_identify() which is implemented in uart_cpu_<arch>.c
and that can be used as an identify function for all kinds of busses on a
  certain platform. Expect for sparc64 these are only stubs right now. [1]
- For sparc64, add code to its uart_cpu_identify() for registering the on-
  board ISA UARTs and their resources based on information obtained from
  Open Firmware.
  It would be better if this would be done in the OFW ISA code. However, due
  to the common FreeBSD ISA code and PNP-IDs not always being present in the
  properties of the ISA nodes there seems to be no good way to implement that.
  Therefore special casing UARTs as the sole really relevant ISA devices on
  sparc64 seemed reasonable. [2]

Approved by:	marcel
Discussed with:	marcel [1], tmm [2]
Tested by:	make universe
2004-08-14 23:54:27 +00:00
marius
a3cb350a8c Add sparc64/pci/ofw_pci_if.m to the list of MFILES so modules can use
sparc64/pci/ofw_pci.h. This is a bit messy right now but (hopefully) will
get better once the MI OFW PCI code has moved from sparc64/pci to dev/ofw.
2004-08-14 23:53:04 +00:00
marius
21afb9f757 Now that hme(4) is MI build its module on all platforms.
Tested by:	`make universe` and powerpc cross-build on i386
2004-08-14 22:40:16 +00:00
marius
01e75c182c Add hme(4) here now that it's MI. 2004-08-14 22:38:50 +00:00
marius
108ba104f1 Make hme(4), i.e. the PCI-variant, MI by reading the MAC address on sytems
without Open Firmware directly instead of using OF_getetheraddr(). This is
a bit painful though, as the MAC address is contained in the NA field of
the VPD of the EBus bridge, which is is another function of the same chip.
To make it worse, the VPD of the EBus bridge can't be accessed via the PCI
capability pointer but has to be digged out from the Boot PROM and has a
non-standard format.
The PCI VPD struct and macros used here should be part of the FreeBSD PCI
code nevertheless.

Approved by:	tmm
Based on:	NetBSD
Tested with:	Sun X1032A (hme(4)-isp(4)-combo card) on alpha and i386
2004-08-14 22:38:20 +00:00
imp
da6b7d8015 Next step in making usb more newbus:
o reprobe children when a new driver is added to uhub
o fix the usbd_probe_and_attach to set the ivars to a malloc'd area, as well
  as freeing the ivars on child destruction.
o Don't delete children that don't attach. Evidentally, the need to do this
  is a common misconception.
o minor formatting foo that may violate style(9) at the moment, but keeps the
  diffs against my p4 tree smaller.

This does not solve the ugen gobbling things up problem, but the fixes
I have for that expose bugs in other parts of the tree...
2004-08-14 22:10:26 +00:00
marius
bce29358a4 - Capitalize Ethernet and Fast Ethernet.
- Add a NOTES section with information regarding the "local-mac-address?"
  system configuration variable on sparc64 and add a reference to eeprom(8)
  for using it. Dump document date for this.
- In dc.4, add the on-board DM9102A on Sun Netra X1 and Sun Fire V100 to
  the list of known working devices.
2004-08-14 21:44:35 +00:00
marius
cd9e845490 - Make OF_getetheraddr() honour the "local-mac-address?" system config
variable. If set to "true" OF_getetheraddr() will now return the unique
  MAC address stored in the "local-mac-address" property of the device's
  OFW node if present and the host address/system default MAC address if
  the node doesn't doesn't have such a property. If set to "false" the
  host address will be returned for all devices like before this change.
  This brings the behaviour of device drivers for NICs with OFW support/
  FCode, i.e. dc(4) for on-board DM9102A on Sun machines, gem(4) and hme(4),
  regarding "local-mac-address?" in line with NetBSD and Solaris.
  The man pages of the respective drivers will be updated separately to
  reflect this change.
- Remove OF_getetheraddr2() which was used as a stopgap in dc(4). Its
  functionality is now part of OF_getetheraddr().
2004-08-14 21:43:37 +00:00
phk
c14fee2632 Remove confused comment. 2004-08-14 21:40:28 +00:00
alc
8e661e10f6 Remove spl calls. 2004-08-14 18:57:41 +00:00