Commit graph

75476 commits

Author SHA1 Message Date
Alan Cox
b28c6ddbbc MFC r207306
Change vm_object_madvise() so that it checks whether the page is invalid
  or unmanaged before acquiring the page queues lock.  Neither of these
  tests require that lock.  Moreover, a better way of testing if the page
  is unmanaged is to test the type of vm object.  This avoids a pointless
  vm_page_lookup().
2010-05-20 16:21:19 +00:00
Konstantin Belousov
c67c645d9d MFC r207729:
Add MAKEDEV_NOWAIT flag for make_dev_credf(9).
2010-05-20 09:38:15 +00:00
Martin Matuska
f950c14263 MFC r208050:
Fix ZIL-related panic on zfs rollback.

OpenSolaris onnv-revision: 8746:e1d96ca6808c

Approved by:	pjd, delphij (mentor)
Obtained from:	OpenSolaris (Bug ID 6796377)
2010-05-20 09:35:31 +00:00
Marius Strobl
5e6587c9a7 MFC: r208143
Add the ofw_bus_if.h dependency introduced with r207585 (MFC'ed to
stable/8 in r208086).
2010-05-20 08:43:29 +00:00
Martin Matuska
eb200e320f MFC r208047:
Import OpenSolaris revision 7837:001de5627df3
It includes the following changes:
- parallel reads in traversal code (Bug ID 6333409)
- faster traversal for zfs send (Bug ID 6418042)
- traversal code cleanup (Bug ID 6725675)
- fix for two scrub related bugs (Bug ID 6729696, 6730101)
- fix assertion in dbuf_verify (Bug ID 6752226)
- fix panic during zfs send with i/o errors (Bug ID 6577985)
- replace P2CROSS with P2BOUNDARY (Bug ID 6725680)

List of OpenSolaris Bug IDs:
6333409, 6418042, 6757112, 6725668, 6725675, 6725680,
6725698, 6729696, 6730101, 6752226, 6577985, 6755042

Approved by:	pjd, delphij (mentor)
Obtained from:	OpenSolaris (multiple Bug IDs)
2010-05-20 06:51:48 +00:00
Andrew Thompson
a24aaef782 MFC r208012
Support getting signed and unsigned HID data.

Submitted by:	Alex Deiter
2010-05-20 00:05:33 +00:00
Pyun YongHyeon
f37531017a MFC r208084:
If controller received bad frames make sure to update newly added
  RFA. Also drop frames that have either CRC error or alignment
  error. Normally bad frames are not received at all. But controllers
  running in promiscuous mode will receive bad frames. 82557 will
  also receive bad frames to receive VLAN oversized frames.

  While I'm here mark RNR condition if driver happen to see RNR in
  RFA status and restart RU to receive frames again. Because driver
  checks all received frames in RX loop, RNR condition could be set
  in the middle of RX processing. Just relying on RNR interrupt was
  not enough.

  This change fixes "Memory modified after free" issue when fxp(4)
  is running as a member of if_bridge(4).

  Tested by:	Larry Baird <lab <> gta dot com>
2010-05-19 21:08:38 +00:00
Pyun YongHyeon
71cfff63cb MFC r208081,208083:
r208081:
  Controller updates RFA via DMA so driver needs synchronization.
  Add missing BUS_DMASYNC_POSTWRITE and BUS_DMASYNC_PREREAD.

r208083:
  Dont' allow dma map load deferring. fxp(4) is not able to handle
  EINPROGRESS.
2010-05-19 20:56:18 +00:00
John Baldwin
b58dad48ea MFC 207335:
Initialize the callout structure earlier in attach before calling any
routines that can fail since ciss_free() always tries to stop and drain
the callout.
2010-05-19 19:43:49 +00:00
Alexander Motin
4567e8334a MFC r207536, r207696, r208183:
Import mvs(4) - Marvell 88SX50XX/88SX60XX/88SX70XX/SoC SATA controllers
driver for CAM ATA subsystem. This driver supports same hardware as
atamarvell, ataadaptec and atamvsata drivers from ata(4), but provides
many additional features, such as NCQ, PMP, etc.
2010-05-19 14:50:07 +00:00
Andriy Gapon
86ffeaa182 MFC r207360: periodically save system time to hardware time-of-day clock 2010-05-19 10:34:15 +00:00
Andriy Gapon
e5f5b37212 MFC r207359,207362: kern_ntptime: abstract time error check into a
function
2010-05-19 10:15:37 +00:00
Konstantin Belousov
3c5636cdf1 MFC r207958:
Route all returns from the interrupts and faults through the doreti_iret
labeled iretq instruction.

