qemu/include/sysemu/xen-mapcache.h
<<
>>
Prefs
   1/*
   2 * Copyright (C) 2011       Citrix Ltd.
   3 *
   4 * This work is licensed under the terms of the GNU GPL, version 2.  See
   5 * the COPYING file in the top-level directory.
   6 *
   7 */
   8
   9#ifndef XEN_MAPCACHE_H
  10#define XEN_MAPCACHE_H
  11
  12#include "exec/cpu-common.h"
  13
  14typedef hwaddr (*phys_offset_to_gaddr_t)(hwaddr phys_offset,
  15                                         ram_addr_t size);
  16#ifdef CONFIG_XEN
  17
  18void xen_map_cache_init(phys_offset_to_gaddr_t f,
  19                        void *opaque);
  20uint8_t *xen_map_cache(hwaddr phys_addr, hwaddr size,
  21                       uint8_t lock, bool dma);
  22ram_addr_t xen_ram_addr_from_mapcache(void *ptr);
  23void xen_invalidate_map_cache_entry(uint8_t *buffer);
  24void xen_invalidate_map_cache(void);
  25uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr,
  26                                 hwaddr new_phys_addr,
  27                                 hwaddr size);
  28#else
  29
  30static inline void xen_map_cache_init(phys_offset_to_gaddr_t f,
  31                                      void *opaque)
  32{
  33}
  34
  35static inline uint8_t *xen_map_cache(hwaddr phys_addr,
  36                                     hwaddr size,
  37                                     uint8_t lock,
  38                                     bool dma)
  39{
  40    abort();
  41}
  42
  43static inline ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
  44{
  45    abort();
  46}
  47
  48static inline void xen_invalidate_map_cache_entry(uint8_t *buffer)
  49{
  50}
  51
  52static inline void xen_invalidate_map_cache(void)
  53{
  54}
  55
  56static inline uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr,
  57                                               hwaddr new_phys_addr,
  58                                               hwaddr size)
  59{
  60    abort();
  61}
  62
  63#endif
  64
  65#endif /* XEN_MAPCACHE_H */
  66