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
  12typedef hwaddr (*phys_offset_to_gaddr_t)(hwaddr phys_offset,
  13                                         ram_addr_t size);
  14#ifdef CONFIG_XEN
  15
  16void xen_map_cache_init(phys_offset_to_gaddr_t f,
  17                        void *opaque);
  18uint8_t *xen_map_cache(hwaddr phys_addr, hwaddr size,
  19                       uint8_t lock, bool dma);
  20ram_addr_t xen_ram_addr_from_mapcache(void *ptr);
  21void xen_invalidate_map_cache_entry(uint8_t *buffer);
  22void xen_invalidate_map_cache(void);
  23uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr,
  24                                 hwaddr new_phys_addr,
  25                                 hwaddr size);
  26#else
  27
  28static inline void xen_map_cache_init(phys_offset_to_gaddr_t f,
  29                                      void *opaque)
  30{
  31}
  32
  33static inline uint8_t *xen_map_cache(hwaddr phys_addr,
  34                                     hwaddr size,
  35                                     uint8_t lock,
  36                                     bool dma)
  37{
  38    abort();
  39}
  40
  41static inline ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
  42{
  43    abort();
  44}
  45
  46static inline void xen_invalidate_map_cache_entry(uint8_t *buffer)
  47{
  48}
  49
  50static inline void xen_invalidate_map_cache(void)
  51{
  52}
  53
  54static inline uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr,
  55                                               hwaddr new_phys_addr,
  56                                               hwaddr size)
  57{
  58    abort();
  59}
  60
  61#endif
  62
  63#endif /* XEN_MAPCACHE_H */
  64