Commit Graph

54753 Commits

Author SHA1 Message Date
Robert Watson
401a2b590e Remove FreeBSD 2.2 protocol usrreq compatibility code.
Remove minor #ifdefs for early NetBSD and OpenBSD compatibility.

Remove spl-related definitions.

MFC after:	2 weeks
2005-07-19 13:36:39 +00:00
Robert Watson
de35559f82 Remove no-op spl references in in_pcb.c, since in_pcb locking has been
basically complete for several years now.  Update one spl comment to
reference the locking strategy.

MFC after:	3 days
2005-07-19 12:24:27 +00:00
Robert Watson
f59a9ebf10 Remove no-op spl's and most comment references to spls, as TCP locking
is believed to be basically done (modulo any remaining bugs).

MFC after:	3 days
2005-07-19 12:21:26 +00:00
Robert Watson
b77634d046 Remove spl() calls from ip_slowtimo(), as IP fragment queue locking was
merged several years ago.

Submitted by:	gnn
MFC after:	1 day
2005-07-19 12:14:22 +00:00
Robert Watson
2432c31c8b In multicast routines:
Compare pointers with NULL rather than treating them as booleans.

Compare pointers with NULL rather than 0 to make it more clear
they are pointers.

Assign pointers value of NULL rather than 0 to make it more clear
they are pointers.

MFC after:	3 days
2005-07-19 10:12:58 +00:00
Robert Watson
d8d5b10e84 Rename equal() macro to sa_equal(), which matches the definitions
of sa_equal() in other files, and makes it more clear what equal()
is comparing.

MFC after:	3 days
2005-07-19 10:03:47 +00:00
Xin LI
f467e51eba PLAY_MSF, PLAY_TRACK, PLAY_TRACK_REL, PAUSE, PLAY_12 commands to pass
through umass(4), in order to make cdcontrol(1) to issue commands to
a USB CD driver.

The command IDs were obtained from the CAM subsystem.  This was tested
on half dozen of USB CD drivers from different vendors.

Suggested by:	"intron" <intron at intron dot ac>
PR:		usb/83439
Reviewed by:	sanpei
MFC After:	1 week
2005-07-19 05:18:23 +00:00
Warner Losh
f509c65083 This has worked for a while now. ex pccard attachment 2005-07-19 02:06:48 +00:00
Paul Saab
712de32327 Build p4tcc and est cpu frequency modules on amd64.
Reviewed by:	njl
2005-07-19 01:10:27 +00:00
Maksim Yevmenkin
17d0bf1250 Ignore AVM BlueFRITZ! USB Bluetooth Adapter v1.0 (product ID 0x2200).
It does not work with ng_ubt(4) and require special driver and firmware.

Obtained from:	Marcel Holtmann < marcel at holtmann dot org >
Submitted by:	Rainer Goellner < rainer at jabbe dot de >
MFC after:	3 days
2005-07-19 00:33:37 +00:00
Warner Losh
fa48d739d0 Better name for type 4 chips 2005-07-18 23:41:34 +00:00
Warner Losh
991e00dffb o Add Toshiba's id. Make AGERE an alias for LUCENT. Add Ungermann's ID.
o Add Agere Hermes II and II.5 PC Cards (from zipit web page), TDK
  GlobalNetworker 3410 (from dmesg for my card) and another alternate
  PANASONIC KXLC0005_2 (from pcmcia-cs id lists).
2005-07-18 21:47:38 +00:00
Hajimu UMEMOTO
e71de913d8 Implement passive cooling. It is enabled for tz0 by default where
it is available.

Reviewed by:	njl
2005-07-18 20:12:23 +00:00
John Baldwin
ddf9c4f771 - Slightly reorder the events around the setting of PRS_ZOMBIE to be less
hokie and much more readable and expand the comment to explain why it is
  the way that it is.
- Close a race where one CPU could free the process belonging to a thread
  on another CPU that hasn't quite finished exiting yet but is beyond the
  point of setting the process state as PRS_ZOMBIE.

