kernel/hptiop: Add missing braces.
kernel/ng_iface: Add missing braces.
intr: Don't embed struct thread in intr_info

After the per-cpu IDT support, the intr_info array grows so large that
embedding struct thread in intr_info wastes too much memory.  After this
commit, the intr_info.i_thread is allocated on demand.

Noticed-by: dillon@
hammer2 - Fix compiler warnings

* Fix compiler warnings
netisr: Function renaming; no functional changes
hammer2 - Major restructuring, part 1/several

* This breaks a lot of things.  The next few commits will get it all
  working again.

* Significantly rework the data structures.  Instead of embedding the
  RBTREE for a chain's children in the chain, the chain instead points
  to a secondary structure containing the RBTREE.

  Chains can no longer be moved within the in-memory topology.  That is,
  if a file is renamed or a block is resized or a block is moved into or
  out of an indirect block, the in-memory chain representing that block
  is NOT moved.  Instead, the in-memory chain is marked deleted and a
  copy is created at the new location.  Both the old and the new chain
  reference the same secondary structure and thus share the same RBTREE,
  and reference the same media storage.

  In addition, chain->duplink points from the deleted chain to its relocated
  copy and maintains a reference on the target until the deleted chain is
  deallocated.  It is possible for the linked list to span more than one
  element.

  This link will soon be used to retarget inode->chain pointers (which can
  wind up pointing to stale data) and also eventually effect chain->parent
  traversals (real parent becomes chain->parent->[duplink*]).  A rethink
  might be needed down the line.

* This will allow the flush code to run 100% asynchronous from the
  frontend and still be able to flush to a synchronization point no
  matter how complex a set of changes have occured to the filesystem
  concurrent to the flush (but after its synchronization point).

* The change also stabilizes chain->parent, which simplifies quite a bit
  of code.

* Simplify nearly all the hammer2_chain_*() API functions, and other
  functions.

* Add a hammer2_trans (transaction) structure to keep track of modifying
  transactions.  This will be flushed out later and used to detect flush
  synchronization points.  It currently contains the transaction id.

* Start adding API infrastructure and start reworking the flush and other
  tree-modifying code to work under the new abstraction.
Merge branch 'master' of ssh://crater.dragonflybsd.org/repository/git/dragonfly
Remove some header files for drivers that were deleted.
Remove <machine/if_wl_wavelan.h>, which was for the deleted wl(4) driver.
netisr: Function renaming; no functional changes

This cleans up code for keeping input packets' hash instead of masking
the hash with ncpus2_mask.  netisr_hashport(), which maps packet hash
to netisr port, will be added soon.
Remove pca and speaker device remains (both deleted).
usr.sbin/Makefile: Fix typo from the last commit.
sbp(4): Sync sbp.h with FreeBSD

* Change u_intXX_t to uintXX_t.

* Change a couple of 'unsigned long's to uint32_t where appropriate.

* Define Logical Unit Reset so it can be used in sbp_targ

Obtained-from: FreeBSD
sbp(4): Support MAXPHYS up to 512KB

- We need at least two OCBs with indirect pointers allocated in a 4KB page.
- SBP_MAXPHYS can increase to 1MB once we separate management OCB/ORB
  which usually does not need indirect pointers.
- We have to increase SBP_DMA_SIZE for MAXPHYS larger than 1MB.

Obtained-from: FreeBSD
hammer2 - Major restructuring, part 2/several

* Stabilization pass on hammer2_inode_connect() and
  hammer2_hardlink_consolidate().  Adjust the API to accomodate
  requirements (primarily that the caller is responsible for holding
  the inode locked and for replacing ip->chain).

* Add hammer2_inode_repoint() to handle the guts of replacing ip->chain.

* Flush code shouldn't be messing the chain->bref when deleting the chain
  as the chain may be used in a duplication operation after the call.

* basic rm/mv/ln operations now work (note: we still need to code the
  reparenting of sub-chains based on chain->duplink, and hardlinks are
  still buggy when parent directories get renamed).
Merge <machine/uvparam.h> into <time.h> and remove it.

Its only purpose was to define separate CLK_TCK and CLOCKS_PER_SEC per
platform, all of which were 128. It also was missing for vkernel64
architecture.

FreeBSD has since merged it into <time.h>, too.
Merge branch 'master' into gsocdrm_github