MFC r208026:
Do not use .extern.
2010-05-19 09:32:59 +00:00
Konstantin Belousov
c89c4842bc MFC r207957:
Remove unneeded overrides of the segment registers.
2010-05-19 09:30:41 +00:00
Martin Matuska
bf7a7e9b29 MFC r207670, r208130, r208131:
MFC r207670:
Introduce hardforce export option (-F) for "zpool export".
When exporting with this flag, zpool.cache remains untouched.
OpenSolaris onnv revision: 8211:32722be6ad3b

MFC r208130:
Fix perfomance problem with ZFS prefetch caching [1]
Add statistics for ZFS prefetch (sysctl kstat.zfs.misc.zfetchstats)
OpenSolaris onnv revision: 10474:0e96dd3b905a (partial)

MFC r208131:
Fix deadlock between zfs_dirent_lock and zfs_rmdir
OpenSolaris onnv revision: 11321:506b7043a14c

Reported by:	jhell@dataix.net (private e-mail) [1]
Approved by:	pjd, delphij (mentor)
Obtained from:	OpenSolaris (Bug ID: 6775357, 6859997, 6868951, 6847615)
2010-05-19 06:49:52 +00:00
Bernhard Schmidt
a6d4f1ab38 MFC r207926:
Enable 5.5 and 11Mbit TX rates.

