Vendor import of byacc 20120526

Approved by:	des (mentor, implicit)
Import byacc 20130304
Add clang-CC and CC to list of hints allowing clang to identify its operating
mode as c++ instead of defaulting to c for the binary names CC and clang-CC.

This fixes builds that use cmake, which automatically sets CXX to
/usr/bin/CC by default.

PR:		bin/182442
Reviewed by:	dwhite, wca
MFC after:	2 days
Test UARTs physical address instead of virtual.
Use common OFW root code to set up fdtbus. This is an almost purely
negative diff that should improve reliability somewhat. There should be
no differences in behavior -- please report any that crop up. This has been
tested on ARM and PPC systems.

Tested by:	ray
Remove some #ifdef and duplication in the MSR bit definitions. This adds
some security features to the Book-E kernel as well.
Remove dead reference to PSL_MBO.
Convert e500 PCI driver to use common PPC PCI bus glue. No functional
changes.
Make sure to get the right node when looking up #interrupt-cells.
Remove all the instances of '#undef DEBUG' from kernel.

Suggested by:	rpaulo
Approved by:	adrian (mentor)
Remove time and date stamps from svn* binaries, in order to make the
builds reproducible.

Reviewed by:	peter
MFC after:	3 days
Add a helper routine to search for a compat string in a table that
associates compat strings with arbitrary values that mean something to
the driver.  This is handy for drivers that support several variations
of similar hardware and need to know which one matched.

Reviewed by:	imp, jmg, nwhitehorn
Reject attempts to attack a disk device that has the old NEEDSGIANT
flag set.

Reviewed by:	mav
Add id for GTM661W.
Temporarily disable multi-rate retry (link quality) and eliminate rate
index lookups.

* My recent(ish) change to iwn(4) and the net80211 rate control API to
  support 11n rates broke the link quality table use.  So, until I or
  someone else decides to fix it, let's just disable it for now.

* Teach iwn_tx_data_raw() to use the iwn_rate_to_plcp() function.

* Eliminate two uses of the net80211 rate index lookup functions - they
  are only for legacy rates and they're not needed here.

This fixes some invalid looking rate control TX issues that showed up
on my 4965 but it doesn't fix the two TX hangs I've noticed. Those look
like DMA related issues.

Tested:

* 4965, STA mode
* 5100, STA mode
Begin fleshing out a knob to enable/disable bluetooth coexistence.

Some firmware versions seem to get very unhappy if they're sent btcoex
commands when they don't actually have bluetooth hardware in them.
So, disable sending them those commands.

Tested:

* 5100 (which has bluetooth, no problems)
* 4965 (which doesn't have bluetooth, but didn't seem to crash)
* 6200 (no bluetooth, seems to get unhappy being sent bluetooth commands.)
vnet.h needs to be included before raw_cb.h. Now it compiles due to
pollution via if_var.h.
Switch the default mtree to nmtree our new NetBSD derived mtree.

Exp-run by:     bdrewery
MFC after:      3 days
Sponsored by:	DARPA/AFRL
Regerate after r257138 swapped the default to WITH_NMTREE.

MFC after:	3 days
Sponsored by:	DARPA/AFRL
add 0x8b, lifted from Linux iwlegacy/commands.h

This is "STA invalid". I saw it during some 4965 testing (kern/183260)
and I still have no idea what is causing it.

Obtained from:	Linux drivers/net/wireless/iwlegacy