arch_io_reserve_memtype_wc is implemented using PHYS_TO_DMAP and
pmap_change_attr but not all architectures have a DMAP and this doesn't
match the upstream implementation. This function should register a
given range of IO memory addresses as write-combining for later
mappings, like FreeBSD vm_phys_fictitious_reg_range does, so implement
it as a wrapper around that. For non-x86 it is a no-op.
Include missing headers sys/queue.h from vm/_vm_phys.h for TAILQ, and
sys/param.h from vm/vm_phys.h for NULL so linux/io.h doesn't have to
include them.
Bump __FreeBSD_version for drm-kmod. It has to be patched to remove
calls to vm_phys_fictitious_reg_range that are now done by the drm
drivers calling arch_io_reserve_memtype_wc.