]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/log
FreeBSD/stable/9.git
11 years agoMFC r235557:
tuexen [Sun, 1 Jul 2012 07:53:54 +0000 (07:53 +0000)]
MFC r235557:
Use a default for max_burst of 4 and l2var of 2.
This was discussed with rrs@.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237893 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235554:
tuexen [Sun, 1 Jul 2012 07:51:32 +0000 (07:51 +0000)]
MFC r235554:
Support SCTP_EOF also for 1-to-1 style sockets.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237891 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235418:
tuexen [Sun, 1 Jul 2012 07:49:14 +0000 (07:49 +0000)]
MFC r235418:
Support SCTP_REMOTE_ERROR notification.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237890 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235416:
tuexen [Sun, 1 Jul 2012 07:42:59 +0000 (07:42 +0000)]
MFC r235416:
Provide in the SCTP_SEND_FAILED and SCTP_SEND_FAILED_EVENT notifications
the correct ssf_error or ssfe_error as required by RFC 6458.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237889 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235414,r235415:
tuexen [Sun, 1 Jul 2012 07:39:37 +0000 (07:39 +0000)]
MFC r235414,r235415:
Provide the error code in SCTP_PEER_ADDR_CHANGE notifications as
specified in RFC 6458.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237888 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235412:
tuexen [Sun, 1 Jul 2012 07:36:33 +0000 (07:36 +0000)]
MFC r235412:
Remove unused constants.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237887 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235403:
tuexen [Sun, 1 Jul 2012 07:34:07 +0000 (07:34 +0000)]
MFC r235403:
Use ECONNABORTED in cases where the ABORT was sent to the peer.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237886 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235402:
tuexen [Sun, 1 Jul 2012 07:31:25 +0000 (07:31 +0000)]
MFC r235402:
Ensure the user can read COMM_LOST notifications on 1-to-1 style sockets.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237885 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235360:
tuexen [Sun, 1 Jul 2012 07:28:15 +0000 (07:28 +0000)]
MFC r235360:
Provide in the association change notification the received ABORT chunk
if case of SCTP_COMM_LOST or SCTP_CANT_STR_ASSOC as required by RFC 6458.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237884 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237718:
mav [Sun, 1 Jul 2012 06:41:39 +0000 (06:41 +0000)]
MFC r237718:
Fix millisecond to ticks conversion in drm_msleep().

On systems with HZ=100 it caused Intel eDP video output initialization
(and Xorg startup) to take several minutes instead of several seconds.

Reviewed by: kib

git-svn-id: svn://svn.freebsd.org/base/stable/9@237882 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC 237682:
ken [Sun, 1 Jul 2012 05:39:49 +0000 (05:39 +0000)]
MFC 237682:

  r237682 | ken | 2012-06-27 21:36:13 -0600 (Wed, 27 Jun 2012) | 6 lines

  Fix a typo in a panic() call.

PR: kern/169497
Submitted by: Steven Hartland <steven.hartland@multiplay.co.uk>

