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 */
 |