<sys/hash.h>: Fix wrong header guard.
kernel/acpi_fujitsu: Doh, fix a copy/paste error I did in my last upgrade.
kernel/cpu_topology: Fix a casting issue in the topology tree printing.

compute_unit_id is uint8_t so it's actually 0xff we want to check for.
Before this commit, the "... != -1" checks were always true.
kernel/hptmv: Don't mess up the struct by copying too much.

VendorId is only 8 chars.
<sys/cdefs.h>: Use _Static_assert for CTASSERT.

Move CTASSERT from <sys/systm.h> to <sys/cdefs.h> and use _Static_assert
for its definition (which gives us a better error message in case it is
triggered).

But if there is no support for _Static_assert or static_assert in the
compiler, use the previous typedef method.
hammer2 - multi-target mount part 2/many

* Split media and in-memory tracking of TIDs.  In-memory tracking is
  effectively global, while on-media TIDs are now split into an independent
  domain for each PFS plus one for the super-root and freemap topology.

  Introduces hammer2_xid_t and reformulates some of the TID and XID
  constants.

* Refactor the flush code to no longer depend on media modify_tid/mirror_tid
  values during a flush.  In-memory XIDs are used for all flush recursions.

* Refactor the transaction mechanisms in order to allow XIDs to cover multiple
  TID domains.  For the moment, the transaction management structure is
  global but the code is designed to allow us to have multiple management
  domains in a future commit.

* Associate a PMP structure with each storage topology's super-root and
  freemap (still a bit rough).

* Each PFS now accounts for its own inode numbers and transaction ids,
  independent of other PFSs.  This also means that both inode numbers
  and transaction ids are PFS-specific, so multiple storage medias which
  are part of the same PFS will use the PFS-centric tracking rather than
  per-media tracking.

* Cleanup a few memory leaks and remove some debugging from the chain code.

* Refactor mount and unmount code to handle the new PFS abstraction.

* Refactor the volume data lock/unlock/modify mechanics somewhat.
<sys/cdefs.h>: Simplify the CTASSERT definition better.
hammer2 - multi-target mount part 3/many (stabilization)

* Fix cluster memory leaks, fix a malloc_type leak.

* Resync cached PFS (pmp) data in the root inode for the PFS on flush.
  (inode allocator).

* Track total DIO memory.

* For now assert on logical mirror mismatches.

* Minor start on infrastructure for mirror synchronization.

* Refactor hammer2_cluster_copy() flags.
Unbreak buildworld after recent hammer2 changes.

504565062f34ec55037ac0cf308fe3562f091460 renamed HAMMER2_MAX_KEY to
HAMMER2_KEY_MAX but libstand wasn't adjusted.

Reported-by:   David Shao
Dragonfly-bug: <https://bugs.dragonflybsd.org/issues/2658>
hammer2 - Add debug ioctl

* Add a a debugging command to dump the in-memory chain topology.
hammer2 - multi-target mount part 4/many (stabilization)

* Fix spmp mirror_tid synchronization bug in the flush code.  TIDs were
  not being allocated properly for the super-root portion of the flush.

* Add in-memory chain dump ioctl.

* Fix another missing modsync.
Revert "Remove crunchgen(8)."

This reverts commit 97c14704c37c914dbd89b22465a421ffde7fe89d.

Conflicts:
	Makefile.inc1
	Makefile_upgrade.inc
	sbin/ifconfig/Makefile
	usr.bin/vi/Makefile
	usr.sbin/ppp/bundle.c
	usr.sbin/pppd/Makefile
	usr.sbin/tcpdump/Makefile
Update crunched binaries tools from FreeBSD

* Fix amd64/x86_64 confusion

* Remove a.out support
kernel/acpi: Restore ACPI_DEBUG_{CACHE,LOCKS,MEMMAP} functionality.

Unfortunately we can't do this in acdragonfly.h alone since ACPICA
types such as ACPI_SIZE and so on are unavailable in acdragonfly.h.
This is because acpi.h includes acenv.h (and therefore acdragonfly.h)
before actypes.h.
kernel/acpi: Fix a x86_64 warning in the ACPI_DEBUG_MEMMAP code.
mkinitrd(8): Use cpdup to copy files

Preserving hard links
crunch - Remove FBSDID

* buildworld bootstrap doesn't seem to be using the world's
  sys/cdefs.h, and the installed sys/cdefs.h might not have
  the FBSDID hack.

* Remove the FBSDID stuff from crunch to fix buildworld.  Wish I had
  never invented FBSDID.
Revert "installer: Export /boot device name in loader.conf"

This reverts commit 8a01d9f7000ef8c274b595edf681b3ff0b17591e.

It turns out putting the boot device name in a sysctl variable for its
use by a rescue system is not such a good idea.
crunch: We use .Mt for mail addresses.
boot - boot loader fixes

* Clarify some issues in comments.

* Don't trust the bios memory boundary, start 1K below it.

* Always bounce, not just for floppies.  This should help with situations
  when loading kernels and modules beyond the 16MB mark.

* Add some debugging memory commands