]> CyberLeo.Net >> Repos - FreeBSD/stable/8.git/log
FreeBSD/stable/8.git
12 years agoMFC: r230345
rmacklem [Fri, 3 Feb 2012 03:41:43 +0000 (03:41 +0000)]
MFC: r230345
Martin Cracauer reported a problem to freebsd-current@ under the
subject "Data corruption over NFS in -current". During investigation
of this, I came across an ugly bogusity in the new NFS client where
it replaced the cr_uid with the one used for the mount. This was
done so that "system operations" like the NFSv4 Renew would be
performed as the user that did the mount. However, if any other
thread shares the credential with the one doing this operation,
it could do an RPC (or just about anything else) as the wrong cr_uid.
This patch fixes the above, by using the mount credentials instead of
the one provided as an argument for this case. It appears
to have fixed Martin's problem.
This patch is needed for NFSv4 mounts and NFSv3 mounts against
some non-FreeBSD servers that do not put post operation attributes
in the NFSv3 Statfs RPC reply.

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

12 years agoMFC of the latest ixgbe driver.
jfv [Fri, 3 Feb 2012 01:36:02 +0000 (01:36 +0000)]
MFC of the latest ixgbe driver.

Revisions included:
209602,209603,209607,209609,209622,215911,
215913,215914,215924,217129,217556,222588,
222592,225405,229767,230329,230775,230790

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

12 years agoMFC 230592:
ken [Thu, 2 Feb 2012 19:03:29 +0000 (19:03 +0000)]
MFC 230592:

Bring in the LSI-supported version of the mps(4) driver.

This involves significant changes to the mps(4) driver, but is not a
complete rewrite.

Some of the changes in this version of the driver:
 - Integrated RAID (IR) support.
 - Support for WarpDrive controllers.
 - Support for SCSI protection information (EEDP).
 - Support for TLR (Transport Level Retries), needed for tape drives.
 - Improved error recovery code.
 - ioctl interface compatible with LSI utilities.

mps.4: Update the mps(4) driver man page somewhat for the driver
changes.  The list of supported hardware still needs to be
updated to reflect the full list of supported cards.

conf/files: Add the new driver files.

