starting work on porting virtio_balloon from FreeBSD
virtio_balloon now builds successfully
(hopefully) fix serializer handling
using contigmalloc instead of kmalloc
Add support for KVM cpuid flags and add msr #define-s. Add PV_EOI support.
Optimizing IPIs for kvm
making single_apic_ipi safe again
check for MP synchronized TSC on non-Intel CPUs as well
Making virtio_balloon less agressive
virtio_pci: Use device_probe_and_attach(), instead of DEVICE_ATTACH().

* With DEVICE_ATTACH() we didn't get automatically created sysctl nodes, and
  dmesg messages.

* Since we have no direct equivalent to FreeBSD's device_attach(), use
  device_probe_and_attach(). This means we do a vtpci_set_status() cycle
  even if no matching driver is found.
virtio_blk: Enable dump support. Partial sync with FreeBSD up to r252707.

* Fix a typo in struct virtio_blk_config, to make writecache_mode
  switching actually work.

* Add a workaround in sys/dev/virtual/virtio/virtio/virtqueue.c to avoid
  a serializer exit/enter pair while dumping.

* Reduce diff relative to FreeBSD's virtio_blk.c version.

* Adapt manpage, comment out description of the hw.vtblk.no_ident tunable.

* Updates are taken from FreeBSD's r252707, r252703 and r247829.