Commit Graph

140012 Commits

Author SHA1 Message Date
jhb
cb0b8573c7 Remove the arl(4) driver. It is reported to not work on 6.x or later
even though the driver hasn't changed since 4.x (last known working
release).
2008-07-04 18:15:36 +00:00
jhb
e06b58767a Make arl(4) MPSAFE:
- Add a mutex to the softc and use it to protect the softc and device
  hardware.
- Setup interrupt handler after ether_ifattach().
- Use a private timer instead of if_timer/if_watchdog.
- Retire arl_unit from the softc and use if_printf() and device_printf()
  instead.

Note that the unpatched driver in 6.x and later does not work with the
hardware, so the one person who had volunteered to test the patch wasn't
able to test it.
2008-07-04 17:48:34 +00:00
alc
3f80ced8f0 Eliminate an unused declaration. (In fact, the declaration is bogus
because the variable is defined static to pmap.c on i386.)

Found by: CScout
2008-07-04 17:36:12 +00:00
nwhitehorn
5ca4464c09 Add manpage for Apple BMAC ethernet driver.
Approved by:	marcel (mentor)
2008-07-04 14:51:42 +00:00
nyan
65c95d1639 Remove Japanese document. 2008-07-04 12:19:56 +00:00
kib
522790ec80 The uniqdosname() function takes char[12] as it third argument.
Found by:	-fstack-protector
Reported by:	dougb
Tested by:	dougb, Rainer Hurling <rhurlin gwdg de>
MFC after:	3 days
2008-07-04 09:40:52 +00:00
thompsa
9e755c9ce5 port % count will never be greater than LAGG_MAX_PORTS so nuke the test. 2008-07-04 05:33:58 +00:00
marcel
64ea45c65b sunlabel(8) is specific to sparc64. Remove from other platforms.
use gpart(8) on all platforms.
2008-07-04 04:39:45 +00:00
marcel
01e5f7ef0f Make sunlabel specific to sparc64. This is mostly for backward
compatibility reasons. Sun labels, with VTOC8, are handled by
gpart(8).
2008-07-04 04:33:33 +00:00
rwatson
482bfeab47 Remove NETISR_MPSAFE, which allows specific netisr handlers to be directly
dispatched without Giant, and add NETISR_FORCEQUEUE, which allows specific
netisr handlers to always be dispatched via a queue (deferred).  Mark the
usb and if_ppp netisr handlers as NETISR_FORCEQUEUE, and explicitly
acquire Giant in those handlers.

Previously, any netisr handler not marked NETISR_MPSAFE would necessarily
run deferred and with Giant acquired.  This change removes Giant
scaffolding from the netisr infrastructure, but NETISR_FORCEQUEUE allows
non-MPSAFE handlers to continue to force deferred dispatch so as to avoid
lock order reversals between their acqusition of Giant and any calling
context.

It is likely we will be able to remove NETISR_FORCEQUEUE once
IFF_NEEDSGIANT is removed, as non-MPSAFE usb and if_ppp drivers will no
longer be supported.

Reviewed by:	bz
MFC after:	1 month
X-MFC note:	We can't remove NETISR_MPSAFE from stable/7 for KPI reasons,
		but the rest can go back.
2008-07-04 00:21:38 +00:00
emaste
240825654b Use bcopy instead of strlcpy in uipc_bind and unp_connect, since
soun->sun_path isn't a null-terminated string.  As UNIX(4) states, "the
terminating NUL is not part of the address."  Since strlcpy has to return
"the total length of the string [it] tried to create," it walks off the end
of soun->sun_path looking for a \0.

This reverts r105332.

Reported by:    Ryan Stone
2008-07-03 23:26:10 +00:00
das
a47dd1888d Add regression tests for fmin{,f,l} and fmax{,f,l}.
I wrote these to test amd64 asm functions that used
maxss, maxsd, minss, and minsd, but it turns out that
those instructions don't handle NaNs and signed zero
in the same way as fmin() and fmax() are required to,
so we're stuck with the C versions for now.
2008-07-03 23:06:06 +00:00
edwin
d843d0392c On 64 bit architectures, you can run 32 bit executables and the rtld can trace them, but ldd(1) doesn't know yet how to detect them:
[/] root@ed-exigent>ldd `which httpd`
    ldd: /usr/local/sbin/httpd: can't read program header
    ldd: /usr/local/sbin/httpd: not a dynamic executable

    But...

    [/] root@ed-exigent>LD_32_TRACE_LOADED_OBJECTS==1 `which httpd`
    libm.so.4 => /lib32//libm.so.4 (0x280c8000)
    libaprutil-1.so.2 => /usr/local/lib/libaprutil-1.so.2 (0x280de000)
    libexpat.so.6 => /usr/local/lib/libexpat.so.6 (0x280f2000)
    libiconv.so.3 => /usr/local/lib/libiconv.so.3 (0x28110000)
    libapr-1.so.2 => /usr/local/lib/libapr-1.so.2 (0x281fd000)
    libcrypt.so.3 => /lib32//libcrypt.so.3 (0x2821d000)
    libpthread.so.2 => not found (0x0)
    libc.so.6 => /lib32//libc.so.6 (0x28235000)
    libpthread.so.2 => /usr/lib32/libpthread.so.2 (0x2830d000)

