Commit graph

120162 commits

Author SHA1 Message Date
Ruslan Ermilov 3faffd5dae Byte copy IF_LLADDR() on stack to align it to be safe for typecasts.
Tested by:	jhb
2005-11-30 17:48:23 +00:00
Marius Strobl abffa5185a Remove superfluous bzero()'ing of the softc. 2005-11-30 16:13:49 +00:00
Marius Strobl 0b5f0b533a Remove superfluous inclusion of upa.h. 2005-11-30 16:09:10 +00:00
Gleb Smirnoff f7cea1494f If bus_dmamap_load() failed, we free the mbuf. We also need to clear
the pointer, to avoid double free on next bge_stop().
2005-11-30 12:37:07 +00:00
Yoshihiro Takahashi 54586e49a3 MFi386: revision 1.1215 (add savagedrm). 2005-11-30 11:58:01 +00:00
Bruce Evans f4b01a9edf Rearranged the polynomial evaluation to reduce dependencies, as in
k_tanf.c but with different details.

The polynomial is odd with degree 13 for tanf() and odd with degree
9 for sinf(), so the details are not very different for sinf() -- the
term with the x**11 and x**13 coefficients goes awaym and (mysteriously)
it helps to do the evaluation of w = z*z early although moving it later
was a key optimization for tanf().  The details are different but simpler
for cosf() because the polynomial is even and of lower degree.

