Commit graph

2266 commits

Author SHA1 Message Date
Weongyo Jeong
56ffe55185 MFC r204326:
Add bwn(4) driver to the build.
2010-04-20 21:55:44 +00:00
Weongyo Jeong
3e1e21c9a4 MFC r203945:
adds bwn(4) driver for supporting Broadcom BCM43xx chipsets.

    o uses v4 firmware instead of v3.  A port will be committed to
      create the bwn firmware module.
    o supports B/G and LP(low power) PHYs.
    o supports 32 / 64 bits DMA operations.
    o tested on big / little endian machines so should work on all
      architectures.

  It'd not connected to the build until the firmware port is committed.
2010-04-20 21:40:09 +00:00
Weongyo Jeong
f90970557d MFC r203320:
Hook up the siba_bwn module to the build.
2010-04-20 21:35:48 +00:00
Weongyo Jeong
4b1a8666b9 MFC r203319:
Adds siba_bwn module which is used with bwn(4).  Main purpose of this
  module is to distinguish parts of Silicon Backplane and of Broadcom
  Wireless.
2010-04-20 21:29:53 +00:00
Luigi Rizzo
31a3c43a0f MFC geom_sched code, a geom-based disk scheduling framework. 2010-04-20 15:23:12 +00:00
Pawel Jakub Dawidek
3a482ccc5e MFC r203504,r204067,r204073,r204101,r204804,r205079,r205080,r205132,r205133,
r205134,r205231,r205253,r205264,r205346,r206051,r206667,r206792,r206793,
    r206794,r206795,r206796,r206797:

r203504:

Open provider for writting when we find the right one. Opening too much
providers for writing provokes huge traffic related to taste events send
by GEOM on close. This can lead to various problems with opening GEOM
providers that are created on top of other GEOM providers.

Reorted by:	Kurt Touet <ktouet@gmail.com>, mr
Tested by:	mr, Baginski Darren <kickbsd@ya.ru>

r204067:

Update comment. We also look for GPT partitions.

r204073:

Add tunable and sysctl to skip hostid check on pool import.

r204101:

Don't set f_bsize to recordsize. It might confuse some software (like squid).

Submitted by:	Alexander Zagrebin <alexz@visp.ru>

r204804:

Remove racy assertion.

Reported by:	Attila Nagy <bra@fsn.hu>
Obtained from:	OpenSolaris, Bug ID 6827260

r205079:

Remove bogus assertion.

Reported by:	Johan Ström <johan@stromnet.se>
Obtained from:	OpenSolaris, Bug ID 6920880

r205080:

Force commit to correct Bug ID:

Obtained from:	OpenSolaris, Bug ID 6920880

r205132:

Don't bottleneck on acquiring the stream locks - this avoids a massive
drop off in throughput with large numbers of simultaneous reads

r205133:

fix compilation under ZIO_USE_UMA

r205134:

make UMA the default allocator for ZFS buffers - this avoids
a great deal of contention in kmem_alloc

r205231:

- reduce contention by breaking up ARC state locks in to 16 for data
  and 16 for metadata
- export L2ARC tunables as sysctls
- add several kstats to track L2ARC state more precisely
- avoid holding a contended lock when atomically incrementing a
  contended counter (no lock protection needed for atomics)

r205253:

use CACHE_LINE_SIZE instead of hardcoding 128 for lock pad

pointed out by Marius Nuennerich and jhb@

r205264:

- cache line align arcs_lock array (h/t Marius Nuennerich)
- fix ARCS_LOCK_PAD to use architecture defined CACHE_LINE_SIZE
- cache line align buf_hash_table ht_locks array

r205346:

The same code is used to import and to create pool.
The order of operations is the following:
1. Try to open vdev by remembered path and guid.
2. If 1 failed, try to find vdev which guid matches and ignore the path.
3. If 2 failed this means either that the vdev we're looking for is gone
   or that pool is being created and vdev doesn't contain proper guid yet.
   To be able to handle pool creation we open vdev by path anyway.

