d94f948620
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
35 lines
789 B
C
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 */
|