mps/mpi/*: Updated version of the MPI header files, with a BSD style
copyright.

mps/*: See above for a description of the new driver features.

modules/mps/Makefile:
Add the new mps(4) driver files.

Submitted by: Kashyap Desai <Kashyap.Desai@lsi.com>
Sponsored by: LSI, Spectra Logic
Reviewed by: ken

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

12 years agoMFC r230783:
kib [Thu, 2 Feb 2012 06:39:33 +0000 (06:39 +0000)]
MFC r230783:
Add definition for PT_GNU_RELRO.

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

12 years agoMFC: r230664
marius [Wed, 1 Feb 2012 21:28:16 +0000 (21:28 +0000)]
MFC: r230664

As it turns out r227960 (MFC'ed to stable/8 in r228145) may still be
insufficient with PREEMPTION so try harder to get the CDMA sync
interrupt delivered and also in a more efficient way:
- wrap the whole process of sending and receiving the CDMA sync
  interrupt in a critical section so we don't get preempted,
- send the CDMA sync interrupt to the CPU that is actually waiting
  for it to happen so we don't take a detour via another CPU,
- instead of waiting for up to 15 seconds for the interrupt to
  trigger try the whole process for up to 15 times using a one
  second timeout (the code was also changed to just ignore belated
  interrupts of a previous tries should they appear).

According to testing done by Peter Jeremy with the debugging also
added as part of this commit the first two changes apparently are
sufficient to now properly get the CDMA sync interrupts delivered
at the first try though.

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

12 years agoMFC: r230662
marius [Wed, 1 Feb 2012 21:24:06 +0000 (21:24 +0000)]
MFC: r230662

Fully disable interrupts while we fiddle with the FP context in the
VIS-based block copy/zero implementations. While with 4BSD it's
sufficient to just disable the tick interrupts, with ULE+PREEMPTION
it's otherwise also possible that these are preempted via IPIs.

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

12 years agoMFC: r230633, r230634
marius [Wed, 1 Feb 2012 21:19:54 +0000 (21:19 +0000)]
MFC: r230633, r230634

Now that we have a working OF_printf() since r230631 and a OF_panic()
helper since r230632 (MFC'ed to stable/8 in r230885 and r230887
respectively), use these for output and panicing during the early
cycles and move cninit() until after the static per-CPU data has
been set up. This solves a couple of issue regarding the non-
availability of the static per-CPU data:
- panic() not working and only making things worse when called,
- having to supply a special DELAY() implementation to the low-level
  console drivers,
- curthread accesses of mutex(9) usage in low-level console drivers
  that aren't conditional due to compiler optimizations (basically,
  this is the problem described in r227537 but in this case for
  keyboards attached via uart(4)). [1]

PR: 164123 [1]

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

12 years agoMFC: r230628
marius [Wed, 1 Feb 2012 21:15:27 +0000 (21:15 +0000)]
MFC: r230628

Mark cpu_{halt,reset}() as __dead2 as appropriate.

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

12 years agoMFC: r230632
marius [Wed, 1 Feb 2012 21:14:07 +0000 (21:14 +0000)]
MFC: r230632

- Now that we have a working OF_printf() since r230631 (MFC'ed to stable/8
  in r230885), use it for implementing a simple OF_panic() that may be used
  during the early cycles when panic() isn't available, yet.
- Mark cpu_{exit,shutdown}() as __dead2 as appropriate.

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

12 years agoMFC: r230631
marius [Wed, 1 Feb 2012 21:11:09 +0000 (21:11 +0000)]
MFC: r230631

Implement OF_printf() using kvprintf() directly, avoiding to use a
buffer and allowing to handle newlines properly.

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

12 years agoMFC: r230630
marius [Wed, 1 Feb 2012 21:10:00 +0000 (21:10 +0000)]
MFC: r230630

For machines where the kernel address space is unrestricted increase
VM_KMEM_SIZE_SCALE to 2, awaiting more insight from alc@. As it turns
out, the VM apparently has problems with machines that have large holes
in the physical address space, causing the kmem_suballoc() call in
kmeminit() to fail with a VM_KMEM_SIZE_SCALE of 1. Using a value of 2
allows these, namely Blade 1500 with 2GB of RAM, to boot.

PR: 164227

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

12 years agoMFC: r230627
marius [Wed, 1 Feb 2012 21:08:35 +0000 (21:08 +0000)]
MFC: r230627

Using ATA_CAM along with ATAPI DMA causes data corruption with ALI_NEW
and CMD controllers for reasons unknown so disable it.

PR: 164226

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

12 years agoMFC r228820, r228851:
mav [Wed, 1 Feb 2012 18:05:54 +0000 (18:05 +0000)]
MFC r228820, r228851:
Merge to da driver quirks hinting 4K physical sector sizes for SATA disks
connected via SAS or USB. Unluckily I've found that SAS (mps) and USB-SATA
I have translate models in different ways, requiring twice more quirks.
Unluckily for Hitachi, their model names are trimmed on SAS, making
impossible to identify 4K sector drives that way.

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

12 years agoRevert r230854 as the change does not apply to stable/8.
emaste [Wed, 1 Feb 2012 01:36:46 +0000 (01:36 +0000)]
Revert r230854 as the change does not apply to stable/8.

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

12 years agoMFC r230293:
emaste [Wed, 1 Feb 2012 01:28:35 +0000 (01:28 +0000)]
MFC r230293:

  Add missing line continuation \.  It did not cause any issue because
  the same path is already being included in ../Makefile.inc.

  PR:           164192
  Submitted by: Devin Teske <dteske vicor com>

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

12 years ago- Hook up VTOC8 geometry adjustments.
marius [Tue, 31 Jan 2012 23:24:46 +0000 (23:24 +0000)]
- Hook up VTOC8 geometry adjustments.
- Remove some unused externs.

This is a direct commit to stable/8 in order to unbreak the build with
r230666 in place.

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

12 years agoAdd more sparc64 compatibility macros for the shared loader.
marius [Tue, 31 Jan 2012 23:20:14 +0000 (23:20 +0000)]
Add more sparc64 compatibility macros for the shared loader.
This is a direct commit to stable/8 in order to unbreak the build with
r224370 in place.

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

12 years agoMFC: 230000, 230544
ken [Tue, 31 Jan 2012 23:09:27 +0000 (23:09 +0000)]
MFC: 230000, 230544

Fix a race condition in CAM peripheral free handling, locking
in the CAM XPT bus traversal code, and a number of other periph level
issues.

  r230544 | ken | 2012-01-25 10:58:47 -0700 (Wed, 25 Jan 2012) | 9 lines

  Fix a bug introduced in r230000.  We were eliminating all LUNs on a target
  in response to CAM_DEV_NOT_THERE, instead of just the LUN in question.

  This will now just eliminate the specified LUN in response to
  CAM_DEV_NOT_THERE.

  Reported by: Richard Todd <rmtodd@servalan.servalan.com>

  r230000 | ken | 2012-01-11 17:41:48 -0700 (Wed, 11 Jan 2012) | 72 lines

  Fix a race condition in CAM peripheral free handling, locking
  in the CAM XPT bus traversal code, and a number of other periph level
  issues.

  cam_periph.h,
  cam_periph.c: Modify cam_periph_acquire() to test the CAM_PERIPH_INVALID
   flag prior to allowing a reference count to be gained
   on a peripheral.  Callers of this function will receive
   CAM_REQ_CMP_ERR status in the situation of attempting to
   reference an invalidated periph.  This guarantees that
   a peripheral scheduled for a deferred free will not
   be accessed during its wait for destruction.

   Panic during attempts to drop a reference count on
   a peripheral that already has a zero reference count.

   In cam_periph_list(), use a local sbuf with SBUF_FIXEDLEN
   set so that mallocs do not occur while the xpt topology
   lock is held, regardless of the allocation policy of the
   passed in sbuf.

   Add a new routine, cam_periph_release_locked_buses(),
   that can be called when the caller already holds
   the CAM topology lock.

   Add some extra debugging for duplicate peripheral
   allocations in cam_periph_alloc().

   Treat CAM_DEV_NOT_THERE much the same as a selection
   timeout (AC_LOST_DEVICE is emitted), but forgo retries.

  cam_xpt.c: Revamp the way the EDT traversal code does locking
   and reference counting.  This was broken, since it
   assumed that the EDT would not change during
   traversal, but that assumption is no longer valid.

   So, to prevent devices from going away while we
   traverse the EDT, make sure we properly lock
   everything and hold references on devices that
   we are using.

   The two peripheral driver traversal routines should
   be examined.  xptpdperiphtraverse() holds the
   topology lock for the entire time it runs.
   xptperiphtraverse() is now locked properly, but
   only holds the topology lock while it is traversing
   the list, and not while the traversal function is
   running.

   The bus locking code in xptbustraverse() should
   also be revisited at a later time, since it is
   complex and should probably be simplified.

  scsi_da.c: Pay attention to the return value from cam_periph_acquire().

   Return 0 always from daclose() even if the disk is now gone.

   Add some rudimentary error injection support.

  scsi_sg.c: Fix reference counting in the sg(4) driver.

   The sg driver was calling cam_periph_release() on close,
   but never called cam_periph_acquire() (which increments
   the reference count) on open.

   The periph code correctly complained that the sg(4)
   driver was trying to decrement the refcount when it
   was already 0.

  Sponsored by: Spectra Logic

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

12 years agoMFC of e1000 drivers
jfv [Tue, 31 Jan 2012 22:47:10 +0000 (22:47 +0000)]
MFC of e1000 drivers

The following revs are merged:
212303,212304,213234,214363,214441,217556,219902,221505,
223676,226436,227309,228386,228387,228405,228415,228788,
228803,229606,229767,230023,230024,230742

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

12 years agoMFC 226828: Fix a memory leak in tzload().
jhb [Tue, 31 Jan 2012 19:07:08 +0000 (19:07 +0000)]
MFC 226828: Fix a memory leak in tzload().

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

12 years agoMFC r225708 into stable/8:
gibbs [Tue, 31 Jan 2012 18:13:49 +0000 (18:13 +0000)]
MFC r225708 into stable/8:

Modify the netfront driver so it can successfully attach to
PV devices with the ioemu attribute set.

sys/dev/xen/netfront/netfront.c:
o If a mac address for the interface cannot be found
  in the front-side XenStore tree, look for an entry
  in the back-side tree.  With ioemu devices, the
  emulator does not populate the front side tree and
  neither does Xend.
o Return an error rather than panic when an attach
  attempt fails.

Reported by: Janne Snabb (fix inspired by patch provided)
PR: kern/154302

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

12 years agoMFC r217314 (ae):
wblock [Tue, 31 Jan 2012 01:43:03 +0000 (01:43 +0000)]
MFC r217314 (ae):
Fix up the grammar.

MFC r217342 (maxim):
o Typo fixes.

MFC r217343 (maxim):
o Start each sentence on a new line.  No content changes.

MFC r222359 (ae):
Add example how to create MBR and BSD schemes and install boot code.

MFC r222495 (ae):
Document kern.geom.part.check_integrity sysctl variable.

MFC r222599 (uqs):
mdoc: fix markup

MFC r222646 (ru):
Generally clean up markup.

MFC r222778 (gavin):
Rework parts of this man page to improve grammar.

MFC r225003 (ae):
Add new section "BOOTSTRAPPING" to the gpart(8), that describes
bootstrap code images used to boot from MBR, GPT, BSD and VTOC8
schemes.

MFC r227774:
Add a section that explicitly describes partitioning schemes.  Modify
existing sections to refer to the new one.  Rearrange partitioning scheme
list so MBR and EBR types are together.  Also add several corrections for
grammar, clarity, and consistency.

MFC r227777:
Fix date.

MFC r227800:
Correct and expand BSD partitioning scheme description.
Correct GUID to GPT in RECOVERING section.

MFC r229838:
Clarity improvements.

MFC r229847:
Whitespace-only fix.

Approved by: gjb (mentor)

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

12 years agoMFC r217071 and r217213:
dougb [Tue, 31 Jan 2012 00:49:04 +0000 (00:49 +0000)]
MFC r217071 and r217213:

Make the setting of the BIND CFLAG -DWORDS_BIGENDIAN conditional on the
TARGET_ENDIANNESS knob from bsd.endian.mk so that we can avoid having to
special-case each arch.

MFC r224093 (in part):

Stop claiming that we support atomic ops except on arches where we know
that they work. Many users have reported problems on the other arches,
so until they can get fixed we'll take the safe route.

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

12 years agoMFC r230613:
pluknet [Mon, 30 Jan 2012 12:29:51 +0000 (12:29 +0000)]
MFC r230613:
Remove a left-over reference to make.conf(5) for now-defunct -DVM_STACK

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

12 years agoMFC r230531: Remove unused variable.
pluknet [Mon, 30 Jan 2012 12:13:50 +0000 (12:13 +0000)]
MFC r230531: Remove unused variable.

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

12 years agoMFC r230064:
truckman [Mon, 30 Jan 2012 07:23:53 +0000 (07:23 +0000)]
MFC r230064:

Allow an MBR primary or extended Linux swap partition to be specified
as the system dump device.  This was already allowed for GPT.  The Linux
swap metadata at the beginning of the partition should not be disturbed
because the crash dump is written at the end.

Reviewed by: alfred, pjd, marcel

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

12 years agoMFC r230101:
mckusick [Mon, 30 Jan 2012 05:45:11 +0000 (05:45 +0000)]
MFC r230101:

Convert FFS mount error messages from kernel printf's to using the
vfs_mount_error error message facility provided by the nmount
interface.

Clean up formatting of mount warnings which still need to use
kernel printf's since they do not return errors.

Requested by: Craig Rodrigues <rodrigc@crodrigues.org>

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

12 years agoMFC r228268:
trociny [Sun, 29 Jan 2012 21:58:18 +0000 (21:58 +0000)]
MFC r228268:

Protect process environment variables with p_candebug().

Discussed with: jilles, kib, rwatson

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

12 years agoMFC: r204556
marius [Sun, 29 Jan 2012 15:00:31 +0000 (15:00 +0000)]
MFC: r204556

Update a comment to reflect reality and explain why we're using the
medany code model.

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

12 years agoMFC: r204556
marius [Sun, 29 Jan 2012 14:58:54 +0000 (14:58 +0000)]
MFC: r204556

Move csup away from contrib/ and into usr.bin/. Software is no longer
contributed, and main development is happening in the FreeBSD repo.

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

12 years agoo MFC: r204556, r204628
marius [Sun, 29 Jan 2012 14:55:38 +0000 (14:55 +0000)]
o MFC: r204556, r204628

  Move csup away from contrib/ and into usr.bin/. Software is no longer
  contributed, and main development is happening in the FreeBSD repo.

o MFC: r204558

  Unmark authentication support as a TODO item.

o MFC: r204629

  Remove unused include path.

o MFC: r204639

  Include CURDIR in case the makefile is not run from the same directory.

o MFC: r204664

  Fix spelling.

o MFC: r206621

  Add and expand $FreeBSD$ keyword to allow committing to this file.

o MFC: r206622 (partial)

  mdoc: order prologue macros consistently by Dd/Dt/Os

  Although groff_mdoc(7) gives another impression, this is the ordering
  most widely used and also required by mdocml/mandoc.

o MFC: r208291 (partial)

  mdoc: consistently spell our email addresses <foo@FreeBSD.org>

o MFC: r210874

  Don't point users at the old csup homepage.

o MFC: r213300

  If an RCS file is truncated, rcsfile_getdelta() will return NULL.  Instead
  of faulting, check for NULL.  However, returning an error would cause csup
  to just abort the entire update.  Instead, break out of the loop and
  return ok.  The attempts to update the file will trigger a MD5 failure which
  will cause csup to download the entire file as a fixup.

o MFC: r213573 (partial)

  mdoc: drop redundant .Pp and .LP calls

  They have no effect when coming in pairs, or before .Bl/.Bd

o MFC: r216370 (partial)

  Remove the advertising clause from UCB copyrighted files in usr.bin.  This
  is in accordance with the information provided at
  ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change

  Also add $FreeBSD$ to a few files to keep svn happy.

o MFC: r216542

  Signal that data should not be modified.

o MFC: r217858

  Remove dead code.

o MFC: r225535

  Fix csup to allow case insensitive server names in the auth file,
  just as advertised in the manpage.

  PR: 158652

o MFC: r225536

  Fix typos in error messages.

o MFC: r225979

  Update the comment to reflect what is actually going on.

o MFC: r225980

  Handle the situation where fixups_close() has been called but more fixups
  are still available on the queue.

o MFC: r228625

  In usr.bin/csup/auth.c, use the correct number of bytes for zeroing the
  shared secret, and use long long format to snprintf a time_t.

o MFC: r228626

  In usr.bin/csup/proto.c, use the correct printf length modifier to print
  an off_t.

o MFC: r228667

  In usr.bin/csup/auth.c, cast time_t to intmax_t instead, and use the
  corresponding printf length modifier.

o MFC: r228857

  On FreeBSD just use the MD5 implementation of libmd rather than that of
  libcrypto so we don't need to relinquish csup when world is built without
  OpenSSL.

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

12 years agoMFC: r228211
marius [Sun, 29 Jan 2012 12:58:07 +0000 (12:58 +0000)]
MFC: r228211

It doesn't make much sense to check whether child is NULL after already
having dereferenced it. We either should generally check the device_t's
supplied to bus functions before using them (which we seem to virtually
never do) or just assume that they are not NULL.
While at it make this code fit 78 columns.

Found with: Coverity Prevent(tm)
CID: 4230

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

12 years agoMFC: r228209
marius [Sun, 29 Jan 2012 12:56:21 +0000 (12:56 +0000)]
MFC: r228209

- In device_probe_child(9) check the return value of device_set_driver(9)
  when actually setting a driver as especially ENOMEM is fatal in these
  cases.
- Annotate other calls to device_set_devclass(9) and device_set_driver(9)
  without the return value being checked and that are okay to fail.

Reviewed by: yongari (slightly earlier version)

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

12 years agoMFC: r228027
marius [Sun, 29 Jan 2012 12:54:36 +0000 (12:54 +0000)]
MFC: r228027

Move the scsi_da_bios_params() prototype from pc98_machdep.h to md_var.h
where the prototype for pc98_ata_disk_firmware_geom_adjust() also lives
in order to avoid an #ifdef'ed include in cam(4).

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

12 years agoMFC: r228024
marius [Sun, 29 Jan 2012 12:52:36 +0000 (12:52 +0000)]
MFC: r228024

Update comment.

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

12 years agoMFC: r228005
marius [Sun, 29 Jan 2012 12:49:43 +0000 (12:49 +0000)]
MFC: r228005

Change another instance of amd(4) to esp(4) missed in r227006 (MFC'ed to
stable/8 in r227306).

Submitted by: Garrett Cooper

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

12 years agoMFC r230449:
mm [Sun, 29 Jan 2012 12:26:09 +0000 (12:26 +0000)]
MFC r230449:
Merge illumos revisions 13540, 13562:

illumos rev 13540 [1]:
Removal of pyzfs broke delegation for volumes

illumos rev 13562 [2]:
zfs allow arguments not parsed correctly after pyzfs removal

References:
https://www.illumos.org/issues/1726 [1]
https://www.illumos.org/issues/1977 [2]

Obtained from: illumos (issues #1726, #1977)

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

12 years agoMFC r229002:
dumbbell [Sun, 29 Jan 2012 11:00:00 +0000 (11:00 +0000)]
MFC r229002:
Set svn:executable on dhclient-script

Sponsored by: Yakaz (http://www.yakaz.com)

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

12 years agoMFC r230460:
kib [Sun, 29 Jan 2012 04:44:52 +0000 (04:44 +0000)]
MFC r230460:
Clarify the implementation-defined behaviour in case of close(2)
returning error.

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

12 years agoMFC: r227912
marius [Sun, 29 Jan 2012 01:40:39 +0000 (01:40 +0000)]
MFC: r227912

- Just use cam_calc_geometry(9) on newer version of FreeBSD rather than
  duplicating it.
- In hptmv(4) and hptrr(4) use __FBSDID and DEVMETHOD_END.

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

12 years agoMFC: r227908
marius [Sun, 29 Jan 2012 01:35:14 +0000 (01:35 +0000)]
MFC: r227908

Use DEVMETHOD_END.

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

12 years agoMFC: r226173, r227848
marius [Sun, 29 Jan 2012 01:27:39 +0000 (01:27 +0000)]
MFC: r226173, r227848

s,KOBJMETHOD_END,DEVMETHOD_END,g in order to fully hide the explicit mention
of kobj(9) from device drivers.

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

12 years agoMFC: r227843 (partial)
marius [Sun, 29 Jan 2012 01:22:48 +0000 (01:22 +0000)]
MFC: r227843 (partial)

- There's no need to overwrite the default device method with the default
  one. Interestingly, these are actually the default for quite some time
  (bus_generic_driver_added(9) since r52045 and bus_generic_print_child(9)
  since r52045) but even recently added device drivers do this unnecessarily.
  Discussed with: jhb, marcel
- While at it, use DEVMETHOD_END.
  Discussed with: jhb
- Also while at it, use __FBSDID.

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

12 years agoMFC: r227688
marius [Sun, 29 Jan 2012 01:01:35 +0000 (01:01 +0000)]
MFC: r227688

There's no need export the device interface methods of miibus(4).

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

12 years agoMFC: r227687, r228290 (partial)
marius [Sun, 29 Jan 2012 01:00:16 +0000 (01:00 +0000)]
MFC: r227687, r228290 (partial)

- Add a hint.miibus.X.phymask hint, allowing do individually exclude PHY
  addresses from being probed and attaching something including ukphy(4)
  to it. This is mainly necessarily for PHY switches that create duplicate
  or fake PHYs on the bus that can corrupt the PHY state when accessed or
  simply cause problems when ukphy(4) isolates the additional instances.
- Change miibus(4) to be a hinted bus, allowing to add child devices via
  hints and to set their attach arguments (including for automatically
  probed PHYs). This is mainly needed for PHY switches that violate IEEE
  802.3 and don't even implement the basic register set so we can't probe
  them automatically. However, the ability to alter the attach arguments
  for automatically probed PHYs is also useful as for example it allows
  to test (or tell a user to test) new variant of a PHY with a specific
  driver by letting an existing driver attach to it via manipulating the
  IDs without the need to touch the source code or to limit a Gigabit
  Ethernet PHY to only announce up to Fast Ethernet in order to save
  energy  by limiting the capability mask. Generally, a driver has to
  be hinted via hint.phydrv.X.at="miibusY" and hint.phydrv.X.phyno="Z"
  (which already is sufficient to add phydrvX at miibusY at PHY address
  Z). Then optionally the following attach arguments additionally can
  be configured:
  hint.phydrv.X.id1
  hint.phydrv.X.id2
  hint.phydrv.X.capmask
- Some minor cleanup.

Reviewed by: adrian, ray

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

12 years agoMFC: r227686
marius [Sun, 29 Jan 2012 00:52:07 +0000 (00:52 +0000)]
MFC: r227686

There's no need to read DC_10BTSTAT twice in dcphy_status().

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

12 years agoMFC: r227685
marius [Sun, 29 Jan 2012 00:50:50 +0000 (00:50 +0000)]
MFC: r227685

- There's no need to ignore the return value of mii_attach(9) when attaching
  dcphy(4) (CID 9283).
- In dc_detach(), check whether ifp is NULL as dc_attach() may call the
  former without ifp being allocated (CID 4288).

Found with: Coverity Prevent(tm)

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

12 years agoMFC: r227043
marius [Sun, 29 Jan 2012 00:49:14 +0000 (00:49 +0000)]
MFC: r227043

Sprinkle some const.

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

12 years agoMFC: r226950
marius [Sun, 29 Jan 2012 00:47:14 +0000 (00:47 +0000)]
MFC: r226950

Add multiple inclusion protection.

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

12 years agoMFC: r226948
marius [Sun, 29 Jan 2012 00:45:54 +0000 (00:45 +0000)]
MFC: r226948

Remove unnecessary DMA constraints.

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

12 years agoMFC: r226270
marius [Sun, 29 Jan 2012 00:42:54 +0000 (00:42 +0000)]
MFC: r226270

- Remove unused remnants of MII bitbang'ing.
- Sprinkle const.

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

12 years agoMFC: r226175
marius [Sun, 29 Jan 2012 00:41:08 +0000 (00:41 +0000)]
MFC: r226175

In device_get_children() avoid malloc(0) in order to increase portability
to other operating systems.

PR: 154287

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

12 years agoMFC: r226171
marius [Sun, 29 Jan 2012 00:35:22 +0000 (00:35 +0000)]
MFC: r226171

Sprinkle const.

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

12 years agoMFC: r226118
marius [Sun, 29 Jan 2012 00:34:19 +0000 (00:34 +0000)]
MFC: r226118

Sync with ahc(4)/ahd(4)/sym(4) etc:
Zero any sense not transferred by the device as the SCSI specification
mandates that any untransferred data should be assumed to be zero.

Reviewed by: ken

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

12 years agoMFC: r225931, r225932, r227000
marius [Sun, 29 Jan 2012 00:00:15 +0000 (00:00 +0000)]
MFC: r225931, r225932, r227000

Make sparc64 compatible with NEW_PCIB and enable it:
- Implement bus_adjust_resource() methods as far as necessary and in non-PCI
  bridge drivers as far as feasible without rototilling them.
- As NEW_PCIB does a layering violation by activating resources at layers
  above pci(4) without previously bubbling up their allocation there, move
  the assignment of bus tags and handles from the bus_alloc_resource() to
  the bus_activate_resource() methods like at least the other NEW_PCIB
  enabled architectures do. This is somewhat unfortunate as previously
  sparc64 (ab)used resource activation to indicate whether SYS_RES_MEMORY
  resources should be mapped into KVA, which is only necessary if their
  going to be accessed via the pointer returned from rman_get_virtual() but
  not for bus_space(9) as the later always uses physical access on sparc64.
  Besides wasting KVA if we always map in SYS_RES_MEMORY resources, a driver
  also may deliberately not map them in if the firmware already has done so,
  possibly in a special way. So in order to still allow a driver to decide
  whether a SYS_RES_MEMORY resource should be mapped into KVA we let it
  indicate that by calling bus_space_map(9) with BUS_SPACE_MAP_LINEAR as
  actually documented in the bus_space(9) page. This is implemented by
  allocating a separate bus tag per SYS_RES_MEMORY resource and passing the
  resource via the previously unused bus tag cookie so we later on can call
  rman_set_virtual() in sparc64_bus_mem_map(). As a side effect this now
  also allows to actually indicate that a SYS_RES_MEMORY resource should be
  mapped in as cacheable and/or read-only via BUS_SPACE_MAP_CACHEABLE and
  BUS_SPACE_MAP_READONLY respectively.
- Do some minor cleanup like taking advantage of rman_init_from_resource(),
  factor out the common part of bus tag allocation into a newly added
  sparc64_alloc_bus_tag(), hook up some missing newbus methods and replace
  some homegrown versions with the generic counterparts etc.
- While at it, let apb_attach() (which can't use the generic NEW_PCIB code
  as APB bridges just don't have the base and limit registers implemented)
  regarding the config space registers cached in pcib_softc and the SYSCTL
  reporting nodes set up.

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

12 years agoMFC: r203845
marius [Sat, 28 Jan 2012 23:46:36 +0000 (23:46 +0000)]
MFC: r203845

Add ssm(4), which serves as a glue device allowing devices beneath the
scalable shared memory node, which is used in large UltraSPARC III based
machines to group snooping-coherency domains together, like schizo(4) to
be treated like nexus(4) children.

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

12 years agoMFC: r206451, r206453
marius [Sat, 28 Jan 2012 23:45:31 +0000 (23:45 +0000)]
MFC: r206451, r206453

Add sbbc(4), a driver for the BootBus controller found in Serengeti and
StarCat systems which provides time-of-day services for both as well as
console service for Serengeti, i.e. Sun Fire V1280. While the latter is
described with a device type of serial in the OFW device tree, it isn't
actually an UART. Nevertheless the console service is handled by uart(4)
as this allowed to re-use quite a bit of MD and MI code. Actually, this
idea is stolen from Linux which interfaces the sun4v hypervisor console
with the Linux counterpart of uart(4).

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

12 years agoMFC: r225901
marius [Sat, 28 Jan 2012 23:37:05 +0000 (23:37 +0000)]
MFC: r225901

Remove obsolete macros.

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

12 years agoMFC: r225899
marius [Sat, 28 Jan 2012 23:33:53 +0000 (23:33 +0000)]
MFC: r225899

Also allocate space for the PIL counters. Given that no machine actually
uses IV_MAX interrupt vectors this wasn't a problem in practice though.

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

12 years agoMFC: r225891
marius [Sat, 28 Jan 2012 23:26:55 +0000 (23:26 +0000)]
MFC: r225891

Re-reading the Schizo errata suggests that it's actually tolerable to
also use the streaming buffer of pre version 5/revision 2.3 hardware as
long as we stay away from context flushes (which iommu(4) so far doesn't
take advantage of). OpenSolaris does the same.

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

12 years agoMFC: r225890
marius [Sat, 28 Jan 2012 23:25:31 +0000 (23:25 +0000)]
MFC: r225890

- Add protective parentheses to macros as far as possible.
- Move {r,w,}mb() to the top of this file where they live on most of the
  other architectures.

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

12 years agoMFC: r225889, r228222
marius [Sat, 28 Jan 2012 23:24:08 +0000 (23:24 +0000)]
MFC: r225889, r228222

In total store which we use for running the kernel and all of the userland
atomic operations behave as if they were followed by a CPU memory barrier
so there's no need to include ones in the acquire variants of atomic(9) and
it's sufficient to just use include compiler memory barriers to satisfy
the requirements of atomic(9). Removing the CPU memory barriers results in
a small performance improvement, specifically this is sufficient to
compensate the performance loss seen in the worldstone benchmark seen when
using SCHED_ULE instead of SCHED_4BSD.
This change is inspired by Linux even more radically doing the equivalent
thing some time ago.
Thanks go to Peter Jeremy for additional testing.

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

12 years agoMFC: r225888
marius [Sat, 28 Jan 2012 23:18:02 +0000 (23:18 +0000)]
MFC: r225888

Add a comment about why contrary to what once would think running all of
userland with total store order actually is appropriate.

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

12 years agoMFC: r225887
marius [Sat, 28 Jan 2012 23:16:49 +0000 (23:16 +0000)]
MFC: r225887

Use the extended integer condition code when comparing 64-bit values. Given
that ATOMIC_INC_LONG currently is unused this happened to not be fatal.

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

12 years agoMFC: r225886
marius [Sat, 28 Jan 2012 23:15:04 +0000 (23:15 +0000)]
MFC: r225886

- Right-justify backslashes as suggested by style(9).
- Rename ATOMIC_INC_ULONG to ATOMIC_INC_LONG in order to be consistent with
  the names of the other macros in this file an adjust accordingly.

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

12 years agoMFC: r228022, r228026
marius [Sat, 28 Jan 2012 23:13:00 +0000 (23:13 +0000)]
MFC: r228022, r228026

For sparc64 also adjust the geometry of da(4) driven disks to not overflow
the 16-bit cylinders field of the VTOC8 disk label (at around 502GB). The
geometry chosen for disks above that limit allows to use disks up to 2TB,
which is the limit of the extended VTOC8 format. The geometry used for
disks smaller than the 16-bit cylinders limit stays the same as used by
cam_calc_geometry(9) for extended translation.
Thanks to Hans-Joerg Sirtl for providing hardware for testing this change.

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

12 years agoMFC r230327:
eadler [Sat, 28 Jan 2012 21:45:20 +0000 (21:45 +0000)]
MFC r230327:
 Add support for Sony Ericsson GC89 EDGE/Wirelles LAN PC Card

PR: kern/131933
Approved by: cperciva

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

12 years agoMFC r230109:
eadler [Sat, 28 Jan 2012 19:33:02 +0000 (19:33 +0000)]
MFC r230109:
 - Document TheDraw splash screens in the default loader.conf

Approved by: cperciva

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

12 years agoMFC: r230100
rmacklem [Sat, 28 Jan 2012 02:18:50 +0000 (02:18 +0000)]
MFC: r230100
Tai Horgan reported via email that there were two places in
the new NFSv4 server where the code follows the wrong list.
Fortunately, for these fairly rare cases, the lc_stateid[]
lists are normally empty. This patch fixes the code to
follow the correct list.

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

12 years agoMFC r230496: Remove the stale XXX rt_newaddrmsg comment.
pluknet [Fri, 27 Jan 2012 07:37:10 +0000 (07:37 +0000)]
MFC r230496: Remove the stale XXX rt_newaddrmsg comment.

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

12 years agoMFC r228259:
dumbbell [Thu, 26 Jan 2012 22:01:05 +0000 (22:01 +0000)]
MFC r228259:
Support domain-search in dhclient(8)

The "domain-search" option (option 119) allows a DHCP server to publish
a list of implicit domain suffixes used during name lookup. This option
is described in RFC 3397.

For instance, if the domain-search option says:
    ".example.org .example.com"
and one wants to resolve "foobar", the resolver will try:
    1. "foobar.example.org"
    2. "foobar.example.com"

The file /etc/resolv.conf is updated with a "search" directive if the
DHCP server provides "domain-search".

A regression test suite is included in this patch under
tools/regression/sbin/dhclient.

PR: bin/151940
Sponsored by: Yakaz (http://www.yakaz.com)

MFC r229000:
Invalid Domain Search option isn't considered as a fatal error

In the original Domain Search option patch, an invalid option value
would cause the whole lease to be rejected. However, DHCP servers who
emit such an invalid value are more common than I thought. With this new
patch, just the option is rejected, not the entire lease.

PR: bin/163431
Submitted by: Fabian Keil <fk@fabiankeil.de> (earlier version)
Reviewed by: Fabian Keil <fk@fabiankeil.de>
Sponsored by: Yakaz (http://www.yakaz.com)

MFC r229001:
Adapt testsuite following change in Domain Search error handling

In this testsuite, warning() and error() have the same behaviour.

PR: bin/163431
Sponsored by: Yakaz (http://www.yakaz.com)

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

12 years agoMFC r227992:
dumbbell [Thu, 26 Jan 2012 19:18:10 +0000 (19:18 +0000)]
MFC r227992:

Prevent a division by zero with some broken batteries

This problem was seen on a laptop with a dead battery.

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

12 years agoMFC r223666:
ae [Thu, 26 Jan 2012 10:33:19 +0000 (10:33 +0000)]
MFC r223666:
  Add new rule actions "call" and "return" to ipfw. They make
  possible to organize subroutines with rules.

  The "call" action saves the current rule number in the internal
  stack and rules processing continues from the first rule with
  specified number (similar to skipto action). If later a rule with
  "return" action is encountered, the processing returns to the first
  rule with number of "call" rule saved in the stack plus one or higher.

  Submitted by: Vadim Goncharov

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

12 years agoMFC r222281:
ae [Thu, 26 Jan 2012 09:56:29 +0000 (09:56 +0000)]
MFC r222281:
  Do not truncate available disk space to the closest track boundary.

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

12 years agoMFC r222279:
ae [Thu, 26 Jan 2012 09:28:09 +0000 (09:28 +0000)]
MFC r222279:
  Do not truncate available disk space to the closest track boundary.

MFC r222341:
  Some partitioning tools may have a different opinion about disk
  geometry and partitions may start from withing the first track.
  If we found such partitions, then do not reserve space of the
  first track, only first sector.

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

12 years agoMFC r216132 (by ivoras):
ae [Thu, 26 Jan 2012 09:14:51 +0000 (09:14 +0000)]
MFC r216132 (by ivoras):
  Add a note about the magic number 20. Actually, 22.75 entries fit in
  a 512 byte sector but when choosing magic numbers, 20 looks nicer.

MFC r223332:
  Change the way how we update bootcode for BSD scheme.
  Since the only parameter that we check is size of bootcode, then
  allow only two sizes: size of boot1 and size of /boot/boot.
  This partially protects users from losing ability to boot if incorrect
  bootcode is specified.

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

12 years agoDisable integrity checks by default. It will warn users about found
ae [Thu, 26 Jan 2012 08:51:23 +0000 (08:51 +0000)]
Disable integrity checks by default. It will warn users about found
problems, but will not reject partition tables.

This is direct commit to stable/8.

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

12 years agoMFC r221788:
ae [Thu, 26 Jan 2012 08:47:29 +0000 (08:47 +0000)]
MFC r221788:
  Add basic metadata integrity check. In case when partition table was
  probed and read successfull, but it contains invalid values (e.g.
  overlapped partitions, offset or size is out of bounds), then table
  will be rejected.

MFC r221972:
  Add a sysctl kern.geom.part.check_integrity for those who has corrupt
  partition tables and lost an ability to boot after r221788.
  Also unhide an error message from bootverbose, this would help to
  easier determine the problem.

MFC r221984:
  Add diagnostic messages for integrity checks.

MFC r221992:
  Make diagnostic messages more specific. With bootverbose print out
  all inconsistencies of integrity in the partition table, not first
  found only.

MFC r222642:
  Add diagnostic message about not aligned partitions.

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

12 years agoMFC r226880 (modified version):
ae [Thu, 26 Jan 2012 07:51:51 +0000 (07:51 +0000)]
MFC r226880 (modified version):
  Our geom withering function could take some time before geom with its
  providers and consumers will be destroyed.  Before take some actions
  with a geom, check that it is not destroyed at the moment.

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

12 years agoMFC r215118:
ae [Thu, 26 Jan 2012 07:42:54 +0000 (07:42 +0000)]
MFC r215118:
  Move code for search of existing geom into g_part_find_geom
  function and use this function instead of g_part_parm_geom
  in g_part_ctl_create.

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

12 years agoMFC r226113 and r228016:
andre [Wed, 25 Jan 2012 11:15:52 +0000 (11:15 +0000)]
MFC r226113 and r228016:
 Prevent TCP sessions from stalling indefinitely in reassembly
 when reaching the zone limit of reassembly queue entries.

Reviewed by: lstewart

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

12 years agoMFC r230459:
kib [Wed, 25 Jan 2012 07:14:23 +0000 (07:14 +0000)]
MFC r230459:
Fix typo.

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

12 years agoMFC: r229956
rmacklem [Wed, 25 Jan 2012 02:22:16 +0000 (02:22 +0000)]
MFC: r229956
jwd@ reported via email that the "CacheSize" field reported by "nfsstat -e -s"
would go negative after using the "-z" option to zero out the stats.
This patch fixes that by not zeroing out the srvcache_size field
for "-z", since it is the size of the cache and not a counter

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

12 years agoMFC r230256:
pluknet [Tue, 24 Jan 2012 10:32:02 +0000 (10:32 +0000)]
MFC r230256:
 Fix the "lock &zrl->zr_mtx already initialized" assertion by initializing
 the allocated memory before calling mtx_init(9) on mtx pointing to it.
 Otherwize, random contents of uninitialized memory might occasionally
 trigger the assertion.

 Reported by:  Pavel Polyakov <bsd kobyla org>
 Reviewed by:  pjd

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

12 years agoMFC r230402, r230404:
mm [Mon, 23 Jan 2012 08:30:17 +0000 (08:30 +0000)]
MFC r230402, r230404:
Add accidentially removed copyright lines in r228103

Reported by: pjd

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

12 years agoMerge r229085 from head:
gavin [Sun, 22 Jan 2012 21:25:47 +0000 (21:25 +0000)]
Merge r229085 from head:

  Default to not performing the early-boot memory tests when we detect we
  are booting inside a VM.  There are three reasons to disable this:

  o  It causes the VM host to believe that all the tested pages or RAM are
     in use.  This in turn may force the host to page out pages of RAM
     belonging to other VMs, or otherwise cause problems with fair resource
     sharing on the VM cluster.
  o  It adds significant time to the boot process (around 1 second/Gig in
     testing)
  o  It is unnecessary - the host should have already verified that the
     memory is functional etc.

  Note that this simply changes the default when in a VM - it can still be
  overridden using the hw.memtest.tests tunable.

Early MFC requested by: bz

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

12 years agoMFC: r229802
rmacklem [Sun, 22 Jan 2012 06:00:50 +0000 (06:00 +0000)]
MFC: r229802
opt_inet6.h was missing from some files in the new NFS subsystem.
The effect of this was, for clients mounted via inet6 addresses,
that the DRC cache would never have a hit in the server. It also
broke NFSv4 callbacks when an inet6 address was the only one available
in the client. This patch fixes the above, plus deletes opt_inet6.h
from a couple of files it is not needed for.

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

12 years agoMFC r228746
alc [Sat, 21 Jan 2012 18:38:57 +0000 (18:38 +0000)]
MFC r228746
  The Xen pmap doesn't support superpages.  So, there is no point in it
  initializing structures, like the pv table, that are only used to
  implement superpages.  In fact, some of the unnecessary code in
  pmap_init() was actually doing harm.  It was preventing the kernel from
  booting on virtual machines with more than 768 MB of memory.

Note: The change to pmap_page_is_mapped() differs slightly from r228746
  because of differences in how the page queues lock is used in
  FreeBSD 8.x.

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

12 years agoMFC r227827
rmh [Sat, 21 Jan 2012 18:21:44 +0000 (18:21 +0000)]
MFC r227827
  Define __FreeBSD_kernel__ macro in sys/param.h.

  __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,
  which by definition is always true on FreeBSD. This macro is also defined
  on other systems that use the kernel of FreeBSD, such as GNU/kFreeBSD.

  It is tempting to use this macro in userland code when we want to enable
  kernel-specific routines, and in fact it's fine to do this in code that
  is part of FreeBSD itself.  However, be aware that as presence of this
  macro is still not widespread (e.g. older FreeBSD versions, 3rd party
  compilers, etc), it is STRONGLY DISCOURAGED to check for this macro in
  external applications without also checking for __FreeBSD__ as an
  alternative.

Approved by: kib (mentor)

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

12 years agoMFC r226163, r228317, and r228324
alc [Sat, 21 Jan 2012 07:21:44 +0000 (07:21 +0000)]
MFC r226163, r228317, and r228324
  Fix the handling of an empty kmem map by sysctl_kmem_map_free().

  Eliminate the possibility of 32-bit arithmetic overflow in the
  calculation of vm_kmem_size that may occur if the system
  administrator has specified a vm.vm_kmem_size tunable value that
  exceeds the hard cap.

  Eliminate stale numbers from a comment.

PR: 162741

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

12 years agoMFC r229898:
lstewart [Sat, 21 Jan 2012 04:22:19 +0000 (04:22 +0000)]
MFC r229898:

Consumers of bpfdetach() expect it to remove all bpf_if structs from the
bpf_iflist list which reference the specified ifnet. The existing implementation
only removes the first matching bpf_if found in the list, effectively leaking
list entries if an ifnet has been bpfattach()ed multiple times with different
DLTs.

Fix the leak by performing the detach logic in a loop, stopping when all bpf_if
structs referencing the specified ifnet have been detached and removed from the
bpf_iflist list.

Whilst here, also:

- Remove the unnecessary "bp->bif_ifp == NULL" check, as a bpf_if should never
  exist in the list with a NULL ifnet pointer.

- Except when INVARIANTS is in the kernel config, silently ignore the case where
  no bpf_if referencing the specified ifnet is found, as it is harmless and does
  not require user attention.

Reviewed by: csjp

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

12 years agoMFC r230294:
lstewart [Sat, 21 Jan 2012 03:46:58 +0000 (03:46 +0000)]
MFC r230294:

Specify the correct section (4 instead of 9) in the h_ertt man page's title and
bump the document date.

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

12 years agoMFC r222286 (originally committed by ru):
lstewart [Sat, 21 Jan 2012 03:44:51 +0000 (03:44 +0000)]
MFC r222286 (originally committed by ru):

[mdoc] Fixed .Dt call.

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

12 years agoMFC r227124: fifo_misc test: Fix swapped lseek arguments.
jilles [Fri, 20 Jan 2012 16:31:44 +0000 (16:31 +0000)]
MFC r227124: fifo_misc test: Fix swapped lseek arguments.

It worked regardless because SEEK_CUR happens to be 1.

PR: misc/160866

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

12 years agoMFC r227123: lint: Fix lseek() argument order.
jilles [Fri, 20 Jan 2012 15:44:39 +0000 (15:44 +0000)]
MFC r227123: lint: Fix lseek() argument order.

Because SEEK_SET is 0, this seems to have no effect on the generated code.

PR: bin/160806
Submitted by: Henning Petersen <henning dot petersen at t-online dot de>
Obtained from: NetBSD

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

12 years agoMFC r216269:
emaste [Fri, 20 Jan 2012 00:20:00 +0000 (00:20 +0000)]
MFC r216269:

  Don't warn if a partition appears not to be aligned on a track boundary.
  Modern disks use LBA and create a fake CHS geometry that doesn't have any
  relation to the on-disk layout of data.

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

12 years agoMFC: 229965
gnn [Thu, 19 Jan 2012 19:39:41 +0000 (19:39 +0000)]
MFC: 229965

Fix for PR 138526.

Add the ability for /dev/null and /dev/zero to accept
being set into non blocking mode via fcntl().  This
brings the code into compliance with IEEE Std 1003.1-2001
as referenced in another PR, 94729.

Reviewed by: jhb

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

12 years agoMFC: r229977
brueffer [Wed, 18 Jan 2012 22:08:26 +0000 (22:08 +0000)]
MFC: r229977

Add hpt27xx to the hardware notes,

While here, add the 2012 copyright.

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

12 years agoMFC: r229984
truckman [Wed, 18 Jan 2012 21:50:59 +0000 (21:50 +0000)]
MFC: r229984

Pass the arguments to mtx_init() in the correct order.  There should be
no change to the binary because the value of MTX_DEF is zero and there
is a visible function prototype.

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

12 years agoMFC r226430:
stefanf [Wed, 18 Jan 2012 18:22:25 +0000 (18:22 +0000)]
MFC r226430:
Adjust posix_memalign() prototype to match what we define in stdlib.h for
C++ compilation.

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