As this header use the ram_addr_t type, it has to include
"exec/cpu-common.h" to avoid odd errors such:
  include/sysemu/xen.h:35:44: error: unknown type name 'ram_addr_t'; did you mean 'in_addr_t'?
   35 | static inline void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
      |                                            ^~~~~~~~~~
      |                                            in_addr_t
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Message-Id: <20200908155530.249806-4-philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
		
	
			
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * QEMU Xen support
 | 
						|
 *
 | 
						|
 * This work is licensed under the terms of the GNU GPL, version 2 or later.
 | 
						|
 * See the COPYING file in the top-level directory.
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef SYSEMU_XEN_H
 | 
						|
#define SYSEMU_XEN_H
 | 
						|
 | 
						|
#include "exec/cpu-common.h"
 | 
						|
 | 
						|
#ifdef NEED_CPU_H
 | 
						|
# ifdef CONFIG_XEN
 | 
						|
#  define CONFIG_XEN_IS_POSSIBLE
 | 
						|
# endif
 | 
						|
#else
 | 
						|
# define CONFIG_XEN_IS_POSSIBLE
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef CONFIG_XEN_IS_POSSIBLE
 | 
						|
 | 
						|
extern bool xen_allowed;
 | 
						|
 | 
						|
#define xen_enabled()           (xen_allowed)
 | 
						|
 | 
						|
#ifndef CONFIG_USER_ONLY
 | 
						|
void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length);
 | 
						|
void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
 | 
						|
                   struct MemoryRegion *mr, Error **errp);
 | 
						|
#endif
 | 
						|
 | 
						|
#else /* !CONFIG_XEN_IS_POSSIBLE */
 | 
						|
 | 
						|
#define xen_enabled() 0
 | 
						|
#ifndef CONFIG_USER_ONLY
 | 
						|
static inline void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
 | 
						|
{
 | 
						|
    /* nothing */
 | 
						|
}
 | 
						|
static inline void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
 | 
						|
                                 MemoryRegion *mr, Error **errp)
 | 
						|
{
 | 
						|
    g_assert_not_reached();
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
#endif /* CONFIG_XEN_IS_POSSIBLE */
 | 
						|
 | 
						|
#endif
 |