On Athlons, for uniformly distributed args in [-2pi, 2pi], this gives
an optimization of about 4 cycles (10%) in most cases (13% for sinf()
on AXP, but 0% for cosf() with gcc-3.3 -O1 on AXP).  The best case
(sinf() with gcc-3.4 -O1 -fcaller-saves on A64) now takes 33-39 cycles
(was 37-45 cycles).  Hardware sinf takes 74-129 cycles.  Despite
being fine tuned for Athlons, the optimization is even larger on
some other arches (about 15% on ia64 (pluto2) and 20% on alpha (beast)
with gcc -O2 -fomit-frame-pointer).
2005-11-30 11:51:17 +00:00
David Xu 1f4ae9be57 Fix compiling for c++, include cdefs.h. 2005-11-30 07:26:36 +00:00
Bruce Evans 8d3b309bad Fixed cosf(x) when x is a "negative" NaNs. I broke this in rev.1.10.
cosf(x) is supposed to return something like x when x is a NaN, and
we actually fairly consistently return x-x which is normally very like
x (on i386 and and it is x if x is a quiet NaN and x with the quiet bit
set if x is a signaling NaN.  Rev.1.10 broke this by normalising x to
fabsf(x).  It's not clear if fabsf(x) is should preserve x if x is a NaN,
but it actually clears the sign bit, and other parts of the code depended
on this.

The bugs can be fixed by saving x before normalizing it, and using the
saved x only for NaNs, and using uint32_t instead of int32_t for ix
so that negative NaNs are not misclassified even if fabsf() doesn't
clear their sign bit, but gcc pessimizes the saving very well, especially
on Athlon XPs (it generates extra loads and stores, and mixes use of
the SSE and i387, and this somehow messes up pipelines).  Normalizing
x is not a very good optimization anyway, so stop doing it.  (It adds
latency to the FPU pipelines, but in previous versions it helped except
for |x| <= 3pi/4 by simplifying the integer pipelines.)  Use the same
organization as in s_sinf.c and s_tanf.c with some branches reordered.
These changes combined recover most of the performance of the unfixed
version on A64 but still lose 10% on AXP with gcc-3.4 -O1 but not with
gcc-3.3 -O1.
2005-11-30 06:47:18 +00:00
David Xu b2f92ef96b Last step to make mq_notify conform to POSIX standard, If the process
has successfully attached a notification request to the message queue
via a queue descriptor, file closing should remove the attachment.
2005-11-30 05:12:03 +00:00
Bruce Evans 908801933a Fixed the hi+lo approximation to log(2). The normal 17+24 bit decomposition
that was used doesn't work normally here, since we want to be able to
multiply `hi' by the exponent of x _exactly_, and the exponent of x has
more than 7 significant bits for most denormal x's, so the multiplication
was not always exact despite a cloned comment claiming that it was.  (The
comment is correct in the double precision case -- with the normal 33+53
bit decomposition the exponent can have 20 significant bits and the extra
bit for denormals is only the 11th.)

Fixing this had little or no effect for denormals (I think because
more precision is inherently lost for denormals than is lost by roundoff
errors in the multiplication).

The fix is to reduce the precision of the decomposition to 16+24 bits.
Due to 2 bugs in the old deomposition and numerical accidents, reducing
the precision actually increased the precision of hi+lo.  The old hi+lo
had about 39 bits instead of at least 41 like it should have had.
There were off-by-1-bit errors in each of hi and lo, apparently due
to mistranslation from the double precision hi and lo.  The correct
16 bit hi happens to give about 19 bits of precision, so the correct
hi+lo gives about 43 bits instead of at least 40.  The end result is
that expf() is now perfectly rounded (to nearest) except in 52561 cases
instead of except in 67027 cases, and the maximum error is 0.5013 ulps
instead of 0.5023 ulps.
2005-11-30 04:56:49 +00:00
David Xu 6f59c4c0cd Update conformance and history sections. 2005-11-30 04:15:44 +00:00
David Xu 400786f6bb Symlink mq_send to mq_timedsend.
Symlink mq_receive to mq_timedreceive.
2005-11-30 04:14:53 +00:00
David Xu 968cc4bd61 Add manuals for POSIX message queue. 2005-11-30 04:12:37 +00:00
Tom McLaughlin 8d98402040 Fix misspelling in Poul-Henning Kamp's email address under AUTHORS, from
pkh@ to phk@.

Approved by:	ade
2005-11-30 04:08:45 +00:00
Pyun YongHyeon b7994e3488 Add codec ID for Avance Logic ALC203 2005-11-30 01:44:22 +00:00
John Baldwin 398293a8de Fix snderr() to not leak the socket buffer lock if an error occurs in
sosend().  Robert accidentally changed the snderr() macro to jump to the
out label which assumes the lock is already released rather than the
release label which drops the lock in his previous change to sosend().
This should fix the recent panics about returning from write(2) with the
socket lock held and the most recent LOR on current@.
2005-11-29 23:07:14 +00:00
Peter Wemm 03349079fe The DEFAULTS changes caused the user specified config file to be opened
much later than before, and it is now after we do a mkdir ../compile/FILE.
As a result, if you do 'config DOESNOTEXIST', it now creates the directory
../config/DOESNOTEXIST.  It did not do that before.  If DEFAULTS does not
exist, it still fails early before any permanent changes.

This shameless hack restores the old behavior of ensuring the config file
actually exists before mkdiring its counterpart directory.

Now I can rmdir ../compile/D and it will stay dead, after my fingers keep
sabotaging me with 'config D<tab><enter>'.  (Some of my kernel names
started with D, which used to be 1-character unique and my fingers knew
this very well...)
2005-11-29 22:54:49 +00:00
Damien Bergamini 5a69e86294 Tell Rx radiotap that hardware leaves FCS at the end of the frame.
Obtained from:	NetBSD (drochner@)
2005-11-29 21:36:15 +00:00
Damien Bergamini 8a7d0b1d3c Sync with ural:
o Send management frames at the lowest possible rate.
o Cosmetic tweaks.
2005-11-29 21:30:16 +00:00
Damien Bergamini 635df8de16 Use usbd_clear_endpoint_stall_async() instead of usbd_clear_endpoint_stall()
in Tx/Rx callbacks.

Obtained from:	NetBSD
2005-11-29 21:07:32 +00:00
Damien Bergamini 3d5dc80e4d o Send management frames at the lowest possible rate.
o Include rate in the Rx radiotap code.
o Fix RSSI value in the Rx path.
o Minor tweaks.
2005-11-29 20:55:53 +00:00
Andrew Thompson 53b5c4604a The bridge is capable of sending broadcast packets so enable IFF_BROADCAST
Requested by:	des
2005-11-29 20:29:44 +00:00
Søren Schmidt e9bd25bff0 Fix the ata_composite/ata_request leak when using RAID0+1.
Submitted by:	Michael Butler

Minor changes to fit ATA style by me.
2005-11-29 20:08:26 +00:00
Ruslan Ermilov 0d86ed2bc8 Let kmod.mk create empty opt_*.h files. 2005-11-29 19:39:04 +00:00
Craig Rodrigues a358ddbb54 Document removal of nodev mount option.
Requested by:	gleb
2005-11-29 19:13:28 +00:00
Hajimu UMEMOTO 8846bbf3ce obey opt_inet6.h and opt_ipsec.h in kernel build directory.
Requested by:	hrs
2005-11-29 17:56:11 +00:00
John Baldwin b7a8ed0701 - We don't install USD docs for games anymore since the games with docs
(trek) aren't in the base system anymore.
- dm(8) isn't in the base system anymore either, so don't xref it either.

Submitted by:	Björn König (2)
2005-11-29 17:11:09 +00:00
John Baldwin 60bd6d5d5e Remove references to rdist(1) and friends.
Submitted by:	Björn König
2005-11-29 17:07:04 +00:00
John Baldwin ab6258cfc4 - Axe the PARTITIONING and IOCTLS section as this has been made obsolete
now that all that stuff has been abstracted out of the disk drivers with
  GEOM.
- Reference bsdlabel(8) rather than disklabel(8).

Ok'd by:	phk, scottl (1)
Submitted by:	Björn König (2)
2005-11-29 16:51:49 +00:00
John Baldwin 936a1ef6e0 Correct xref to systat(1) which was mispelled as ststat(1) in 1.5.
Submitted by:	Björn König bkoenig at cs dot tu-berlin dot de
2005-11-29 16:33:44 +00:00
Hajimu UMEMOTO 36c263cca9 We couldn't specify the rule for filtering tunnel traffic since an
IPv6 support was committed:

- Stop treating `ip' and `ipv6' as special in `proto' option as they
  conflict with /etc/protocols.

- Disuse `ipv4' in `proto' option as it is corresponding to `ipv6'.

- When protocol is specified as numeric, treat it as it is even it is
  41 (ipv6).

- Allow zero for protocol as it is valid number of `ip'.

Still, we cannot specify an IPv6 over an IPv4 tunnel like before such
as:

	pass ipv6 from any to any

But, now, you can specify it like:

	pass ip4 from any to any proto ipv6

PR:		kern/89472
Reported by:	Ga l Roualland <gael.roualland__at__dial.oleane.com>
MFC after:	1 week
2005-11-29 15:25:09 +00:00
Pawel Jakub Dawidek 88d172946f We do nothing with returned error value, so just remove it. 2005-11-29 12:07:10 +00:00
Gleb Smirnoff e36ffd3b15 Catch up with ip_dummynet.h rev. 1.38 and fix build. 2005-11-29 12:01:26 +00:00
Ruslan Ermilov 2f1b461447 Unexpand LLADDR(). 2005-11-29 09:51:47 +00:00
Scott Long f94dfeb481 Separate the hardware definitions into ipsreg.h so they can be used by
future userland tools.
2005-11-29 09:39:41 +00:00
Ruslan Ermilov 35ad1b00b4 Drop the -I/usr/include (or any of its variants) from CFLAGS.
The sys/sys/stddef.h is here for some time now to fulfil the
kernel needs.  It also was not reliable due to the exists(@)
check: in an empty module directory, "make depend; mv .depend
.depend~; make depend" ran mkdep(1) with different arguments.
2005-11-29 09:37:42 +00:00
Gleb Smirnoff b090e4ce1f Garbage-collect now unused struct _ipfw_insn_pipe and flush_pipe_ptrs(),
thus removing a few XXXes.
  Document the ABI breakage in UPDATING.
2005-11-29 08:59:41 +00:00
Christian Brueffer 9d2058e4d1 New SiS support. 2005-11-29 06:40:19 +00:00
Ariff Abdullah d9bde1ad7e Add notes about ATI IXP audio controller. 2005-11-29 05:31:46 +00:00
Eric Anholt f0fc8e98b3 Add support for the i855GM, tested by an r300 user. 2005-11-29 04:53:22 +00:00
Maxim Sobolev 5c8a6f63b2 Check value returned by g_read_data(9), otherwise we can end in panic(9)
if read error happens.

MFC after:	1 week
2005-11-29 03:03:34 +00:00
Craig Rodrigues 2207c7648e Remove MNT_NODEV mount option. In RELENG_6, MNT_NODEV was a no-op.
The presence of MNT_NODEV was confusing the am-utils autoconf scripts.

PR:	conf/79715
2005-11-29 00:28:17 +00:00
Gleb Smirnoff 99b41b34fb First step in removing welding between ipfw(4) and dummynet.
o Do not use ipfw_insn_pipe->pipe_ptr in locate_flowset(). The
  _ipfw_insn_pipe isn't touched by this commit to preserve ABI
  compatibility.
o To optimize the lookup of the pipe/flowset in locate_flowset()
  introduce hashes for pipes and queues:
  - To preserve ABI compatibility utilize the place of global list
    pointer for SLIST_ENTRY.
  - Introduce locate_flowset(queue nr) and locate_pipe(pipe nr).
o Rework all the dummynet code to deal with the hashes, not global
  lists. Also did some style(9) changes in the code blocks that were
  touched by this sweep:
  - Be conservative about flowset and pipe variable names on stack,
    use "fs" and "pipe" everywhere.
  - Cleanup whitespaces.
  - Sort variables.
  - Give variables more meaningful names.
  - Uppercase and dots in comments.
  - ENOMEM when malloc(9) failed.
2005-11-29 00:11:01 +00:00
Eric Anholt 9fb0767374 Update DRM to CVS snapshot as of 2005-11-28. Notable changes:
- S3 Savage driver ported.
- Added support for ATI_fragment_shader registers for r200.
- Improved r300 support, needed for latest r300 DRI driver.
- (possibly) r300 PCIE support, needs X.Org server from CVS.
- Added support for PCI Matrox cards.
- Software fallbacks fixed for Rage 128, which used to render badly or hang.
- Some issues reported by WITNESS are fixed.
- i915 module Makefile added, as the driver may now be working, but is untested.
- Added scripts for copying and preprocessing DRM CVS for inclusion in the
  kernel.  Thanks to Daniel Stone for getting me started on that.
2005-11-28 23:13:57 +00:00
Søren Schmidt 7c7e96f58c Fix SiS SATA support, the SATA registers was off.
Add support for SiS metadata.

HW donated by:	obrien
2005-11-28 23:08:37 +00:00
Robert Watson 66dd8a6f99 Move zero copy statistics structure before sosend_copyin().
MFC after:	1 month
Reported by:	tinderbox, sam
2005-11-28 21:45:36 +00:00
John Baldwin d6ef938e56 If we get a stray interrupt, return after logging it. In the extremely
rare case of a stray interrupt to an unregistered source (such as a stray
interrupt from the 8259As when using APIC), this could result in a page
fault when it tried to walk the list of interrupt handlers to execute
INTR_FAST handlers.  This bug was introduced with the intr_event changes,
so it's not present in 5.x or 6.x.

Submitted by:	Mark Tinguely tinguely at casselton dot net
2005-11-28 20:18:43 +00:00
John Baldwin ef627e7da0 When checking to see if a process has exceeded its time limit, flag the
process as over the limit when its time is >= to the limit rather than >
the limit.  Technically, if p->p_rux.rux_runtime.sec == p->p_pcpulimit
and p->p_rux.rux_runtime.frac == 0, the process hasn't exceeded the limit
yet.  However, having the fraction exactly equal to 0 is rather rare, and
it is not worth the overhead to handle that edge case.  With just the >
comparison, the process would have to exceed its limit by almost a second
before it was killed.

PR:		kern/83192
Submitted by:	Maciej Zawadzinski mzawadzinski at gmail dot com
Reviewed by:	bde
MFC after:	1 week
2005-11-28 19:09:08 +00:00
Joel Dahl dc3d2c2006 s/Advance/Avance/ 2005-11-28 18:56:38 +00:00
Joel Dahl 0199a4806c No one cares about when the manual page first appeared. Mention when the
driver appeared instead.
2005-11-28 18:47:00 +00:00