Because of 3 it is possible that we open wrong vdev on import which can lead to
confusions.

The solution for this is to check spa_load_state. On pool creation it will be
equal to SPA_LOAD_NONE and we can open vdev only by path immediately and if it
is not equal to SPA_LOAD_NONE we first open by path+guid and when that fails,
we open by guid. We no longer open wrong vdev on import.

r206051:

IOCPARM_MAX defines maximum size of a structure that can be passed
directly to ioctl(2). Because of how ioctl command is build using _IO*()
macros we have only 13 bits to encode structure size. So the structure
can be up to 8kB-1.

Currently we define IOCPARM_MAX as PAGE_SIZE.

This is IMHO wrong for three main reasons:

1. It is confusing on archs with page size larger than 8kB (not really
   sure if we support such archs (sparc64?)), as even if PAGE_SIZE is
   bigger than 8kB, we won't be able to encode anything larger in ioctl
   command.

2. It is a waste. Why the structure can be only 4kB on most archs if we
   have 13 bits dedicated for that, not 12?

3. It shouldn't depend on architecture and page size. My ioctl command
   can work on one arch, but can't on the other?

Increase IOCPARM_MAX to 8kB and make it independed of PAGE_SIZE and
architecture it is compiled for. This allows to use all the bits on all the
archs for size. Note that this doesn't mean we will copy more on every ioctl(2)
call. No. We still copyin(9)/copyout(9) only exact number of bytes encoded in
ioctl command.

Practical use for this change is ZFS. zfs_cmd_t structure used for ZFS
ioctls is larger than 4kB.

Silence on:	arch@

r206667:

Fix 3-way deadlock that can happen because of ZFS and vnode lock
order reversal.

thread0 (vfs_fhtovp)	thread1 (vop_getattr)	thread2 (zfs_recv)
--------------------	---------------------	------------------
			vn_lock
rrw_enter_read
						rrw_enter_write (hangs)
			rrw_enter_read (hangs)
vn_lock (hangs)

Reported by:	Attila Nagy <bra@fsn.hu>

r206792:

Set ARC_L2_WRITING on L2ARC header creation.

Obtained from:	OpenSolaris

r206793:

Remove racy assertion.

Obtained from:	OpenSolaris

r206794:

Extend locks scope to match OpenSolaris.

r206795:

Add missing list and lock destruction.

r206796:

Style fixes.

r206797:

Restore previous order.
2010-04-18 21:36:34 +00:00
Fabien Thomas
c8d050b52a MFC r206089, r206684:
- Support for uncore counting events: one fixed PMC with the uncore
   domain clock, 8 programmable PMC.
- Westmere based CPU (Xeon 5600, Corei7 980X) support.
- New man pages with events list for core and uncore.
- Updated Corei7 events with Intel 253669-033US December 2009 doc.
  There is some removed events in the documentation, they have been
  kept in the code but documented in the man page as obsolete.
- Offcore response events can be setup with rsp token.

Sponsored by: NETASQ
2010-04-16 15:43:24 +00:00
Luigi Rizzo
54d63d7b13 add priority scheduler. 2010-04-07 13:18:58 +00:00
Nathan Whitehorn
4ccf64eb2b MFC r205014,205015:
Provide groundwork for 32-bit binary compatibility on non-x86 platforms,
for upcoming 64-bit PowerPC and MIPS support. This renames the COMPAT_IA32
option to COMPAT_FREEBSD32, removes some IA32-specific code from MI parts
of the kernel and enhances the freebsd32 compatibility code to support
big-endian platforms.

This MFC is required for MFCs of later changes to the freebsd32
compatibility from HEAD.

Requested by:	kib
2010-04-07 02:24:41 +00:00
Andrew Thompson
0b2d5c2977 MFC r203134
Add run(4), a driver for Ralink RT2700U/RT2800U/RT3000U USB 802.11agn devices.

 This driver was written for OpenBSD by Damien Bergamini and ported over by
 Akinori Furukoshi.
