This library is intended to be a stable interface which device models
can rely on in order to avoid a link time dependency on libxenctrl
(which implies needing to rebuild QEMU when Xen is updated to a new
release, which is a pain for distros)
Rather than go the whole hog all in one go (which would be
unrevieable) this patch adds the basic support and uses it for domain
lifecycle operations. Further patches will add more support.
As with previous patches to use stable libraries the QEMU code now
uses the new stable API on all versions of Xen and stubs out the
necessary code for the older versions.
I had wanted to add the xendevicemodel_handle to the XenIOState
struct, however it does not appear to be possible to get at the state
pointer from all the places where it is needed, specifically the first
such place I tripped over was xen_piix3_set_irq().
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>