Commit Graph

106604 Commits

Author SHA1 Message Date
tjr
d7dac4b701 Changes to MI Linux emulation code necessary to run 32-bit Linux binaries
on AMD64, and the general case where the emulated platform has different
size pointers than we use natively:
- declare certain structure members as l_uintptr_t and use the new PTRIN
  and PTROUT macros to convert to and from native pointers.
- declare some structures __packed on amd64 when the layout would differ
  from that used on i386.
- include <machine/../linux32/linux.h> instead of <machine/../linux/linux.h>
  if compiling with COMPAT_LINUX32. This will need to be revisited before
  32-bit and 64-bit Linux emulation support can coexist in the same kernel.
- other small scattered changes.

This should be a no-op on i386 and Alpha.
2004-08-16 07:28:16 +00:00
tjr
4c5cf18741 Add a new type, l_uintptr_t, which is an unsigned integer type with the
same width as a pointer under Linux. Add two new macros, PTRIN and PTROUT,
which convert between l_uintptr_t and native pointers.
2004-08-16 07:05:44 +00:00
ru
5db3319f66 Use a local "compress" symbol corresponding to a variable in BSS,
rather than the one from libz, corresponding to a function, when
linking statically.

PR:		bin/70392
2004-08-16 07:02:14 +00:00
pjd
4641189770 Inform hier(7) about /usr/include/geom/raid3/ directory. 2004-08-16 06:39:10 +00:00
pjd
451db872cf Connect RAID3 GEOM class to the build. 2004-08-16 06:36:21 +00:00
imp
0f127bb4bd Don't need to declare cbb module. don't know why I never saw
duplicate messages..
2004-08-16 06:33:58 +00:00
maxim
120f209aed Mention a potential net.inet.ip.random_id drawback.
Submitted by:	ru
2004-08-16 06:30:58 +00:00
grehan
0cf32b2b41 Advertise that color is supported so that syscons doesn't come up
in monochrome mode when run as init.
2004-08-16 06:26:15 +00:00
pjd
cf88b55e91 Introduce GEOM RAID3 class, i.e. kernel module, which implements RAID3
transformation and graid3(8) userland utility, which can be used for
configuration. No manual page yet, sorry.

Hardware provided by:	Daniel Seuffert
2004-08-16 06:23:14 +00:00
alc
bfa7831304 - Introduce and use a new tunable "debug.mpsafevm". At present, setting
"debug.mpsafevm" results in (almost) Giant-free execution of zero-fill
   page faults.  (Giant is held only briefly, just long enough to determine
   if there is a vnode backing the faulting address.)

   Also, condition the acquisition and release of Giant around calls to
   pmap_remove() on "debug.mpsafevm".

   The effect on performance is significant.  On my dual Opteron, I see a
   3.6% reduction in "buildworld" time.

 - Use atomic operations to update several counters in vm_fault().
2004-08-16 06:16:12 +00:00
grehan
3c7409b6a2 Bring PPC up to date with latest TLS changes. 2004-08-16 05:41:39 +00:00
davidxu
ea6c89fa9a Plug a memory leak in error case. 2004-08-16 05:20:12 +00:00
gad
f8d56433d3 Document the fact that matching against a process command-name will
only work on the first MAXCOMLEN (19) characters of that name.

Noticed by:	Peter Holm
2004-08-16 04:49:43 +00:00
rwatson
30590c8eea Always acquire the UNIX domain socket subsystem lock (UNP lock)
before dereferencing sotounpcb() and checking its value, as so_pcb
is protected by protocol locking, not subsystem locking.  This
prevents races during close() by one thread and use of ths socket
in another.

unp_bind() now assert the UNP lock, and uipc_bind() now acquires
the lock around calls to unp_bind().
2004-08-16 04:41:03 +00:00
davidxu
6ffe73af20 1. Use libpthread's exported symbols to calcuate offset in data structure
2. Enable TLS debugger support.
2004-08-16 03:30:16 +00:00
davidxu
870954220b 1. Add macro DTV_OFFSET to calculate dtv offset in tcb.
2. Export symbols needed by debugger.
2004-08-16 03:27:29 +00:00
davidxu
15d054f7e4 Add a file to collection all symbols will be needed by debugger. 2004-08-16 03:25:07 +00:00
marius
6974223b26 As with the non-rescue version don't build fore_dnld when NOATM is defined. 2004-08-16 03:16:48 +00:00
bmah
43b841f9a5 Fix installing from SCSI tape drives by catching up device names with
reality.

PR:		70279
Submitted by:	Gavin Atkinson <gavin.atkinson@ury.york.ac.uk>
2004-08-16 03:13:12 +00:00
green
4338f0aac0 Remove the BUGS entry for vslock(9) not actually holding user memory in place. 2004-08-16 03:12:10 +00:00
green
b36ab789a0 Rather than bringing back all of the changes to make VM map deletion
wait for system wires to disappear, do so (much more trivially) by
instead only checking for system wires of user maps and not kernel maps.

Alternative by:	tor
Reviewed by:	alc
2004-08-16 03:11:09 +00:00
green
b36814d27b Add the missing knote_fdclose(). 2004-08-16 03:09:01 +00:00
green
e86f9fe060 Allocate the marker, when scanning a kqueue, from the "heap" instead of the
stack.  When swapped out, a process's kernel stack would be unavailable,
and we could get a page fault when scanning the same kqueue.