2010-04-06 23:14:43 +00:00
Navdeep Parhar
ece8cb8889 cxgb(4) MFCs: r204271,r204274,r204348,r204921,r205944,r205945,r205946,r205947,r205948,r205949,r205950,r206109
r204271:
Accessing an mbuf after it has been handed off to the hardware is a bad
race as it could already have been tx'd and freed by that time.  Place
the bpf tap just _before_ writing the gen bit.

This fixes a panic when running tcpdump on a cxgb interface.

r204274:
There is no need to test __FreeBSD_version for features that have
been around for a long time now (7.1-ish or even earlier); assume
they are present.  These includes MSI, TSO, LRO, VLAN, INTR_FILTERS,
FIRMWARE, etc.

Also, eliminate some dead code and clean up in other places as part
of this quick once-over.

r204348:
Support IFCAP_VLANHWTSO in cxgb(4).  It works with or without vlanhwtag.
While here, remove old DPRINTFs and tidy up the capability code a bit.

r204921:
Better TwinAx transceiver detection.

Originally submitted by: <Bruno dot Bittner at isilon dot com>
(This is a rewritten, corrected version of that patch)

r205944:
Refresh the firmware version immediately after it is upgraded (or downgraded).

r205945:
Improved PHY EDC settings.

r205946:
Do not attempt to retrieve interrupt information before it is available.

r205947:
Fix build with "nooptions INET"

r205948:
Fix tx drop statistics.

r205949:
Fix signed/unsigned mix-up that allowed txq->in_use to grow beyond txq->size.

r205950:
Multiple fixes related to queue set sizing and resources:

- Only the tunnelq (TXQ_ETH) requires a buf_ring, an ifq, and the watchdog/timer
  callouts.  Do not allocate these for the other tx queues.

- Use 16k jumbo clusters only on offload capable cards by default.

- Do not allocate a full tx ring for the offload queue if the card is not
  offload capable.

- Slightly better freelist size calculation.

- Fix nmbjumbo4 typo, remove unneeded global variables.

r206109:
Increase response queue size to avoid starvation, add a counter
to track it when it does occur.
2010-04-05 23:29:27 +00:00
Jack F Vogel
dd75f66126 Add missing module Makefile for ixgbe and em MFCs 2010-04-05 21:43:22 +00:00
Marcel Moolenaar
419ee98298 MFC rev 199727, 200888, 201031, 202904, 203054, 203106, 203572, 203884,
204183, 204184, 204185, 204425, 204904, 204905, 205172, 205234, 205357,
205428, 205429, 205431, 205432, 205433, 205434, 205435, 205454, 205665,
205713, 205723, 205726 and 205727:

Bring ia64 machine-dependent changes from 9-current to 8-stable.
2010-03-31 05:05:28 +00:00
Luigi Rizzo
51aa112a4c typo... 2010-03-24 19:20:49 +00:00
Luigi Rizzo
f818fb9969 make the module loadable
Submitted by:	Marcin Wisnicki
2010-03-24 18:37:58 +00:00
Luigi Rizzo
183fd3c950 MFC r200636, list all files needed to build the ipfw module
Submitted by:	Alexander Wittig
2010-03-24 15:11:10 +00:00
Rui Paulo
ae266114fb Add ah_eeprom_v4k.c 2010-03-03 20:28:35 +00:00
Rui Paulo
8004f2b353 Add ar9280.c and ar9280_attach.c. 2010-03-03 20:08:12 +00:00
Rui Paulo
fe0da2ff6e MFC 204656:
Add missing ar9285_reset.c file.
2010-03-03 20:06:50 +00:00
Rui Paulo
2d057e0f6a MFC r197948 r203156 r203158 r203159 r203680 r203682 r203750 r203882 r203930
r203933 r203959 r204521 r204578:

Atheros AR9285 support.
2010-03-02 13:13:12 +00:00
Xin LI
aa3d547d09 MFC x86emu/x86bios emulator and make previously i386 only dpms and vesa
framebuffer driver, etc. work on FreeBSD/amd64.

A significant amount of improvements were done by jkim@ during the recent
months to make vesa(4) work better, over the initial code import.  This
work is based on OpenBSD's x86emu implementation and contributed by
paradox <ddkprog yahoo com> and swell.k at gmail com.

Hopefully I have stolen all their work to 8-STABLE :)

All bugs in this commit are mine, as usual.
2010-03-02 01:56:55 +00:00
Marius Strobl
c6bf5f18c0 - Factor out the code shared between NFS client and server into its own
module so it's not present twice.
- Move nfs_realign() from the NFS client to the shared NFS code and
  remove the NFS server version in order to reduce code duplication.
  The shared version now uses a second parameter how, which is passed
  on to m_get(9) and m_getcl(9) as the server used M_WAIT while the
  client requires M_DONTWAIT, and replaces the the previously unused
  parameter hsiz.
- Change nfs_realign() to use nfsm_aligned() so as with other NFS code
  the alignment check isn't actually performed on platforms without
  strict alignment requirements for performance reasons because as the
  comment suggests unaligned data only occasionally occurs with TCP.
- Change fha_extract_info() to use nfs_realign() with M_DONTWAIT rather
  than M_WAIT because it's called with the RPC sp_lock held.
2010-02-22 21:45:20 +00:00
Andriy Gapon
e21bbd1743 MFC r197104,197105,197106,197107,197688,198237,199337,199338,200553,200554,
202771,202773: bring acpica version to 20100121

MFC details:
r197104 | jkim | 2009-09-12 01:48:53 +0300 (Sat, 12 Sep 2009) | 4 lines
MFV:    r196804
Import ACPICA 20090903

r197105 | jkim | 2009-09-12 01:49:34 +0300 (Sat, 12 Sep 2009) | 2 lines
Catch up with ACPICA 20090903.

r197106 | jkim | 2009-09-12 01:50:15 +0300 (Sat, 12 Sep 2009) | 2 lines
Catch up with ACPICA 20090903.

r197107 | jkim | 2009-09-12 01:56:08 +0300 (Sat, 12 Sep 2009) | 2 lines
Canonify include paths for newly added files.

r197688 | jkim | 2009-10-01 23:56:15 +0300 (Thu, 01 Oct 2009) | 4 lines
Compile ACPI debugger and disassembler for kernel modules
unconditionally.
These files will generate almost empty object files without
ACPI_DEBUG/DDB
options.  As a result, size of acpi.ko will increase slightly.

r198237 | jkim | 2009-10-19 19:12:58 +0300 (Mon, 19 Oct 2009) | 2 lines
Merge ACPICA 20091013.

r199337 | jkim | 2009-11-16 23:47:12 +0200 (Mon, 16 Nov 2009) | 2 lines
Merge ACPICA 20091112.

r199338 | jkim | 2009-11-16 23:53:56 +0200 (Mon, 16 Nov 2009) | 2 lines
Add a forgotten module Makefile change from the previous commit.

r200553 | jkim | 2009-12-15 00:24:04 +0200 (Tue, 15 Dec 2009) | 2 lines
Merge ACPICA 20091214.

r200554 | jkim | 2009-12-15 00:28:32 +0200 (Tue, 15 Dec 2009) | 3 lines
Remove _FDE quirk handling as these quirks are automatically repaired
by ACPICA layer since ACPICA 20091214.

r202771 | jkim | 2010-01-21 23:14:28 +0200 (Thu, 21 Jan 2010) | 2 lines
Merge ACPICA 20100121.

r202773 | jkim | 2010-01-21 23:31:39 +0200 (Thu, 21 Jan 2010) | 2 lines
Fix a new header inclusion.

