Vendor import of Bind 9.8.4-P2

Approved by:	delphij (mentor)
Sponsored by:	DK Hostmaster A/S
Vendor import of Bind 9.8.5-P1

Approved by:	delphij (mentor)
Sponsored by:	DK Hostmaster A/S
Vendor import of BIND 9.8.5-P2

Approved by:	delphij (mentor, implicit)
Sponsored by:	DK Hostmaster A/S
Fix implicit declaration of warnx().
Regen for if_rsu.
Fixing a typo.

Approved by:	sbruno (mentor, implicit)
Remove inclusion of <sys/diskmbr.h>. We have no business knowing
anything related to MBR in this file.
The page hold mechanism is fast but it has couple of fallouts:
- It does not let pages respect the LRU policy
- It bloats the active/inactive queues of few pages

Try to avoid it as much as possible with the long-term target to
completely remove it.
Use the soft-busy mechanism to protect page content accesses during
short-term operations (like uiomove_fromphys()).

After this change only vm_fault_quick_hold_pages() is still using the
hold mechanism for page content access.
There is an additional complexity there as the quick path cannot
immediately access the page object to busy the page and the slow path
cannot however busy more than one page a time (to avoid deadlocks).

Fixing such primitive can bring to complete removal of the page hold
mechanism.

Sponsored by:	EMC / Isilon storage division
Discussed with:	alc
Reviewed by:	jeff
Tested by:	pho
Remove unused member.

Sponsored by:	EMC / Isilon storage division
Reviewed by:	alc
Tested by:	pho
MFC
 - Introduce a specific function, pmap_remove_kernel_pde, for removing
   huge pages in the kernel's address space.  This works around several
   asserts from pmap_demote_pde_locked that did not apply and gave false
   warnings.

Discovered by:	pho
Reviewed by:	alc
Sponsored by:	EMC / Isilon Storage Division
Fix a panic in tmpaddrtimer.
Rename the busy interface into a shared/exclusive mechanism and shorten
the names.
This makes the interface clearer on the purpose it serves.

Sponsored by:	EMC / Isilon storage division
Requested by:	jeff
Revert r253939:
We cannot busy a page before doing pagefaults.
Infact, it can deadlock against vnode lock, as it tries to vget().
Other functions, right now, have an opposite lock ordering, like
vm_object_sync(), which acquires the vnode lock first and then
sleeps on the busy mechanism.

Before this patch is reinserted we need to break this ordering.

Sponsored by:	EMC / Isilon storage division
Reported by:	kib
MFC
MFC
Redirect svnversion stderr to /dev/null if we cannot determine
the tree version, for example if the tree is checked out with an
outdated svn from ports, but the base system svnlite is built.

Approved by:	kib (mentor)
Note NULL encryption method for GELI

PR:		docs/180551
Submitted by:	r4721@tormail.org
Approved by:	gjb (mentor)
MFprojects/camlock r249505:
Change CCB queue resize logic to be able safely handle overallocations:
 - (re)allocate queue space in power of 2 chunks with 64 elements minimum
and never shrink it; with only 4/8 bytes per element size is insignificant.
 - automatically reallocate the queue to double size if it is overflowed.
 - if queue reallocation failed, store extra CCBs in unsorted TAILQ,
fetching them back as soon as some queue element is freed.

To free space in CCB for TAILQ linking, change highpowerq from keeping
high-power CCBs to keeping devices frozen due to high-power CCBs.

This encloses all pieces of queue resize logic inside of cam_queue.[ch],
removing some not obvious duties from xpt_release_ccb().
MFprojects/camlock r249006:
Pass SIM pointer as an argument to camisr_runqueue() instead of doneq
pointer.