PR:	kern/61849
2004-08-16 03:08:38 +00:00
imp
cb8639f942 Didn't intend to commit debugging code enabled 2004-08-16 01:57:06 +00:00
rwatson
78728ce513 Annotate the current UNIX domain socket locking strategies, order,
strengths, and weaknesses in a comment.  Assert a copyright over the
changes made as part of the locking work.
2004-08-16 01:52:04 +00:00
bmah
3f9150854c Various updates for installation documentation. Most notably:
o Update to match 5-CURRENT reality.
o Bump up minimum system requirements.
o Make examples work.

PR:		docs/70485
Submitted by:	Gavin Atkinson <gavin.atkinson@ury.york.ac.uk>
2004-08-16 01:42:43 +00:00
silby
84d222f0c0 Major enhancements to pipe memory usage:
- pipespace is now able to resize non-empty pipes; this allows
  for many more resizing opportunities

- Backing is no longer pre-allocated for the reverse direction
  of pipes.  This direction is rarely (if ever) used, so this cuts the
  amount of map space allocated to a pipe in half.

- Pipe growth is now much more dynamic; a pipe will now grow when
  the total amount of data it contains and the size of the write are
  larger than the size of pipe.  Previously, only individual writes greater
  than the size of the pipe would cause growth.

- In low memory situations, pipes will now shrink during both read
  and write operations, where possible.  Once the memory shortage
  ends, the growth code will cause these pipes to grow back to an appropriate
  size.

- If the full PIPE_SIZE allocation fails when a new pipe is created, the
  allocation will be retried with SMALL_PIPE_SIZE.  This helps to deal
  with the situation of a fragmented map after a low memory period has
  ended.

- Minor documentation + code changes to support the above.

In total, these changes increase the total number of pipes that
can be allocated simultaneously, drastically reducing the chances that
pipe allocation will fail.

Performance appears unchanged due to dynamic resizing.
2004-08-16 01:27:24 +00:00
mbr
ad3f8fefa5 MFNetBSD
Decrease log severity to debug if a protocol is not supported by the
kernel (rpcbind checks /etc/netconfig if a protocol is available).
This avoids "rpcbind: cannot create socket for tcp6" messages
at startup on IPv4-only kernels.
2004-08-16 00:20:31 +00:00
njl
bfd36d7253 Comment out the ability to enable/disable ACPI at runtime. This appears
to not work reliably and crash some systems.  It is not supported at all
on others.  Pending discussion, the underlying ioctls will be removed.
2004-08-15 23:39:37 +00:00
imp
51b8f7abc5 Tweak the compatibility macros a little so that the device printing is
moved into them.
2004-08-15 23:39:18 +00:00
mbr
ee29adfdaf Resolve conflicts from dhclient 3.0.1 final import.
No functional changes in this import.
2004-08-15 23:37:10 +00:00
mbr
f84803b430 This commit was generated by cvs2svn to compensate for changes in r133783,
which included commits to RCS files with non-trunk default branches.
2004-08-15 23:33:13 +00:00
mbr
8ac20c1e5c Import ISC DHCP 3.0.1 client. 2004-08-15 23:33:13 +00:00
imp
1d7308529b Other part of the cbb isa/pci split. This likely is causing problems
wrt cbb module.
2004-08-15 23:17:54 +00:00
marius
1a2ef5fe9e Add a kludge for building SBus-only kernels, i.e. kernels without support
for EBus, ISA and PCI, by compiling ofw_isa.c and ofw_pci_if.m unconditio-
nally. The correct way is to rewrite OF_decode_addr() in ofw_machdep.c in
a bus-neutral way. That's certainly possible but we unfortunately didn't
make it for FreeBSD 5.3.

Approved by:	tmm
2004-08-15 22:59:34 +00:00
simon
a1d910bc39 - Handle the '\&' mdoc(7) escape sequence.
- Handle the .Sx macro and give a warning if it is used in the
  HARDWARE section, since that will probably produce odd text in the
  Hardware Notes.
2004-08-15 22:33:10 +00:00
des
36074a2786 Fix a couple of edge cases in which sb.st_size may be incorrect or
meaningless.  In particular, don't assume that it is left untouched if
stat(2) fails; that assumption happens to fail at high optimization
levels on some platforms.

MFC after:	1 week
2004-08-15 22:22:35 +00:00
simon
f5d814652f - Auto generate device listings for the following drivers: mpt, trm,
rl, vr, dc, de, and gem.
- hme(4) is not sparc64 only anymore, so update dev.archlist.txt
  acordingly.
2004-08-15 22:14:29 +00:00
simon
e0bf0e556a - Add a HARDWARE section which lists supported devices.
- Fix a few mdoc(7) markup / style nits when I'm here anyway.
2004-08-15 21:59:15 +00:00
des
34490ce873 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
ba80c52dc3 Add rtld-elf to the include path for the rtld to pthread TLS interface. 2004-08-15 21:51:18 +00:00
marius
a060332270 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
31b45a4cf9 Bump document date for last commit. 2004-08-15 21:02:48 +00:00
alc
8bb2b246f5 - 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
c55183c517 - 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
03c4549826 Preemptive anti-footshooting: cause a #error if MP_WATCHDOG is compiled
with SCHED_ULE.
2004-08-15 20:32:40 +00:00
marius
ca05d80f37 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
296e0567d5 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
c255b3bdec - 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
fba8c013d7 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