Added support in ldd(1) for the LD_32_xxx environment variables if
the architecture of the machine is >32 bits. If we ever go to 128
bit architectures this excercise will have to be repeated but thanks
to earlier commits today it will be relative simple.

PR:		bin/124906
Submitted by:	edwin
Approved by:	bde (mentor)
MFC after:	1 week
2008-07-03 22:37:51 +00:00
edwin
b5f1b55289 Extract the determination of the kind of (dynamic) executable from
the main-loop into a seperate function.
Instead of using hardcoded environment variables, define them in a
lookup table.
For the rest, no functionality changes.

Approved by:	bde (mentor)
MFC after:	1 week
2008-07-03 22:30:18 +00:00
edwin
13fa53db5e stylify ldd.c, no functional changes.
Approved by:	bde (mentor)
MFC after:	1 week
2008-07-03 22:26:43 +00:00
nwhitehorn
0d5154a8e5 Fix some locking and logic bugs pointed out by jhb. These fix driver detach and speed up data transfer by nearly a factor of 2.
Approved by:	marcel (mentor)
2008-07-03 21:51:30 +00:00
cokane
8404071f29 Belatedly add myself to the committers graph 2008-07-03 21:45:25 +00:00
marcel
a48906e3d1 bsdlabel and fdisk are obsoleted on ia64.
While here, make sure to remove any remnants of the disklabel
manpage.
2008-07-03 21:00:16 +00:00
marcel
9da015cb79 Stop building bsdlabel(8) and fdisk(8) on ia64. Both tools are
obsoleted by gpart(8). This avoids the following bugs in fdisk:
-  initializing a disk without MBR bogusly emits the error:
	fdisk: invalid fdisk partition table found
-  initializing a disk with or without MBR bogusly emits either:
	fdisk: Class not found
   or
	fdisk: Geom not found: "XXX"
-  the default geometry for non-ATA and non-SCSI disks is either
   invalid or sub-optimizal.
2008-07-03 20:53:15 +00:00
marcel
ad8d265406 Add NO_MAN for the static variant of geom(8). Both the RESCUE and the
RELEASE_CRUNCH builds use NO_MAN anyway, so this change is primarily
to avoid that developers have to set NO_MAN manually when they build
the static variant.
2008-07-03 19:40:59 +00:00
nwhitehorn
d782419b04 Add myself to src committers graph.
Approved by:	marcel (mentor)
2008-07-03 18:57:00 +00:00
marcel
0930be8200 Belatedly add myself to the active *cough* doc committers. 2008-07-03 17:10:18 +00:00
marcel
738f91ab39 Belatedly add myself to the alumni section. 2008-07-03 17:02:43 +00:00
marcel
df099ed93b Soren was my mentor.
I have mentored arun and marius.
2008-07-03 16:53:19 +00:00
marcel
8b8e40938d Belatedly add myself to the active committer section. 2008-07-03 16:49:33 +00:00
danger
f9150419fa - fix typos
PR:		docs/125223
Submitted by:	Fabian Keil <fk (a) fabiankeil.de>
MFC after:	3 days
2008-07-03 16:48:35 +00:00
thompsa
f6740c8807 Be smarter about disabling interface capabilities. TOE/TSO/TXCSUM will only be
disabled if one (or more) of the member interfaces does not support it. Always
turn off LRO since we can not bridge a combined frame.

Tested by:	Stefan Lambrev
2008-07-03 15:58:30 +00:00
dfr
8fff230839 Add module dependancy on nfs. 2008-07-03 14:09:00 +00:00
blackend
1437c93310 Elexol USB MOD3 is also supported. 2008-07-03 12:48:13 +00:00
bz
5a2732165b Remove a bogusly introduced rtalloc_ign() in rev. 1.335/SVN 178029,
generating an RTM_MISS for every IP packet forwarded making user space
routing daemons unhappy.

