Pull the latest headers for Xen which allow us to add support for ARM and
use new features in FreeBSD.
This is a verbatim copy of the xen/include/public so every headers which don't
exits anymore in the Xen repositories have been dropped.
Note the interface version hasn't been bumped, it will be done in a follow-up.
Although, it requires fix in the code to get it compiled:
- sys/xen/xen_intr.h: evtchn_port_t is already defined in the headers so drop it.
- {amd64,i386}/include/intr_machdep.h: NR_EVENT_CHANNELS now depends
on xen/interface/event_channel.h. So include it
- {amd64,i386}/{amd64,i386}/support.S: It's not neccessary to include
machine/intr_machdep.h. This is also fixing build compilation with
the new headers
- dev/xen/blkfront/blkfront.c: The typedef for blkif_request_segment
has been dropped. So directly use struct blkif_request_segment
Finally, modify xen/interface/xen-compat.h to throw a preprocessing error if
XEN_INTERFACE_VERSION is not set. This is allow us to catch any file where
xen/xen-os.h is not correctly included.