As usual switch things to use the new API and add the necessary compat
defines (gated on Xen>=4.5 in this case).
Many of the wrappers (xen_map_io_section et al) could be inlined into
their single caller now since the compat shim is effectively a layer
further down now. The only practical difference would be that
trace_xen_* would then be called even for Xen < 4.5 which has no ioreq
servers, which is the only reason I didn't just go ahead and do this.
It could be argued that this tracing is useful even with Xen 4.5 since
it shows what is explicitly known about (whether it is registered with
Xen or not).
It is no longer necessary to check for the presence of
xc_hvm_create_ioreq_server in the xen_ctrl_version=471 case in
configure. Any Xen which has e.g. xenforeignmemory_open certainly has
the ioreq interfaces, but checking for them would break if and when
they are removed from libxc in favour of the libxendevicemodel
interfaces. The check in the -lxendevicemodel case suffices to do thr
right thing here.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
---