Reported and tested by:	ps (2)
MFC after:	3 days
2005-07-18 20:08:14 +00:00
Robert Watson
75c5e81854 Mark if_sbsh as IFF_NEEDSGIANT, because it does.
MFC after:	1 day
2005-07-18 18:19:50 +00:00
Robert Watson
3ee1dbcab6 Mark if_cnw as IFF_NEEDSGIANT, because it does.
MFC after:	1 day
2005-07-18 17:58:59 +00:00
Robert Watson
f002340544 Lock down netnatm and mark as MPSAFE:
- Introduce a subsystem mutex, natm_mtx, manipulated with accessor macros
  NATM_LOCK_INIT(), NATM_LOCK(), NATM_UNLOCK(), NATM_LOCK_ASSERT().  It
  protects the consistency of pcb-related data structures.  Finer grained
  locking is possible, but should be done in the context of specific
  measurements (as very little work is done in netnatm -- most is in the
  ATM device driver or socket layer, so there's probably not much
  contention).

- Remove GIANT_REQUIRED, mark as NETISR_MPSAFE, remove
  NET_NEEDS_GIANT("netnatm").

- Conditionally acquire Giant when entering network interfaces for
  ifp->if_ioctl() using IFF_LOCKGIANT(ifp)/IFF_UNLOCKGIANT(ifp) in order
  to coexist with non-MPSAFE atm ifnet drivers..

- De-spl.

MFC after:	2 weeks
Reviewed by:	harti, bms (various versions)
2005-07-18 16:55:46 +00:00
Maksim Yevmenkin
384792133f Add support for AVM BlueFRITZ! USB Bluetooth Adapter v2.0. It appears that
there are at least two versions of the adapter. Version 1 (product ID 0x2200)
of the adapter does not work with ng_ubt(4) and require special driver and
firmware. Version 2 (product ID 0x3800) seems to work just fine, except it
does not have bDeviceClass, bDeviceSubClass and bDeviceProtocol set to required
(by specification) values. This change forces ng_ubt(4) to attach to the
version 2 adapter.

Obtained from:	Marcel Holtmann <marcel at holtmann dot org>
Submitted by:	Rainer Goellner <rainer at jabbe dot de>
2005-07-18 16:34:49 +00:00
Paul Saab
38b8570c55 Fix for a NFS soft mounts bug where if the number of retries exceeds
the max rexmits, the request was not being bounced back with a
ETIMEDOUT error.

Reported by:	Oliver Lehmann
Submitted by:	Mohan Srinivasan
2005-07-18 02:12:17 +00:00
Warner Losh
6b4a5b0b88 I believe that this tsleep was placed here in 1.28 to try to solve the
problems we were having properly mapping the CIS attr space on some
cards.  Those problems have been solved other ways, so this kludge is
no longer necessary.  Remove it and have pccards come up a whole
second faster.
2005-07-17 20:16:22 +00:00
Warner Losh
4143dbe3ea The Sony i.LINK CXD1947 device is a firewire bridge, but it doesn't
implement the OHCI programming interface.  Thus it probes, but fails
to attach because of an invalid OHCI version.  Rather than count on
the downstream tests properly failing, print a message that this
chipset isn't supported and fail the probe.
2005-07-17 19:59:07 +00:00
Warner Losh
b32757b431 o The ricoh bridge needs us to turn off the function interrupts for
16-bit cards when we're powering them up.  Other bridges may have
  similar issues, so we do this for all of them by setting the
  interrupt in the PCIC register 3 to be 0 (done always anyway)
  and turning on the bit in the bridge control register to route these
  interrupts via the ISA bus (or via the interrupt configured in the
  PCIC register 3).  '0' means disable completely.  There's a small
  chance this may interfere with the o2micro power hacks, but I'll
  wait for reports to come in from o2micro users.
o Expand some of the comments about why we do certain things.

# this gets rid of the interrupt storm warnings on my 505TS.  I think
# that we may need to do something similar on suspend, but I'm unsure
# since I don't have a laptop that supports suspened/resume with a
# ricoh chipset in it.
2005-07-17 19:40:05 +00:00
Warner Losh
f99298f422 Rename a bit to make it clearer that it enables routing of the function
interrupts to the ISA bus.
2005-07-17 19:31:39 +00:00
Robert Watson
68352adfe7 Define four constants, MBUF_{,MEM,CLUSTER,PACKET,TAG}_MEM_NAME, which
are string names for their respective UMA zones and malloc types, and
are passed into uma_zcreate() and MALLOC_DEFINE().  Export them
outside of _KERNEL in mbuf.h so that netstat can reference them.