PR:		kern/123621, kern/124540, kern/122338
Reported by:	Paul <paul gtcomm.net>, Mike Tancsa <mike sentex.net> on net@
Tested by:	Paul and Mike
Reviewed by:	andre
MFC after:	3 days
2008-07-03 12:44:36 +00:00
rwatson
20a754dc21 Remove GIANT_REQUIRED from IPv6 input, forward, and frag6 code. The frag6
code is believed to be MPSAFE, and leaving aside the IPv6 route cache in
forwarding, Giant appears not to adequately synchronize the data structures
in the input or forwarding paths.
2008-07-03 10:55:13 +00:00
julian
7b11deb4f4 Change a variable name to not shadow a global
Obtained from:	vimage
2008-07-03 08:35:59 +00:00
rwatson
108da791bb Update copyright date in light of soreceive_dgram(9). 2008-07-03 06:47:45 +00:00
alc
4ef7d0cd62 Increase the ceiling on the kmem map's size to 3.6GB. Also, define the
ceiling as a fraction of the kernel map's size rather than an absolute
quantity.  Thus, scaling of the kmem map's size will be automatic with
changes to the kernel map's size.
2008-07-03 04:53:14 +00:00
peter
82cb212638 Exclude .cvsignore files from $FreeBSD$ checking 2008-07-03 04:08:40 +00:00
peter
763993a5b2 Set magic fbsd:nokeywords property that allows files to bypass
keyword expansion. (file-specific replacement for CVSROOT/exclude)
2008-07-03 03:50:17 +00:00
peter
691158d257 Set magic property that allows files to bypass keyword expansion.
Test commit to make sure it isn't exported to cvs.
2008-07-03 03:47:25 +00:00
peter
6b7a0b40a0 Add $FreeBSD$ 2008-07-03 03:36:58 +00:00
peter
5cc9421121 Change mime type to image/png 2008-07-03 03:27:54 +00:00
peter
76210d6dbb Add $FreeBSD$ to the uuencoded test files that didn't have them already. 2008-07-03 03:26:30 +00:00
rwatson
0c50a62527 Add soreceive_dgram(9), an optimized socket receive function for use by
datagram-only protocols, such as UDP.  This version removes use of
sblock(), which is not required due to an inability to interlace data
improperly with datagrams, as well as avoiding some of the larger loops
and state management that don't apply on datagram sockets.

This is experimental code, so hook it up only for UDPv4 for testing; if
there are problems we may need to revise it or turn it off by default,
but it offers *significant* performance improvements for threaded UDP
applications such as BIND9, nsd, and memcached using UDP.

Tested by:	kris, ps
2008-07-02 23:23:27 +00:00
rwatson
a2caa98b95 Set the IPv6 netisr handler as NETISR_MPSAFE on the basis that, despite
there still being some well-known races in mld6 and nd6, running with
Giant over the netisr handler provides little or not additional
synchronization that might cause mld6 and nd6 to behave better.
2008-07-02 23:12:40 +00:00
rdivacky
d3e39bd522 Use msleep_spin() instead of unlock/tsleep/lock. This was
already commited but with a wrong msleep variant and then
backed out. Note that this changes the semantic a little
as msleep_spin does not let us to specify priority after
wakeup.

Approved by:	wkoszek, cognet
Approved by:	kib (mentor)
2008-07-02 20:44:33 +00:00
peter
fb18bf68b2 Attempt to set the charset 2008-07-02 19:57:37 +00:00
peter
ccab425324 Pretend that this file isn't binary. 2008-07-02 18:37:45 +00:00
des
34dee8955f Drag this code kicking and screaming into the twenty-first century. 2008-07-02 15:51:59 +00:00
yongari
2af52bdb8e Add RTL8211C(L) support.
Disable advanced link-down power saving in phy reset.

Reported by:	nork
Tested by:	nork
2008-07-02 08:10:18 +00:00
yongari
991fbab98a Add a new RTL8169 variant, 8169SB(L)/8110SB(L).
Reported by:	nork
Tested by:	nork
2008-07-02 08:00:14 +00:00
yongari
739ec6bfa1 Add basic support for RTL8168C, RTL8168CP, RTL8111C and RTL8111CP.
ATM Tx/Rx checksum offload is supported but TSO and jumbo frame is
not yet supported. Because these newer controllers use different
descriptor formats, a flag RL_FLAG_DESCV2 flag was introduced to
handle that case in Tx/Rx handler. Also newer controllers seems to
require to not touch 'enable Tx/Rx bit' in RL_CPLUS_CMD register
so don't blindly try to set that bits.

Note, it seems that there is still power-saving related issue where
driver fails to attach PHY. Rebooting seems to fix that issue but
number of required reboots varys.

Many thanks to users that helped during developement. I really
appreciate their patient and test/feedbacks.
2008-07-02 07:54:53 +00:00
yongari
44c668905b Display detected chip revision in device attach. This will help to
diagnose revision specific issues in future. Also add 0x to notify
that the revision number is in hex form.
2008-07-02 06:55:03 +00:00