qemu/include/sysemu/xen.h
<<
>>
Prefs
   1/*
   2 * QEMU Xen support
   3 *
   4 * This work is licensed under the terms of the GNU GPL, version 2 or later.
   5 * See the COPYING file in the top-level directory.
   6 */
   7
   8/* header to be included in non-Xen-specific code */
   9
  10#ifndef SYSEMU_XEN_H
  11#define SYSEMU_XEN_H
  12
  13#include "exec/cpu-common.h"
  14
  15#ifdef NEED_CPU_H
  16# ifdef CONFIG_XEN
  17#  define CONFIG_XEN_IS_POSSIBLE
  18# endif
  19#else
  20# define CONFIG_XEN_IS_POSSIBLE
  21#endif
  22
  23#ifdef CONFIG_XEN_IS_POSSIBLE
  24
  25extern bool xen_allowed;
  26
  27#define xen_enabled()           (xen_allowed)
  28
  29#ifndef CONFIG_USER_ONLY
  30void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length);
  31void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
  32                   struct MemoryRegion *mr, Error **errp);
  33#endif
  34
  35#else /* !CONFIG_XEN_IS_POSSIBLE */
  36
  37#define xen_enabled() 0
  38#ifndef CONFIG_USER_ONLY
  39static inline void xen_hvm_modified_memory(ram_addr_t start, ram_addr_t length)
  40{
  41    /* nothing */
  42}
  43static inline void xen_ram_alloc(ram_addr_t ram_addr, ram_addr_t size,
  44                                 MemoryRegion *mr, Error **errp)
  45{
  46    g_assert_not_reached();
  47}
  48#endif
  49
  50#endif /* CONFIG_XEN_IS_POSSIBLE */
  51
  52#endif
  53