Reviewed by:	sam
Approved by:	rpaulo (mentor)
2010-05-18 17:43:53 +00:00
Marius Strobl
ed6b099ba7 MFC: r208117
Fix a mismerge in r206001 (MFC'ed to stable/8 in r206211).

PR:		146614
Approved by:	jfv (implicit)
2010-05-18 17:09:20 +00:00
Marius Strobl
78c1f0d3c8 MFC: r205254, r208097
- Add quirk handling for Sun Fire V1280. The firmware of these machines
  provides no ino-bitmap properties so forge them using the default set
  of controller interrupts and let schizo_setup_intr() take care of the
  children, hoping for non-fancy routing.
- Enable DMA write parity error interrupts on Schizo with a working
  implementation.
- Let schizo_pci_bus() only panic in case of fatal errors as the interrupt
  triggered by the error the firmware of Sun Fire V890 as well as 280R
  with version 7 Schizo caused may happen as late as using the HBA and not
  only prior to touching the PCI bus (in the former case the actual error
  still is fatal but we clear it before touching the PCI bus).
  While at it count and export non-fatal error interrupts via sysctl(9).
- Remove unnecessary locking from schizo_ue().
2010-05-18 17:02:24 +00:00
Attilio Rao
d5a628572d MFC r207922, r207925, r207929, r208052:
- Change the db_printf return value in order to catch up with printf
- Make witness_list_locks() and witness_display_spinlock() accept
  callbacks for printf-like functions in order to queue the output on the
  correct channel.
2010-05-18 10:24:23 +00:00
Martin Matuska
f56075cfb0 Bump __FreeBSD_version for liblzma addition.
Approved by:	delphij (mentor)
2010-05-18 10:02:45 +00:00
Martin Matuska
4458b5abfc MFC r207626, r207627:
MFC r207626:
Speed up ZFS list operation with objset prefetching.

MFC r207627:
Enable "zfs list" to list explicitly requested snapshots.

OpenSolaris onnv revisions:
8415:8809e849f63e, 10474:0e96dd3b905a (partial)

PR:		kern/146297
Approved by:	pjd, delphij (mentor)
Obtained from:	OpenSolaris (Bug ID 6386929, 6758338, 6755389, 6847118)
2010-05-18 07:45:27 +00:00
Bjoern A. Zeeb
f7eebc1c4e MFC r208100:
Fix an issue with the dynamic pcpu/vnet data allocators.

  We cannot expect that modspace is the last entry in the linker
  set and thus that modspace + possible extra space up to PAGE_SIZE
  would be contiguous.  For the moment do not support more than
  *_MODMIN space and ignore the extra space.

Discussed with:	jeff, rwatson (briefly)
Reviewed by:	jeff
Sponsored by:	The FreeBSD Foundation
Sponsored by:	CK Software GmbH
2010-05-18 04:20:35 +00:00
Xin LI
ac675f61fd MFC r207630
Remove if_ar, if_ray, if_sr, if_ppp, if_sl to reflect the current modules
available, they were removed due to NEEDSGIANT.

While I'm there, add if_et which was missed quite a while ago.
2010-05-18 00:32:02 +00:00
Andrew Thompson
642742e8e8 MFC r208048
Allow the USB_REQ_DEBUG to be enabled in the kernel conf.
2010-05-17 23:52:33 +00:00
Andrew Thompson
4e2a75d8af MFC r208019
Sync run(4) driver from author's site.
2010-05-17 23:51:57 +00:00
Andrew Thompson
0a22c89dd0 MFC r208018
Reduce diffs to p4.

  Add test code for delaying or failing usb control requests, disabled by
  default under ifdef USB_REQ_DEBUG.
2010-05-17 23:51:20 +00:00
Andrew Thompson
7ed2269651 MFC r208017
Fix possibly wrong bit masking.
2010-05-17 23:50:46 +00:00
Andrew Thompson
298c330015 MFC r208016
Add new FTDI USB device ID.
2010-05-17 23:50:10 +00:00
Andrew Thompson
4251e3198f MFC r208015
Increase the max ports to 12, 3G devices exist where the ppp endpoint is #9.
2010-05-17 23:49:31 +00:00
Andrew Thompson
6b264d7512 MFC r208014
Back out r203140 which was causing problems when the first and the last
 microframe slot was not in the smask. The problem was that the EHCI driver was
 then thinking that the transfer was immediately complete in some cases. Which
 could lead to freeze-like situations, which can be recovered by unplugging the
 USB device.
2010-05-17 23:48:51 +00:00
Andrew Thompson
f3619333d4 MFC r208013
Add missing ifdefs for usb power saving support.
2010-05-17 23:48:03 +00:00
Andrew Thompson
825c2e2677 MFC r208011
Add the ASUS MyPal A730W device id.
2010-05-17 23:47:24 +00:00
Andrew Thompson
948a9feb33 MFC r208010
Provide more information about the device location in the USB system.
2010-05-17 23:46:45 +00:00
Andrew Thompson
25e59d15b9 MFC r208009
Enable support for mouse panning wheels.
2010-05-17 23:46:08 +00:00
Andrew Thompson
51c097f122 MFC r208008
If a USB device is suspended and a USB set config request is issued when the
 USB enumeration lock is locked, then the USB stack fails to resume the device
 because locking the USB enumeration lock is part of the resume procedure. To
 solve this issue a new lock is introduced which only protects the suspend and
 resume callbacks, which can be dropped inside the usbd_do_request_flags()
 function, to allow suspend and resume during so-called enumeration operations.
2010-05-17 23:45:31 +00:00
Andrew Thompson
79e193fb18 MFC r208007
Staticise usb_ref_device and usb_unref_device.
2010-05-17 23:44:52 +00:00
Andrew Thompson
3bf0ccc8be MFC r208006
Add quirks for the Alcor SDCR_6362 Card Reader, Freecom HDD storage device and
 Samsung YP_U4 music player.

PR:		usb/145265, usb/146104
2010-05-17 23:44:18 +00:00
Andrew Thompson
7b77f44cdc MFC r207404
usb_controller.c requires opt_ddb.h
2010-05-17 23:43:41 +00:00
Andrew Thompson
199841d30c MFC r206638
Use the UIPROTO_BOOT_KEYBOARD #define from usb.h rather than a local
 (almost identically named) local #define.
2010-05-17 23:43:07 +00:00
Andrew Thompson
3e95f09e66 MFC r203148
Uuencode the rt2870 firmware into ascii like the other firmware blobs.
2010-05-17 23:41:06 +00:00
Edward Tomasz Napierala
44ba1ebbee MFC r208030:
Add missing check to prevent local users from panicing the kernel by trying
to set malformed ACL.
2010-05-17 17:56:27 +00:00
Pyun YongHyeon
0fb00d128a MFC r207852:
SiS190 supports RX 10 bytes padding, CRC stripping as well as VLAN
  hardware tag insertion/stripping. Remove conditional code that
  disables these hardware features on SiS190. Also nuke RX fixup code
  which is no more required on strict-alignment architectures because
  SiS190 supports RX 10 bytes padding.
  Now all hardware features except jumbo frame and WOL are supported.
  Thanks to Masa Murayama who confirmed SiS190 also has the same
  hardware features of SiS191.
  I guess the only difference between SiS191 and SiS190 would be
  jumbo frame support. It will be implemented in near future.
2010-05-17 17:12:35 +00:00
Pyun YongHyeon
cfd81a4a1d MFC r207851:
Implement TSO and TSO over VLAN. Increase number of allowed
  fragmentation of mbuf chain to 32 from 16 because TSO can send 64KB
  sized packet which in turn requires long list of mbuf chain. Due to
  lack of documentation, I'm not sure whether driver have to pull up
  ethernet/IP/TCP header with options to make controller work but
  driver have to parse TCP header to update pseudo TCP checksum
  anyway. The controller expects pseudo TCP checksum computed by
  upper stack and the checksum should follow the MS NDIS
  specification to make TSO work.

  Tested by:	xclin <xclin <> cs dot nctu dot edu dot tw >
2010-05-17 17:02:42 +00:00
Pyun YongHyeon
14d379e521 MFC r207832:
Export hardware MAC statistics through sysctl node. Previously
  fxp(4) already used to extract most hardware MAC statistics but it
  didn't show them. With this change, all MAC statistics counters
  are exported. Because there are a couple of new counters for 82558
  and 82559, enable extended MAC statistics functionality to get
  these counters. Accoring to public data sheet, 82559 MAC statistics
  return 24 DWORD counters(3 counters are unknown at this moment) so
  increase MAC counter structure to meet the MAC statistics block size.
  The completion of MAC counter dump is now checked against
  FXP_STATS_DR_COMPLETE status code which is appended at the end of
  status block. Previously fxp(4) ignored the status of the
  FXP_SCB_COMMAND_CU_DUMPRESET command. fxp(4) does not wait for the
  completion of pending command before issuing
  FXP_SCB_COMMAND_CU_DUMPRESET. Instead it skips the command and try
  it next time. This scheme may show better performance but there is
  chance to loose updated counters after stopping controller. So make
  sure to update MAC statistics in fxp_stop().
  While I'm here move sysctl node creation to fxp_sysctl_node().

  Tested by:	Larry Baird < lab <> gta dot com >
2010-05-17 16:57:55 +00:00
Pyun YongHyeon
629403076a MFC r207750:
8255x configure command requires number of bytes of configuration
  table. The default size of the configuration table was 22 bytes. To
  use extended feature of 82550/82551 the configuration table size
  was expanded to 32 bytes. The added configuration for 82550/82551
  specifies VLAN hardware tagging and IPSec configuration as well as
  TCO.
  To make configuration easier fxp(4) used a configuration template
  and the template was copied to configuration table. After that,
  some parameters of the configuration table was changed depending on
  controller type and operation mode. However the size of template
  was 22 bytes so some configuration parameters were not properly
  initialized on 82550/82551.
  Fix this by increasing the template size. For 82557, 82558 and
  82559 the size of the configuration is still 22 bytes.
2010-05-17 16:47:25 +00:00
VANHULLEBUS Yvan
0b4ae73d99 MFC: Locks SPTREE when setting some SP entries to state DEAD.
This can prevent kernel panics when updating SPs while there is
some traffic for them.

Obtained from:	NETASQ
2010-05-17 15:31:24 +00:00
Ken Smith
58bfd864fa Since sometimes developer activity the week before a code freeze starts causes
the stable branch to be a little less reliable than normal mark the stable/8
branch as 8.1-PRERELEASE to warn users.
2010-05-17 14:20:26 +00:00
Konstantin Belousov
4fa8113f97 MFC r207848:
The thread_unsuspend() requires both process mutex and process spinlock
locked. Postpone the process unlock till the thread_unsuspend() is called.
2010-05-17 08:15:04 +00:00
Konstantin Belousov
c32fbf547b MFC r207847:
For detach procfs ctl command, also clear P_STOPPED_TRACE process stop
flag, and for each thread, TDB_SUSPEND debug flag, same as it is done by
exit1() for orphaned debugee.
2010-05-17 08:11:23 +00:00
Rick Macklem
e6c7d81538 MFC: r207785
Fix typos in macros.
2010-05-17 02:01:22 +00:00