Change the names to improve consistency, with each zone/type
associated with the mbuf allocator being prefixed mbuf_.

MFC after:	1 week
2005-07-17 14:04:03 +00:00
Pawel Jakub Dawidek
0499edf459 Before calling g_orphan_provider(), add G_PF_WITHER flag, so GEOM will know
to destroy it.

PR:		kern/81758
Submitted by:	trasz <trasz@buziaczek.pl>
MFC after:	3 days
2005-07-17 13:15:02 +00:00
Gleb Smirnoff
ed2fc9673b Check that we have first fragment before pulling up TCP/UDP header. 2005-07-17 08:09:59 +00:00
Warner Losh
85ef2343c4 The CD interrupt should only be enabled after we've initialized the
card.  Mask it while we're doing power things, as the PC Card standard
suggests.  Also, poll the POWER_CYCLE bit 10x a second as well as
providing a timeout for power cycle interrupt to happen.

The Ricoh '475 that I have doesn't seem to generate an interrupt for
power at the present time, so the polling is necessary for reasons as
yet unknown.  This results in an interrupt storm warning that I'm
still trying to quantify (the o2micro trick doesn't work to mitigate
this storm).  At the very least, this should help those users that
lost pccards on boot with the prior rev of this code.  My VAIO
PCG-505TS is now happier, but more investigation is necessary.
2005-07-17 07:48:28 +00:00
R. Imura
697ab829fc [1] unix2doschr()
If a character cannot be converted to DOS code page,
 unix2doschr() returned `0'. As a result, unix2dosfn()
 was forced to return `0', so we saw a file which was
 composed of these characters as `Invalid argument'.
 To correct this, if a character can be converted to
 Unicode, unix2doschr() now returns `1' which is a magic
 number to make unix2dosfn() know that the character
 must be converted to `_'.

[2] unix2dosfn()
 The above-mentioned solution only works if a file
 has both of Unicode name and DOS code page name.
 Unicode name would not be recorded if file name
 can be settled within 11 bytes (DOS short name)
 and if no conversion from Unix charset to DOS code
 page has occurred. Thus, FreeBSD can create a file
 which has only short name, but there is no guarantee
 that the short name contains allways valid characters
 because we leave it to people by using mount_msdosfs(8)
 to select which conversion is used between DOS code
 page and unix charset.
 To avoid this, Unicode file name should be recorded
 unless a character is an ascii character. This is
 the way Windows XP do.

PR:		77074 [1]
MFC after:	1 week
2005-07-17 07:10:05 +00:00
Joseph Koshy
d9dcd4f93c Use LK_CANRECURSE since when a PMC-owning process performs an exec,
the new text vnode is already locked by itself.

MFC after:	3 days
2005-07-17 04:18:06 +00:00
David E. O'Brien
f93657d983 Add additional sub-systems to the warning users get when they build a
kernel that has become GPL infected.
2005-07-17 03:27:36 +00:00
Poul-Henning Kamp
fb321e8f23 Revert last commit: It fixed make universe but broke regular kernel make. 2005-07-16 14:02:47 +00:00
Robert Watson
ab3a57c04d Use mp_maxid in preference to MAXCPU when creating exports of UMA
per-CPU cache statistics.  UMA sizes the cache array based on the
number of CPUs at boot (mp_maxid + 1), and iterating based on MAXCPU
could read off the end of the array (into the next zone).

Reported by:	yongari
MFC after:	1 week
2005-07-16 11:03:06 +00:00
Robert Watson
08ecce74bc Improve canonicalization of copyrights. Order copyrights by order of
assertion (jeff, bmilekic, rwatson).

Suggested ages ago by:	bde
MFC after:		1 week
2005-07-16 09:51:52 +00:00
Robert Watson
2450bbb872 Move the unlocking of the zone mutex in sysctl_vm_zone_stats() so that
it covers the following of the uc_alloc/freebucket cache pointers.
Originally, I felt that the race wasn't helped by holding the mutex,
hence a comment in the code and not holding it across the cache access.
However, it does improve consistency, as while it doesn't prevent
bucket exchange, it does prevent bucket pointer invalidation.  So a
race in gathering cache free space statistics still can occur, but not
one that follows an invalid bucket pointer, if the mutex is held.

Submitted by:	yongari
MFC after:	1 week
2005-07-16 09:40:34 +00:00
Poul-Henning Kamp
16fd1721a1 Add missing reference to ukbdmap.h
Fixes build of ukbd module under "make universe"
2005-07-16 09:18:03 +00:00
Mike Silbersack
2018f30c01 Increase the flags field for kegs from a 16 to a 32 bit value;
we have exhausted all 16 flags.
2005-07-16 02:23:41 +00:00
Robert Watson
2019094a35 Track UMA(9) allocation failures by zone, and export via sysctl.
Requested by:	victor cruceru <victor dot cruceru at gmail dot com>
MFC after:	1 week
2005-07-15 23:34:39 +00:00
John Baldwin
122eceef61 Convert the atomic_ptr() operations over to operating on uintptr_t
variables rather than void * variables.  This makes it easier and simpler
to get asm constraints and volatile keywords correct.

MFC after:	3 days
Tested on:	i386, alpha, sparc64
Compiled on:	ia64, powerpc, amd64
Kernel toolchain busted on:	arm
2005-07-15 18:17:59 +00:00
Yoshihiro Takahashi
0bf2708b8c Merged from geom_mbr.c revisions 1.62 and 1.66.
- Implement a gctl handler and the verb "write MBR".
2005-07-15 15:29:45 +00:00
Lukas Ertl
7ad68986b8 *) Implement round-robin reads for multiplex volumes.
*) Plug a possible memory leak. [1]

[1] obtained from: pjd@.
2005-07-15 13:38:06 +00:00
Andrey A. Chernov
63ecaee8d6 Add -mno-sse3 for prescott/nocona 2005-07-15 12:22:14 +00:00
Andrey A. Chernov
64b3210d91 Add -mno-sse3 for prescott/nocona 2005-07-15 11:45:30 +00:00
George V. Neville-Neil
ba7be0a934 Fix for PR 82974. We were not checking that the route looked up in
the case of an RTM_CHANGE was specific, i.e. that it matched completely.  This
led to a route change of a non-existent route changing the default route
as the radix code would simply back track to that point and hand that
route back to the routing socket code.

PR: 82974
Reviewed by: Tai-hwa Liang <avatar@mmlab.cse.yzu.edu.tw>
             Ben Kaduk <minimarmot@gmail.com>
             Bjoern A. Zeeb <bzeeb-lists@lists.zabbadoz.net>
Obtained from:	OpenBSD with modifications.
MFC after: 2 weeks
2005-07-15 09:18:34 +00:00
Poul-Henning Kamp
1c3cf26412 Implement a gctl handler and the verb "write MBR" which can be used to
update metadata and bootcode while the MBR is in use.

MFC candidate
2005-07-15 08:00:44 +00:00
Warner Losh
49fd8f11fe Use the new cis scanning code to look for the proper MAC address. The
offset varies between models of these cards.

# this gets the MAC address right for my CEM-2, but it doesn't detect
# the media attached correctly.
2005-07-15 06:46:04 +00:00
Warner Losh
730b64121c Fix a couple of leaking situations when errors happen. 2005-07-15 06:08:26 +00:00
Warner Losh
d55dc24982 Fix the xircom match routine. In it we were always return a match
when the base vendor/id didn't match.  Some cards woudl bogusly match
and would cause other downstream problems.
2005-07-15 06:05:11 +00:00
Takanori Watanabe
f35f3346a2 Add options for sl811.
Pointed out by: nyan
2005-07-15 05:12:49 +00:00
Warner Losh
f83fe7ce90 Don't wait for the printer to become ready before allowing the open to
succeed.  There are many printers that return status over the read
channel, and if we wait for the status to become ready, then we can't
find the status automatically.  Linux doesn't wait, nor does it ever
seem to really check the status in any meaningful way...  If there
really is a problem, the writes to the bulk out endpoint will still
fail (like they would if the printer was ready and then ran out of
paper or became unready).

In addition, there are a number of printers being made that emulate
the 'status' byte by returning '0' always rather than '0x18'.  This
fixes the EBUSY on open timeouts on those printer as well.

Reviewed by: the defining silence on usb@
2005-07-15 04:19:42 +00:00
Warner Losh
ce71e8d87f s/_us// 2005-07-15 04:11:42 +00:00