Discussed with:		jkim, jhb
No objections from:	acpi@
2010-02-06 12:03:25 +00:00
Antoine Brodin
c261b5023b MFC r202448 to stable/8:
Do not build netgraph kernel modules if WITHOUT_NETGRAPH is set in src.conf
  Submitted by:	bf
2010-01-30 15:28:14 +00:00
Christian Brueffer
4e31204f25 MFC: r202290
Build iwi(4) and iwifw(4) modules on amd64 as well.
2010-01-21 16:31:45 +00:00
Konstantin Belousov
dc657f6117 MFC r198429, r198439, r198468, r201209, r201822, r201882:
Syncronize iwn(4) driver in stable/8 with HEAD.

Approved by:	rpaulo
2010-01-20 15:22:34 +00:00
Andrew Thompson
e18bb09e1a Hook up uhso to the build. 2010-01-17 18:37:36 +00:00
Andrew Thompson
bc4acc704f MFC r202181,202243,202270
Add a driver by Fredrik Lindberg for Option HSDPA USB devices. These differ
 from standard 3G wireless units by supplying a raw IP/IPv6 endpoint rather than
 using PPP over serial. uhsoctl(1) is used to initiate and close the WAN
 connection.

Obtained from:	Fredrik Lindberg <fli@shapeshifter.se>
2010-01-17 18:22:42 +00:00
Bjoern A. Zeeb
71902ae69a MFC r201742:
After adding an SDT provider for opencrypto in r199884 we should also
  depend on opt_kdtrace.h for the module build.

  Submitted by: (Andre.Albsmeier siemens.com)
2010-01-17 13:28:06 +00:00
Marius Strobl
8e52edcf3b MFC: r202006
Add epic(4), a driver for the front panel LEDs in Sun Fire V215/V245.
It's named after the driver doing the same job in OpenSolaris.
2010-01-15 19:12:33 +00:00
Andriy Gapon
5e860e7b2f MFC r199969: amdsbwd: new driver for AMD SB600/SB7xx watchdog timer 2009-12-21 05:58:55 +00:00
Andrew Thompson
310ce38f75 MFC r199086,199151,199680,199948,200241
Driver for the Apple Touchpad present on MacBook (non-Pro & Pro).

Submitted by:	Rohit Grover <rgrover1 at gmail.com>
2009-12-09 21:47:42 +00:00
Bjoern A. Zeeb
a1778929b7 MFC r197518:
lindev(4) [1] is supposed to be a collection of linux-specific pseudo
  devices that we also support, just not by default (thus only LINT or
  module builds by default).

  While currently there is only "/dev/full" [2], we are planning to see more
  in the future.  We may decide to change the module/dependency logic in the
  future should the list grow too long.

  This is not part of linux.ko as also non-linux binaries like kFreeBSD
  userland or ports can make use of this as well.

Suggested by:	rwatson [1] (name)
Submitted by:	ed [2]
Discussed with:	markm, ed, rwatson, kib (weeks ago)
Reviewed by:	rwatson, brueffer (prev. version)
PR:		kern/68961
2009-12-05 20:37:46 +00:00
Alexander Motin
06a7b83b5e MFC r199822:
Drop USB mass storage devices support from ata(4). It is out of the build as
long as I remember, and completely superseded by better maintained umass(4).
It's main idea was to optionally avoid CAM dependency for such devices, but
with move ATA to CAM, it is not actual any more.

No objections:  hselasky@, thompsa@, arch@
2009-12-02 10:47:11 +00:00
Alexander Motin
262d120349 MFC r198389:
Move Port Multiplier support code out of ATA XPT into pmp periph driver.
This is convinient, as PMP itself is a bus target and has own state.
2009-11-17 20:17:48 +00:00
Andriy Gapon
7a04f19803 MFC r199015: ichwd: don't attach to isa pnp device(s) by accident 2009-11-17 09:35:13 +00:00
Navdeep Parhar
bbec3bb581 MFC r197791
cxgb(4) updates, including:
- support for the new Gen-2, BT, and LP-CR cards.
- T3 firmware 7.7.0
- shared "common code" updates.
2009-11-12 00:20:31 +00:00
Andriy Gapon
2df1facbb7 MFC 198279: fix sorting of some amd* entries in some makefiles 2009-11-01 17:56:45 +00:00
Robert Noland
357a8e800b MFC r196470-196471,197154-197155,197603-197606
Sync radeon drm support

