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