git-svn-id: svn://svn.freebsd.org/base/stable/9@237879 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC 237683:
ken [Sun, 1 Jul 2012 05:22:45 +0000 (05:22 +0000)]
MFC 237683:

  r237683 | ken | 2012-06-27 21:48:54 -0600 (Wed, 27 Jun 2012) | 129 lines

  Bring in LSI's latest mps(4) 6Gb SAS and WarpDrive driver, version
  14.00.00.01-fbsd.

  Their description of the changes is as follows:

  1. Copyright contents has been changed in all respective .c
   and .h files

  2. Support for WRITE12 and READ12 for direct-io (warpdrive only)
   has been added.

  3.      Driver has added checks to see if Drive has READ_CAP_16
   support before sending it down to the device.
   If SPC3_SID_PROTECT flag is set in the inquiry data, the
   device supports protection information, and must support
   the 16 byte read capacity command, otherwise continue without
   sending read cap 16. This will optimize driver performance,
   since it will not send READ_CAP_16 to the drive which does
   not have support of READ_CAP_16.

  4.      With new approach, "MPTIOCTL_RESET_ADAPTER" IOCTL will not
   use DELAY() which is busy loop implementation.
   It will use <msleep> (Better way to sleep without busy
   loop). Also from the HBA reset code path and some other
   places, DELAY() is replaced with msleep() or "pause()",
   which is based on sleep/wakeup style calls.  Driver use
   msleep()/pause() instead of DELAY based on CAN_SLEEP/NO_SLEEP
   flags to avoid busy loop which is not required all the
   time.e.a

   a. While driver is getting loaded, driver calls most of the
      commands with NO_SLEEP.
   b. When Driver is functional and it needs Reinit of HBA,
      CAN_SLEEP flag is used.

  5. <mpslsi> driver is not Endian safe. It will not work on Big
   Endian machines like Sparc and PowerPC platforms because it
   assumes it is running on a Little Endian machine.

   Driver code is modified such way that it does not assume CPU
   arch is Little Endian.
   a. All places where Driver interacts from HBA to Host, it
      converts Little Endian format to CPU format.
   b. All places where Driver interacts from Host to HBA, it
      converts CPU format to Little Endian.

  6. Findout memory leaks in FreeBSD Driver and resolve those,
   such as memory leak in targ's luns creation/deletion.
   Also added additional checks to see memory allocation
   success/fail.

  7. Add loginfo prints as debug message, i.e. When FW sends any
   loginfo, Driver should print those as debug message.
   This will help for debugging purpose.

  8. There is possibility to get config request timeout. Current
   driver is able to detect config request timetout, but it does
   not do anything on config_request timeout.  Driver should
   call mps_reinit() if any request_poll (which is called as
   part of config_request) is time out.

  9. cdb length check is required for 32 byte CDB. Add correct mpi
   control value for 32 bit CDB as below while submitting SCSI IO
   Request to controller.
   mpi_control |= 4 << MPI2_SCSIIO_CONTROL_ADDCDBLEN_SHIFT;

  10. Check the actual status of Message unit reset
   (mps_message_unit_reset).Previously FreeBSD Driver just writes
   MPI2_FUNCTION_IOC_MESSAGE_UNIT_RESET and never check the ack
   (it just wait for 50 millisecond).  So, Driver now check the
   status of "MPI2_FUNCTION_IOC_MESSAGE_UNIT_RESET" after writing
   it to the FW.

   Now it also checking for whether doorbell ack uses msleep with
   proper sleep flags, instead of <DELAY>.

  11. Previously CAM does not detect Multi-Lun Devices. In order to
   detect Multi-Lun Devices by CAM the driver needs following change
   set:
   a. There is "max_lun" field which Driver need to set based on
      hw/fw support. Currently LSI released driver does not set
      this field.
   b. Default of "max_lun" should not be 0 in OS, but it is
      currently set to 0 in CAM layer.
   c. Export max_lun capacity to 255

  12. Driver will not reset target info after port enable complete and
   also do Device removal when Device remove from FW.  The detail
   description is as follows
   a. When Driver receive WD PD add events, it will add all
      information in driver local data structure.
   b. Only for WD, we have below checks after port enable
      completes, where driver clear off all information retrieved
      at #1.
   if ((sc->WD_available &&
               (sc->WD_hide_expose == MPS_WD_HIDE_ALWAYS)) ||
               (sc->WD_valid_config && (sc->WD_hide_expose ==
                              MPS_WD_HIDE_IF_VOLUME)) {
     // clear off target data structure.
   }
   It is mainly not to attach PDs to OS.

   FreeBSD does bus rescan as older Parallel scsi style. So Driver
   needs to handle which Drive is visible to OS.  That is a reason
   we have to clear off targ information for PDs.

   Again, above logic was implemented long time ago. Similar concept
   we have for non-wd also. For that, LSI have introduced different
   logic to hide PDs.

   Eventually, because of above gap, when Phy goes offline, we
   observe below failure. That is what Driver is not doing complete
   removal of device with FW. (which was pointed by Scott)
   Apr  5 02:39:24 Freebsd7 kernel: mpslsi0: mpssas_prepare_remove
   Apr  5 02:39:24 Freebsd7 kernel: mpssas_prepare_remove 497 : invalid handle 0xe

   Now Driver will not reset target info after port enable complete
   and also will do Device removal when Device remove from FW.

  13. Returning "CAM_SEL_TIMEOUT" instead of "CAM_TID_INVALID"
   error code on request to the Target IDs that have no devices
   conected at that moment.  As if "CAM_TID_INVALID" error code
   is returned to the CAM Layaer then it results in a huge chain
   of errors in verbose kernel messages on boot and every
   hot-plug event.

Submitted by: Sreekanth Reddy <Sreekanth.Reddy@lsi.com>

git-svn-id: svn://svn.freebsd.org/base/stable/9@237876 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC 237518, 237545, 237648:
ken [Sun, 1 Jul 2012 05:13:50 +0000 (05:13 +0000)]
MFC 237518, 237545, 237648:

  r237518 | ken | 2012-06-23 22:29:03 -0600 (Sat, 23 Jun 2012) | 72 lines

  Fix a bug which causes a panic in daopen(). The panic is caused by
  a da(4) instance going away while GEOM is still probing it.

  In this case, the GEOM disk class instance has been created by
  disk_create(), and the taste of the disk is queued in the GEOM
  event queue.

  While that event is queued, the da(4) instance goes away.  When the
  open call comes into the da(4) driver, it dereferences the freed
  (but non-NULL) peripheral pointer provided by GEOM, which results
  in a panic.

  The solution is to add a callback to the GEOM disk code that is
  called when all of its resources are cleaned up.  This is
  implemented inside GEOM by adding an optional callback that is
  called when all consumers have detached from a provider, and the
  provider is about to be deleted.

  scsi_cd.c,
  scsi_da.c: In the register routine for the cd(4) and da(4)
   routines, acquire a reference to the CAM peripheral
   instance just before we call disk_create().

   Use the new GEOM disk d_gone() callback to register
   a callback (dadiskgonecb()/cddiskgonecb()) that
   decrements the peripheral reference count once GEOM
   has finished cleaning up its resources.

   In the cd(4) driver, clean up open and close
   behavior slightly.  GEOM makes sure we only get one
   open() and one close call, so there is no need to
   set an open flag and decrement the reference count
   if we are not the first open.

   In the cd(4) driver, use cam_periph_release_locked()
   in a couple of error scenarios to avoid extra mutex
   calls.

  geom.h: Add a new, optional, providergone callback that
   is called when a provider is about to be deleted.

  geom_disk.h: Add a new d_gone() callback to the GEOM disk
   interface.

   Bump the DISK_VERSION to version 2.  This probably
   should have been done after a couple of previous
   changes, especially the addition of the d_getattr()
   callback.

  geom_disk.c: Add a providergone callback for the disk class,
   g_disk_providergone(), that calls the user's
   d_gone() callback if it exists.

   Bump the DISK_VERSION to 2.

  geom_subr.c: In g_destroy_provider(), call the providergone
   callback if it has been provided.

   In g_new_geomf(), propagate the class's
   providergone callback to the new geom instance.

  blkfront.c: Callers of disk_create() are supposed to pass in
   DISK_VERSION, not an explicit disk API version
   number.  Update the blkfront driver to do that.

  disk.9: Update the disk(9) man page to include information
   on the new d_gone() callback, as well as the
   previously added d_getattr() callback, d_descr
   field, and HBA PCI ID fields.

  r237545 | ken | 2012-06-24 22:26:10 -0600 (Sun, 24 Jun 2012) | 7 lines

  Consume spare fields for the providergone pointers added to the g_class and
  g_geom structures in change 237518.  The original change would have broken
  the ABI.

  Suggested by: ae

  r237648 | ken | 2012-06-27 10:05:09 -0600 (Wed, 27 Jun 2012) | 6 lines

  In g_disk_providergone(), don't continue if the softc is NULL.  This may be
  the case if we've already gone through g_disk_destroy().

  Reported by: Michael Butler <imb@protected-networks.net>

git-svn-id: svn://svn.freebsd.org/base/stable/9@237873 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237624, r237714, r237716, r237860:
pfg [Sun, 1 Jul 2012 04:15:14 +0000 (04:15 +0000)]
MFC r237624, r237714, r237716, r237860:

Bring llquantize support into Dtrace.

Bryan Cantrill implemented the equivalent of semi-log graph
paper for Dtrace so llquantize will use one logarithmic and
one linear scale.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237870 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237178:
eadler [Sun, 1 Jul 2012 00:40:09 +0000 (00:40 +0000)]
MFC r237178:
attach_generic causes missing devices in /dev when the driver interacts with some non-highpoint controollers. Change attach_generic to be off by default.

PR: kern/168910
Approved by: cperciva (implicit)

git-svn-id: svn://svn.freebsd.org/base/stable/9@237861 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMerge r237645 from head:
gavin [Sat, 30 Jun 2012 20:22:20 +0000 (20:22 +0000)]
Merge r237645 from head:

  The -S option, to specify the sector size, has been usable on all types
  of memory disks since r135340.  Update the man page to reflect this.

Noticed by: avg

git-svn-id: svn://svn.freebsd.org/base/stable/9@237853 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237674
thompsa [Sat, 30 Jun 2012 18:57:55 +0000 (18:57 +0000)]
MFC r237674

 Update the usage with the new jail option.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237850 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r236503: free wdog_kern_pat calls in post-panic paths from under
avg [Sat, 30 Jun 2012 14:17:59 +0000 (14:17 +0000)]
MFC r236503: free wdog_kern_pat calls in post-panic paths from under
SW_WATCHDOG

git-svn-id: svn://svn.freebsd.org/base/stable/9@237839 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r236504: cpucontrol: use CPUCTL_UPDATE ioctl on correct file
avg [Sat, 30 Jun 2012 14:05:35 +0000 (14:05 +0000)]
MFC r236504: cpucontrol: use CPUCTL_UPDATE ioctl on correct file
descriptor (in amd case)

git-svn-id: svn://svn.freebsd.org/base/stable/9@237837 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237452:
ken [Fri, 29 Jun 2012 22:33:48 +0000 (22:33 +0000)]
MFC r237452:

  r237452 | ken | 2012-06-22 12:57:06 -0600 (Fri, 22 Jun 2012) | 25 lines

  Change 'camcontrol defects' to first probe a drive to find out how much
  defect information it has before grabbing the full defect list.

  This works around a bug with some Hitachi drives that generate data overrun
  errors when they are asked for more defect data than they have.

  The change is done in a spec-compliant way, so it should have no negative
  impact on drives that don't have this issue.

  This is based on work originally done at Sandvine.

  scsi_da.h: Add a define for the maximum amount of data that can be
   contained in a defect list.

  camcontrol.c: Update the readdefects() function to issue an initial
   command to determine the length of the defect list, and
   then use that length in the request for the full defect
   list.

  camcontrol.8: Add a note that some drives will report 0 defects available
   if you don't request either the PLIST or GLIST.

  Submitted by: Mark Johnston <markjdb@gmail.com> (original version)

git-svn-id: svn://svn.freebsd.org/base/stable/9@237828 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237328, except for the scsi_enc.c changes:
ken [Fri, 29 Jun 2012 22:28:31 +0000 (22:28 +0000)]
MFC r237328, except for the scsi_enc.c changes:

  r237328 | ken | 2012-06-20 11:08:00 -0600 (Wed, 20 Jun 2012) | 69 lines

  Fix several reference counting and object lifetime issues between
  the pass(4) and enc(4) drivers and devfs.

  The pass(4) driver uses the destroy_dev_sched() routine to
  schedule its device node for destruction in a separate thread
  context.  It does this because the passcleanup() routine can get
  called indirectly from the passclose() routine, and that would
  cause a deadlock if the close routine tried to destroy its own
  device node.

  In any case, once a particular passthrough driver number, e.g.
  pass3, is destroyed, CAM considers that unit number (3 in this
  case) available for reuse.

  The problem is that devfs may not be done cleaning up the previous
  instance of pass3, and will panic if isn't done cleaning up the
  previous instance.

  The solution is to get a callback from devfs when the device node
  is removed, and make sure we hold a reference to the peripheral
  until that happens.

  Testing exposed some other cases where we have reference counting
  issues, and those were also fixed in the pass(4) driver.

  cam_periph.c: In camperiphfree(), reorder some of the operations.

   The peripheral destructor needs to be called before
   the peripheral is removed from the peripheral is
   removed from the list.  This is because once we
   remove the peripheral from the list, and drop the
   topology lock, the peripheral number may be reused.
   But if the destructor hasn't been called yet, there
   may still be resources hanging around (like devfs
   nodes) that haven't been fully cleaned up.

  cam_xpt.c: Add an argument to xpt_remove_periph() to indicate
   whether the topology lock is already held.

  scsi_enc.c: Acquire an extra reference to the peripheral during
   registration, and release it once we get a callback
   from devfs indicating that the device node is gone.

   Call destroy_dev_sched_cb() in enc_oninvalidate()
   instead of calling destroy_dev() in the cleanup
   routine.

  scsi_pass.c: Add reference counting to handle peripheral and
   devfs object lifetime issues.

   Add a reference to the peripheral and the devfs
   node in the peripheral registration.

   Don't attempt to add a physical path alias if the
   peripheral has been marked invalid.

   Release the devfs reference once the initial
   physical path alias taskqueue run has completed.

   Schedule devfs node destruction in the
   passoninvalidate(), and release our peripheral
   reference in a new routine, passdevgonecb() once
   the devfs node is gone.  This allows the peripheral
   to fully go away, and the peripheral destructor,
   passcleanup(), will get called.

  Sponsored by: Spectra Logic

git-svn-id: svn://svn.freebsd.org/base/stable/9@237827 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r236138, with the exception of scsi_enc.c:
ken [Fri, 29 Jun 2012 22:00:30 +0000 (22:00 +0000)]
MFC r236138, with the exception of scsi_enc.c:

  r236138 | ken | 2012-05-27 00:11:09 -0600 (Sun, 27 May 2012) | 64 lines

  Work around a race condition in devfs by changing the way closes
  are handled in most CAM peripheral drivers that are not handled by
  GEOM's disk class.

  The usual character driver open and close semantics are that the
  driver gets N open calls, but only one close, when the last caller
  closes the device.

  CAM peripheral drivers expect that behavior to be honored to the
  letter, and the CAM peripheral driver code (specifically
  cam_periph_release_locked_busses()) panics if it is done incorrectly.

  Since devfs has to drop its locks while it calls a driver's close
  routine, and it does not have a way to delay or prevent open calls
  while it is calling the close routine, there is a race.

  The sequence of events, simplified a bit, is:

  - devfs acquires a lock
  - devfs checks the reference count, and if it is 1, continues to close.
  - devfs releases the lock

  - 2nd process open call on the device happens here

  - devfs calls the driver's close routine

  - devfs acquires a lock
  - devfs decrements the reference count
  - devfs releases the lock

  - 2nd process close call on the device happens here

  At the second close, we get a panic in
  cam_periph_release_locked_busses(), complaining that peripheral
  has been released when the reference count is already 0.  This is
  because we have gotten two closes in a row, which should not
  happen.

  The fix is to add the D_TRACKCLOSE flag to the driver's cdevsw, so
  that we get a close() call for each open().  That does happen
  reliably, so we can make sure that our reference counts are
  correct.

  Note that the sa(4) and pt(4) drivers only allow one context
  through the open routine.  So these drivers aren't exposed to the
  same race condition.

  scsi_ch.c,
  scsi_enc.c,
  scsi_enc_internal.h,
  scsi_pass.c,
  scsi_sg.c:
   For these drivers, change the open() routine to
   increment the reference count for every open, and
   just decrement the reference count in the close.

   Call cam_periph_release_locked() in some scenarios
   to avoid additional lock and unlock calls.

  scsi_pt.c: Call cam_periph_release_locked() in some scenarios
   to avoid additional lock and unlock calls.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237826 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237601:
ken [Fri, 29 Jun 2012 21:33:36 +0000 (21:33 +0000)]
MFC r237601:
  r237601 | ken | 2012-06-26 08:51:35 -0600 (Tue, 26 Jun 2012) | 38 lines

  Fix an issue that caused the kernel to panic inside CTL when trying
  to attach to target capable HBAs that implement the old immediate
  notify (XPT_IMMED_NOTIFY) and notify acknowledge (XPT_NOTIFY_ACK)
  CCBs.  The new API has been in place since SVN change 196008 in
  2009.

  The solution is two-fold:  fix CTL to handle the responses from the
  HBAs, and convert the HBA drivers in question to use the new API.

  These drivers have not been tested with CTL, so how well they will
  interoperate with CTL is unknown.

  scsi_target.c:Update the userland target example code to use the
   new immediate notify API.

  scsi_ctl.c: Detect when an immediate notify CCB is returned
   with CAM_REQ_INVALID or CAM_PROVIDE_FAIL status,
   and just free it.

   Fix a duplicate assignment.

  aic79xx.c,
  aic79xx_osm.c:Update the aic79xx driver to use the new API.
     Target mode is not enabled on for this driver, so
   the changes will have no practical effect.

  aic7xxx.c,
  aic7xxx_osm.c:Update the aic7xxx driver to use the new API.

  sbp_targ.c: Update the firewire target code to work with the
   new API.

  mpt_cam.c: Update the mpt(4) driver to work with the new API.
   Target mode is only enabled for Fibre Channel
   mpt(4) devices.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237825 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r233963:
ken [Fri, 29 Jun 2012 21:27:37 +0000 (21:27 +0000)]
MFC r233963:
  r233963 | ken | 2012-04-06 16:23:13 -0600 (Fri, 06 Apr 2012) | 27 lines

  Change the SCSI INQUIRY peripheral qualifier that CTL reports for LUNs
  that don't exist.

  Anecdotal evidence indicates that it is better to return 011b (bad LUN)
  than 001b (LUN offline).  However, this change also gives the user a
  sysctl/tunable, kern.cam.ctl.inquiry_pq_no_lun, to override the change
  and return to the previous behavior.  (The previous behavior was to
  return 001b, or LUN offline.)

  ctl.c: Change the default inquiry peripheral qualifier to 011b,
   and add a sysctl and tunable to allow the user to change
   it back to 001b if needed.

   Don't insert a Copan copyright statement in the inquiry
   data.  The copyright statements on the files are
   sufficient.

  ctl_private.h:Add sysctl variable context to the CTL softc.

  ctl_cmd_table.c,
  ctl_frontend_internal.c,
  ctl_frontend.c,
  ctl_backend.c,
  ctl_error.c: Include sys/sysctl.h.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237824 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC 235024,235029,235556,235834,235845:
jhb [Fri, 29 Jun 2012 21:24:56 +0000 (21:24 +0000)]
MFC 235024,235029,235556,235834,235845:
Use MADT to match ACPI Processor objects to CPUs.  MADT and DSDT/SSDTs may
list CPUs in different orders, especially for disabled logical cores.  Now
we match ACPI IDs from the MADT with Processor objects, strictly order CPUs
accordingly, and ignore disabled cores.  This prevents us from executing
methods for other CPUs, e. g., _PSS for disabled logical core, which may not
exist.  Unfortunately, it is known that there are a few systems with buggy
BIOSes that do not have unique ACPI IDs for MADT and Processor objects.  To
work around these problems, 'debug.acpi.cpu_unordered' tunable is added.
Set this to a non-zero value to restore the old behavior.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237822 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r232604:
ken [Fri, 29 Jun 2012 21:19:24 +0000 (21:19 +0000)]
MFC r232604:
  r232604 | trasz | 2012-03-06 06:43:57 -0700 (Tue, 06 Mar 2012) | 6 lines

  Add LUN resizing to CTL.  Also make it possible to explicitly set
  size when creating file-backed or device-backed LUN.

  Reviewed by:    ken (earlier version)
  Sponsored by:   The FreeBSD Foundation

git-svn-id: svn://svn.freebsd.org/base/stable/9@237821 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC: r236581
marius [Fri, 29 Jun 2012 18:39:22 +0000 (18:39 +0000)]
MFC: r236581

The loaddev environment variable is not modifiable once set, so it is not
update for ZFS. It seems that this does not really affect anything except
the help command. Nevertheless, rearrange things so loaddev is set only
once in all cases in order to get it right.
Pointed out by: avg

git-svn-id: svn://svn.freebsd.org/base/stable/9@237815 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r236810:
dim [Fri, 29 Jun 2012 18:18:51 +0000 (18:18 +0000)]
MFC r236810:

Amend r227797 by also passing ${STATIC_CXXFLAGS} for the other supported
C++ file extensions.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237814 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235281:
dim [Fri, 29 Jun 2012 18:09:39 +0000 (18:09 +0000)]
MFC r235281:

Fix sys/boot/i386/cdboot/cdboot.S compilation with clang after r235219.
This file uses .code16 directives, which are not yet supported by
clang's integrated assembler.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237812 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC 237337:
jhb [Fri, 29 Jun 2012 17:28:48 +0000 (17:28 +0000)]
MFC 237337:
Only output a list of file systems that need to be dumped if the system
has a non-empty dumpdates file.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237809 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC 233191:
jhb [Fri, 29 Jun 2012 17:21:19 +0000 (17:21 +0000)]
MFC 233191:
Fix madvise(MADV_WILLNEED) to properly handle individual mappings larger
than 4GB.  Specifically, the inlined version of 'ptoa' of the the 'int'
count of pages overflowed on 64-bit platforms.  While here, change
vm_object_madvise() to accept two vm_pindex_t parameters (start and end)
rather than a (start, count) tuple to match other VM APIs as suggested
by alc@.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237805 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC 237334:
jhb [Fri, 29 Jun 2012 17:12:03 +0000 (17:12 +0000)]
MFC 237334:
Move the per-thread deferred user map entries list into a private list
in vm_map_process_deferred() which is then iterated to release map entries.
This avoids having a nested vm map unlock operation called from the loop
body attempt to recuse into vm_map_process_deferred().  This can happen if
the vm_map_remove() triggers the OOM killer.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237803 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC 237008,237271,237272,237673:
jhb [Fri, 29 Jun 2012 16:29:38 +0000 (16:29 +0000)]
MFC 237008,237271,237272,237673:
- Fix a couple of bugs that prevented windows in PCI-PCI bridges from
  growing "downward" (moving the start address down).  First, an off by
  one error caused the end address to be moved down an extra alignment
  chunk unnecessarily.  Second, when aligning the new candidate starting
  address, the wrong bits were masked off.
- Add a 'wmask' variable to hold the expression '(1ul << w->step) - 1' in
  pcib_grow_window().
- For subtractively decoding bridges, don't try to grow windows but pass
  the request up the tree in order to be on the safe side. Growing windows
  in this case would mean to switch resources to positive decoding and
  it's unclear how to correctly handle this. At least with ALi/ULi M5249
  PCI-PCI bridges, this also just doesn't work out of the box.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237797 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC: r236592 r236593 r236594 r236620 r236621 r236622 r236637 r237794: filemon(4)
obrien [Fri, 29 Jun 2012 15:57:25 +0000 (15:57 +0000)]
MFC: r236592 r236593 r236594 r236620 r236621 r236622 r236637 r237794: filemon(4)

git-svn-id: svn://svn.freebsd.org/base/stable/9@237795 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC 236717:
jhb [Fri, 29 Jun 2012 15:30:14 +0000 (15:30 +0000)]
MFC 236717:
Teach procstat_get_shm_info_kvm() how to fetch the pathname of a SHM file
descriptor from a core and set it in fts->fs_path.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237792 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC 236577:
jhb [Fri, 29 Jun 2012 15:24:46 +0000 (15:24 +0000)]
MFC 236577:
Allow the -p argument to kdump to accept either a PID or a thread ID.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237789 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC: r237268
bapt [Fri, 29 Jun 2012 13:00:28 +0000 (13:00 +0000)]
MFC: r237268

early MFC to get this important bugfix into 9.1

Revert user comparison back to user names as some user can share uids (root/toor
for example)

get the username information from old_pw structures to still allow renaming of a
user.

Reported by: Claude Buisson <clbuisson@orange.fr>
Approved by: des (mentor)

git-svn-id: svn://svn.freebsd.org/base/stable/9@237778 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMerge r236364 from head by eri@:
glebius [Fri, 29 Jun 2012 12:11:31 +0000 (12:11 +0000)]
Merge r236364 from head by eri@:
  Correct table counter functionality to not panic.
  This was caused by not proper initialization of necessary parameters.

  PR: 168200
  Reviewed by: bz@, glebius@
  MFC after: 1 week

git-svn-id: svn://svn.freebsd.org/base/stable/9@237776 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC: r237219
pho [Fri, 29 Jun 2012 12:08:26 +0000 (12:08 +0000)]
MFC: r237219

In tty_makedev() the following construction:

dev = make_dev_cred();
dev->si_drv1 = tp;

leaves a small window where the newly created device may be opened
and si_drv1 is NULL.

As this is a vary rare situation, using a lock to close the window
seems overkill. Instead just wait for the assignment of si_drv1.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237775 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMerge r233773 from head:
glebius [Fri, 29 Jun 2012 12:05:19 +0000 (12:05 +0000)]
Merge r233773 from head:
  Historically arp(8) did a route lookup for the entry it is
  about to add, and failed if it exist and had invalid data
  link type.

  Later on, in r201282, this check morphed to other code, but
  message "proxy entry exists for non 802 device" still left,
  and now it is printed in a case if route prefix found is
  equal to current address being added. In other words, when
  we are trying to add ARP entry for a network address. The
  message is absolutely unrelated and disappointing in this
  case.

  I don't see anything bad with setting ARP entries for
  network addresses. While useless in usual network,
  in a /31 RFC3021 it may be necessary. This, remove this code.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237774 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237480
jhibbits [Fri, 29 Jun 2012 10:39:42 +0000 (10:39 +0000)]
MFC r237480

Release the ADB keyboard mutex when handling the power button
press/release.  Found by WITNESS.

Approved by: nwhitehorn (mentor)

git-svn-id: svn://svn.freebsd.org/base/stable/9@237773 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235390: zfs boot code: mark spa_t arguments as const where they are
avg [Fri, 29 Jun 2012 10:30:59 +0000 (10:30 +0000)]
MFC r235390: zfs boot code: mark spa_t arguments as const where they are
used as such

git-svn-id: svn://svn.freebsd.org/base/stable/9@237771 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235392,235394,235395: fixes and cleanups for zfs boot MFC
avg [Fri, 29 Jun 2012 10:28:46 +0000 (10:28 +0000)]
MFC r235392,235394,235395: fixes and cleanups for zfs boot MFC

git-svn-id: svn://svn.freebsd.org/base/stable/9@237770 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235330: zfs boot: try to set vfs.root.mountfrom from currdev as a
avg [Fri, 29 Jun 2012 10:22:20 +0000 (10:22 +0000)]
MFC r235330: zfs boot: try to set vfs.root.mountfrom from currdev as a
fallback

git-svn-id: svn://svn.freebsd.org/base/stable/9@237767 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235329,235343,235361,235364: zfsboot/zfsloader: support accessing
avg [Fri, 29 Jun 2012 10:19:15 +0000 (10:19 +0000)]
MFC r235329,235343,235361,235364: zfsboot/zfsloader: support accessing
filesystems within a pool

git-svn-id: svn://svn.freebsd.org/base/stable/9@237766 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235264: MFi386: improve argument passing via btxldr
avg [Fri, 29 Jun 2012 10:12:18 +0000 (10:12 +0000)]
MFC r235264: MFi386: improve argument passing via btxldr

git-svn-id: svn://svn.freebsd.org/base/stable/9@237763 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235219: cdboot, pxeldr: make use of bootargs.h instead of
avg [Fri, 29 Jun 2012 10:10:16 +0000 (10:10 +0000)]
MFC r235219: cdboot, pxeldr: make use of bootargs.h instead of
redefining flag constants

git-svn-id: svn://svn.freebsd.org/base/stable/9@237761 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235156: i386 zfsloader: rename LIBZFS to LIBZFSBOOT
avg [Fri, 29 Jun 2012 10:08:31 +0000 (10:08 +0000)]
MFC r235156: i386 zfsloader: rename LIBZFS to LIBZFSBOOT

git-svn-id: svn://svn.freebsd.org/base/stable/9@237760 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235155: i386 boot: consolidate MAXBDDEV definition
avg [Fri, 29 Jun 2012 10:06:37 +0000 (10:06 +0000)]
MFC r235155: i386 boot: consolidate MAXBDDEV definition

git-svn-id: svn://svn.freebsd.org/base/stable/9@237758 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235154,r235158: btxldr: future-proof argument passing from
avg [Fri, 29 Jun 2012 10:01:56 +0000 (10:01 +0000)]
MFC r235154,r235158: btxldr: future-proof argument passing from
boot1/2-ish to loader

git-svn-id: svn://svn.freebsd.org/base/stable/9@237756 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237430:
kib [Fri, 29 Jun 2012 09:41:09 +0000 (09:41 +0000)]
MFC r237430:
Reserve AT_TIMEKEEP auxv entry for providing usermode the pointer to
timekeeping information.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237753 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235153: sys/boot: add common CTASSERT definition
avg [Fri, 29 Jun 2012 09:17:49 +0000 (09:17 +0000)]
MFC r235153: sys/boot: add common CTASSERT definition

git-svn-id: svn://svn.freebsd.org/base/stable/9@237752 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237458:
mm [Fri, 29 Jun 2012 06:41:03 +0000 (06:41 +0000)]
MFC r237458:
Import Illumos revision 13736:9f1d48e1681f
2901 ZFS receive fails for exabyte sparse files

References:
https://www.illumos.org/issues/2901

Obtained from: illumos (issue #2901)

git-svn-id: svn://svn.freebsd.org/base/stable/9@237746 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMerge the firmware download functionality into camcontrol, as well as
scottl [Fri, 29 Jun 2012 03:37:23 +0000 (03:37 +0000)]
Merge the firmware download functionality into camcontrol, as well as
several other minor code changes.

Obtained from: Netflix, Inc.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237740 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237448:
pfg [Fri, 29 Jun 2012 03:01:38 +0000 (03:01 +0000)]
MFC r237448:

Merge changes from upstream libedit.

Here we update most of the files to at least match the
version available in NetBSD's snapshot of 20091228. This
version was chosen because it still doesn't include wide
character support (UTF-8), which involves many changes and
new files.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237738 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC 228161,230774,230822,236415:
jhb [Thu, 28 Jun 2012 21:24:09 +0000 (21:24 +0000)]
MFC 228161,230774,230822,236415:
Add a new -e flag to pciconf(8)'s list mode to display PCI error details.
Currently this dumps the status of any error bits in the PCI status register
and PCI-express device status register.  It also lists any errors indicated
by version 1 of PCI-express Advanced Error Reporting (AER).

git-svn-id: svn://svn.freebsd.org/base/stable/9@237731 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC 236405:
jhb [Thu, 28 Jun 2012 19:55:26 +0000 (19:55 +0000)]
MFC 236405:
Remove unnecessary initializations.  The BSS of boot2 is in fact
zero'd when boot2 begins execution by the _start() routine in btxcsu.S.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237727 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC 236404:
jhb [Thu, 28 Jun 2012 19:34:23 +0000 (19:34 +0000)]
MFC 236404:
Extend VERBOSE_SYSINIT to also print out the name of variables passed
to SYSINIT routines if they can be resolved via symbol look up in DDB.
To avoid false positives, only honor a name if the symbol resolves
exactly to the pointer value (no offset).

git-svn-id: svn://svn.freebsd.org/base/stable/9@237725 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC 235132:
jhb [Thu, 28 Jun 2012 18:52:33 +0000 (18:52 +0000)]
MFC 235132:
Display dropped transmit packets in the daily network interface output.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237721 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC 234494:
jhb [Thu, 28 Jun 2012 18:38:24 +0000 (18:38 +0000)]
MFC 234494:
Include the associated wait channel message for context switch ktrace
records.  kdump supports both the old and new messages.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237719 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoFix unbounded-length malloc, controlled from usermode. The added check
kib [Thu, 28 Jun 2012 14:26:55 +0000 (14:26 +0000)]
Fix unbounded-length malloc, controlled from usermode. The added check
is performed before exact size of the buffer is calculated, but the
buffer cannot have size greater then the total space allocated for
extended attributes. The existing check is executing with precise
size, but it is too late, since buffer needs to be allocated in
advance.

Also, adapt to uio_resid being of ssize_t type.  Use lblktosize instead of
multiplying by fs block size by hand as well.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237713 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237058:
kib [Thu, 28 Jun 2012 14:13:45 +0000 (14:13 +0000)]
MFC r237058:
Eliminate the static buffer used to read the first page of the mapped
object, and eliminate the pread(2) call as well. Mmap the first
page of the object temporaly, and unmap it on error or last use.
Potentially, this leaves one-page gap between succeeding dlopen(3),
but there are other mmap(2) consumers as well.

Fix several cases were the whole mapping of the object leaked on error.

Use MAP_PREFAULT_READ for mmap(2) calls which map real object pages

git-svn-id: svn://svn.freebsd.org/base/stable/9@237712 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237655:
wblock [Thu, 28 Jun 2012 13:10:36 +0000 (13:10 +0000)]
MFC r237655:

Point out that /usr/src, /usr/doc, and /usr/ports may be empty or not
exist until populated with csup(1) or svn(1).

PR: 169487
Submitted by: Moritz Wilhelmy

git-svn-id: svn://svn.freebsd.org/base/stable/9@237708 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237620:
wblock [Thu, 28 Jun 2012 13:04:55 +0000 (13:04 +0000)]
MFC r237620:

Use possessive "its", no apostrophe.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237706 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC: r237350, r237357
fjoe [Thu, 28 Jun 2012 11:15:48 +0000 (11:15 +0000)]
MFC: r237350, r237357

Add support for the following Moxa PCIe multiport serial boards:
- CP102E
- CP102EL
- CP114EL
- CP118EL-A
- CP168EL-A

git-svn-id: svn://svn.freebsd.org/base/stable/9@237703 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMerge head revisions 237393, 237409:
issyl0 [Thu, 28 Jun 2012 10:05:45 +0000 (10:05 +0000)]
Merge head revisions 237393, 237409:
  Locale-specific man page edits:
    - libc/string/strcoll.3
    - libc/string/strstr.3
    - libc/string/strxfrm.3
    - libc/string/strcasecmp.3
    - libc/string/Makefile.inc

Approved by: gabor (mentor)

git-svn-id: svn://svn.freebsd.org/base/stable/9@237699 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC 236028, 236185, 236972
gabor [Thu, 28 Jun 2012 09:18:11 +0000 (09:18 +0000)]
MFC 236028, 236185, 236972

- Add support for BSD iconv when it is built into libc

git-svn-id: svn://svn.freebsd.org/base/stable/9@237698 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237410: zlib 1.2.7.
delphij [Thu, 28 Jun 2012 07:08:48 +0000 (07:08 +0000)]
MFC r237410: zlib 1.2.7.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237691 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237406:
pfg [Thu, 28 Jun 2012 01:02:50 +0000 (01:02 +0000)]
MFC r237406:

Bring a couple of fixes for gcc optimizations.

The GCC4.3 branch contains some optimization fixes
that were not considered regressions and therefore
were never backported. We are bringing a couple of
them that are under GPLv2 since they were made
before the license switch upstream.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237678 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r235870
thompsa [Wed, 27 Jun 2012 22:11:31 +0000 (22:11 +0000)]
MFC r235870

 Allow the socket list to be limited to a specific jail id.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237671 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r236178
thompsa [Wed, 27 Jun 2012 22:09:04 +0000 (22:09 +0000)]
MFC r236178

 if_lagg: allow to invoke SIOCSLAGGPORT multiple times in a row

git-svn-id: svn://svn.freebsd.org/base/stable/9@237670 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r236062
thompsa [Wed, 27 Jun 2012 22:06:42 +0000 (22:06 +0000)]
MFC r236062

 Turn LACP debugging from a compile time option to a sysctl, it is very handy to
 be able to turn it on when negotiation to a switch misbehaves.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237669 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC: r237025
jkim [Wed, 27 Jun 2012 21:18:47 +0000 (21:18 +0000)]
MFC: r237025

Add a convenience macro for the fastcall attribute.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237665 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC 233925,236357:
jhb [Wed, 27 Jun 2012 21:12:15 +0000 (21:12 +0000)]
MFC 233925,236357:
Add new ktrace records for the start and end of VM faults.  This gives
a pair of records similar to syscall entry and return that a user can
use to determine how long page faults take.  The new ktrace records are
enabled via the 'p' trace type, but are not enabled in the default set of
trace points.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237663 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMerge r237411 from head (originally by emast):
gavin [Wed, 27 Jun 2012 21:05:21 +0000 (21:05 +0000)]
Merge r237411 from head (originally by emast):

  Add PCI IDs for Ivy Bridge

Requested by: emaste

git-svn-id: svn://svn.freebsd.org/base/stable/9@237662 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r236823 (pjd):
mm [Wed, 27 Jun 2012 11:59:57 +0000 (11:59 +0000)]
MFC r236823 (pjd):

ds_guid of 0 is special, as it is used by snapshot receive code to
differentiate between an incremental and full stream.
Be sure not to generate guid equal to 0.

Reported by: someone who saw 0 being generated as 64bit random guid

git-svn-id: svn://svn.freebsd.org/base/stable/9@237643 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237401:
mav [Wed, 27 Jun 2012 11:07:01 +0000 (11:07 +0000)]
MFC r237401:
Make cam_periph_hold() behavior consistent: drop taken reference and
return ENXIO if periph was invalidated while we were waiting for it.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237639 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237398:
mav [Wed, 27 Jun 2012 11:02:35 +0000 (11:02 +0000)]
MFC r237398:
In camisr() clear CAM_SIM_ON_DONEQ flag after camisr_runqueue() purged SIM
done queue. Clearing it before caused extra SIM queueing in some cases.
It was invisible during normal operation, but during USB device unplug and
respective SIM destruction it could keep pointer on SIM without having
counted reference and as result crash the system by use afer free.

PR: usb/168743

git-svn-id: svn://svn.freebsd.org/base/stable/9@237637 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237286, r237523:
eadler [Wed, 27 Jun 2012 06:40:59 +0000 (06:40 +0000)]
MFC r237286, r237523:
Don't close an uninitialized descriptor.

PR: bin/167302
Approved by: cperciva (implicit)

git-svn-id: svn://svn.freebsd.org/base/stable/9@237632 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r236214
alc [Wed, 27 Jun 2012 05:38:39 +0000 (05:38 +0000)]
MFC r236214
  Replace all uses of the vm page queues lock by a r/w lock that is private
  to this pmap.c.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237627 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237339:
delphij [Wed, 27 Jun 2012 00:31:30 +0000 (00:31 +0000)]
MFC r237339:

Polish previous revision: if the fts_* routines have lstat()'ed the
directory entry then use the struct stat from that instead of doing
it again, and skip the rm_overwrite() call if fts_read() indicated
that the entry couldn't be a regular file.

Obtained from: OpenBSD

MFC r237284 (kevlo):

Fix potential symlink race condition in "rm -P" by adding a check
that the file we have opened is the one we expected.  Also open in
non-blocking mode to avoid a potential hang with FIFOs.

Obtained from: NetBSD via OpenBSD

git-svn-id: svn://svn.freebsd.org/base/stable/9@237615 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC 237494:
iwasaki [Tue, 26 Jun 2012 15:30:35 +0000 (15:30 +0000)]
MFC 237494:

- Add description about dev.acpi_ibm.0.handlerevents.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237603 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC 237493:
iwasaki [Tue, 26 Jun 2012 15:29:38 +0000 (15:29 +0000)]
MFC 237493:

- Add in-driver event handler.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237602 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237484:
kib [Tue, 26 Jun 2012 10:32:09 +0000 (10:32 +0000)]
MFC r237484:
Correct device id for GPU on some server SandyBridge model.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237594 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237259 r237260 r237329:
eadler [Tue, 26 Jun 2012 03:05:17 +0000 (03:05 +0000)]
MFC r237259 r237260 r237329:
Allow users with RO privilege to the device to read the RO attributes. [0]
Add __unused macros to appropriate places in order to allow building
with WARNS=6 on base gcc, gcc46, and clang

PR: bin/167302 [0]
Approved by: cperciva (implicit)

git-svn-id: svn://svn.freebsd.org/base/stable/9@237589 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r225808:
wblock [Mon, 25 Jun 2012 23:39:35 +0000 (23:39 +0000)]
MFC r225808:

Fix grammar.

PR: 140457
Submitted by: jeremyhu AT apple.com
Approved by: gjb (mentor)

git-svn-id: svn://svn.freebsd.org/base/stable/9@237584 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237243:
kib [Mon, 25 Jun 2012 09:41:47 +0000 (09:41 +0000)]
MFC r237243:
Adjust the fix in r236953, by not generating the signal manually, but
performing the return to usermode using full return path.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237559 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r236997:
fabient [Mon, 25 Jun 2012 07:56:23 +0000 (07:56 +0000)]
MFC r236997:
Add ARM callchain support for hwpmc.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237556 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237295:
fabient [Mon, 25 Jun 2012 07:33:54 +0000 (07:33 +0000)]
MFC r237295:
Fix viawd(4) that was only working as a module.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237554 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237322:
fabient [Mon, 25 Jun 2012 07:27:31 +0000 (07:27 +0000)]
MFC r237322:
Allow booting XENHVM kernel without Xen hypervisor.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237552 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237460:
mav [Mon, 25 Jun 2012 07:09:36 +0000 (07:09 +0000)]
MFC r237460:
Return CAM_SEL_TIMEOUT and CAM_DEV_NOT_THERE instead of CAM_TID_INVALID
and CAM_LUN_INVALID for case of missing devices. In removes tons of error
messages from CAM during bus scans.

Reported and tested by: Mike Tancsa <mike@sentex.net>

git-svn-id: svn://svn.freebsd.org/base/stable/9@237549 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237446:
mav [Mon, 25 Jun 2012 07:06:58 +0000 (07:06 +0000)]
MFC r237446:
Don't print SCSI Queue Full and CAM_REQUEUE_REQ statuses as errors if they
were handled and retried. They are part of normal operation for SCSI TCQ.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237548 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC: r237244
rmacklem [Mon, 25 Jun 2012 01:48:18 +0000 (01:48 +0000)]
MFC: r237244
Fix the NFSv4 client for the case where mmap'd files are
written, but not msync'd by a process. A VOP_PUTPAGES()
called when VOP_RECLAIM() happens will usually fail, since
the NFSv4 Open has already been closed by VOP_INACTIVE().
Add a vm_object_page_clean() call to the NFSv4 client's
VOP_INACTIVE(), so that the write happens before the NFSv4
Open is closed. kib@ suggested using vgone() instead and
I will explore this, but this patch fixes things in the
meantime. For some reason, the VOP_PUTPAGES() is still
attaempted in VOP_RECLAIM(), but having this fail doesn't
cause any problems except a "stateid0 in write" being logged.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237543 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agopartial MFC. Mostly, do not build clang when initializing picobsd
luigi [Sun, 24 Jun 2012 17:02:28 +0000 (17:02 +0000)]
partial MFC. Mostly, do not build clang when initializing picobsd

git-svn-id: svn://svn.freebsd.org/base/stable/9@237536 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC: r237200
rmacklem [Sun, 24 Jun 2012 13:39:41 +0000 (13:39 +0000)]
MFC: r237200
Move the nfsrpc_close() call in ncl_reclaim() for the NFSv4 client
to below the vnode_destroy_vobject() call, since that is where
writes are flushed.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237534 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

11 years agoMFC r237225:
mav [Sun, 24 Jun 2012 09:41:27 +0000 (09:41 +0000)]
MFC r237225:
Remove never used CD/DA_FLAG_TAGGED_QUEUING flags.

git-svn-id: svn://svn.freebsd.org/base/stable/9@237532 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r235251:
eadler [Sat, 23 Jun 2012 21:29:53 +0000 (21:29 +0000)]
MFC r235251:
Add Spanish Dvorak keyboard model to syscons.

PR: conf/160235
Approved by: cperciva (implicit)

git-svn-id: svn://svn.freebsd.org/base/stable/9@237511 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC: r236829
pfg [Sat, 23 Jun 2012 20:33:29 +0000 (20:33 +0000)]
MFC: r236829

Bring a couple of libstdc++ patches from Apple's llvm-gcc project.

Modified Fri Jul 10 07:44:34 2009 CDT by rafael
backport part of
http://gcc.gnu.org/ml/gcc-cvs/2007-10/msg00118.html

The patch is for libstdc++ and it was GPL2 at the time.

Modified Tue Apr 29 01:20:19 2008 CDT by asl
Backport from mainline (pre-GPLv3).
Fix for sizeof(const void*) > sizeof(unsigned long).

git-svn-id: svn://svn.freebsd.org/base/stable/9@237507 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMake newfs(8) display "super-block backups (for fsck_ffs -b #)" instead
trasz [Sat, 23 Jun 2012 19:46:07 +0000 (19:46 +0000)]
Make newfs(8) display "super-block backups (for fsck_ffs -b #)" instead
of super-block backups (for fsck -b #), since fsck(8) doesn't accept
the "-b" option; only fsck_ffs(8) does.

PR: bin/82720
MFC after: 1 week

git-svn-id: svn://svn.freebsd.org/base/stable/9@237505 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f

12 years agoMFC r231992:
eadler [Sat, 23 Jun 2012 19:42:06 +0000 (19:42 +0000)]
MFC r231992:
Remove reference to gsched_as module, which doesn't
actually exist.

Approved by: cperciva (implicit)

git-svn-id: svn://svn.freebsd.org/base/stable/9@237504 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f