This adds kernel support for r6/7xx 3D.
2009-10-30 16:32:35 +00:00
Andrew Thompson
fbcc87cbbc MFC r198258
Add opt_gdb.h which is now needed by ucom.
2009-10-29 23:28:21 +00:00
Konstantin Belousov
ce8e32de5c MFC r197428:
Add per-process osrel node to the procfs, to allow read and set p_osrel
value for the process.
2009-10-29 16:19:58 +00:00
Ermal Luçi
d8e86c4a5d Fix typo which has survived amazingly long!
Reviewed by:	mlaier(mentor)
Approved by:	re(kib)
2009-10-14 15:32:46 +00:00
Yoshihiro Takahashi
8fe1fb2047 MFC: revision 197730
unifdef NFSCLIENT because the nlm depends on the nfsclient even if NFSCLIENT
  is not defined.

  Now the nfslockd module works with the nfsclient module.

  Reviewed by:	kib

Approved by:	re (kensmith)
2009-10-07 14:14:05 +00:00
Yoshihiro Takahashi
4d1ed2a5c6 MFC: revision 197535
Add '#define NFSCLIENT' into opt_nfs.h if the NFSCLIENT variable is 1
  (the default is 1).

  This makes the nfslockd module works for NFS client.

  Reviewed by:	dfr

Approved by:	re (kib)
2009-10-01 14:42:55 +00:00
Pawel Jakub Dawidek
e43f173602 MFC r196295:
Remove OpenSolaris taskq port (it performs very poorly in our kernel) and
replace it with wrappers around our taskqueue(9).
To make it possible implement taskqueue_member() function which returns 1
if the given thread was created by the given taskqueue.

Approved by:	re (kib)
2009-08-17 09:03:47 +00:00
Matt Jacob
b965588786 Add 8Gb card firmware. Update some 2Gb and 4Gb f/w sets.
Split 4Gb and 8Gb into pieces that can be either multi_id
capable or not.

Reviewed by:	scottl, ken
Approved by:	re
2009-08-01 00:57:34 +00:00
Bjoern A. Zeeb
d0ea47437a Update epair(4) to the new netisr implementation and polish
things a bit:
- use dpcpu data to track the ifps with packets queued up,
- per-cpu locking and driver flags
- along with .nh_drainedcpu and NETISR_POLICY_CPU.
- Put the mbufs in flight reference count, preventing interfaces
  from going away, under INVARIANTS as this is a general problem
  of the stack and should be solved in if.c/netisr but still good
  to verify the internal queuing logic.
- Permit changing the MTU to virtually everythinkg like we do for loopback.

Hook epair(4) up to the build.

Approved by:	re (kib)
2009-07-26 12:20:07 +00:00
Sam Leffler
bd6c4dd05d correct setup of opt_ddb.h
Submitted by:	jkim
Approved by:	re (kib)
2009-07-21 19:24:53 +00:00
Rui Paulo
a6d54dae20 Enable mesh support.
Submitted by:	jkim
Approved by:	re (kib)
2009-07-21 14:23:05 +00:00
Alexander Motin
67b87e4429 Add siis CAM driver for SiliconImage SiI3124/3132/3531 SATA2 controllers.
Driver supports Serial ATA and ATAPI devices, Port Multipliers
(including FIS-based switching), hardware command queues (31 command
per port) and Native Command Queuing. This is probably the second on
popularity, after AHCI, type of SATA2 controllers, that benefits from
using CAM, because of hardware command queuing support.

Approved by:    re (kib)
2009-07-21 12:32:46 +00:00