qemu-e2k/hw/xen_common.h
aliguori d94f948620 xen: backend driver core (Gerd Hoffmann)
This patch adds infrastructure for xen backend drivers living in qemu,
so drivers don't need to implement common stuff on their own.  It's
mostly xenbus management stuff: some functions to access xentore,
setting up xenstore watches, callbacks on device discovery and state
changes, handle event channel, ...

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7220 c046a42c-6fe2-441c-8c8c-71466251a162
2009-04-22 15:19:15 +00:00

35 lines
789 B
C

#ifndef QEMU_HW_XEN_COMMON_H
#define QEMU_HW_XEN_COMMON_H 1
#include <stddef.h>
#include <inttypes.h>
#include <xenctrl.h>
#include <xs.h>
#include <xen/io/xenbus.h>
#include "hw.h"
#include "xen.h"
#include "sys-queue.h" /* BSD list implementation */
/*
* tweaks needed to build with different xen versions
* 0x00030205 -> 3.1.0
* 0x00030207 -> 3.2.0
* 0x00030208 -> unstable
*/
#include <xen/xen-compat.h>
#if __XEN_LATEST_INTERFACE_VERSION__ < 0x00030205
# define evtchn_port_or_error_t int
#endif
#if __XEN_LATEST_INTERFACE_VERSION__ < 0x00030207
# define xc_map_foreign_pages xc_map_foreign_batch
#endif
#if __XEN_LATEST_INTERFACE_VERSION__ < 0x00030208
# define xen_mb() mb()
# define xen_rmb() rmb()
# define xen_wmb() wmb()
#endif
#endif /* QEMU_HW_XEN_COMMON_H */