2 * Copyright (C) 2011 Citrix Ltd.
4 * This work is licensed under the terms of the GNU GPL, version 2. See
5 * the COPYING file in the top-level directory.
10 #define XEN_MAPCACHE_H
12 #include "exec/cpu-common.h"
13 #include "sysemu/xen.h"
15 typedef hwaddr (*phys_offset_to_gaddr_t
)(hwaddr phys_offset
,
17 #ifdef CONFIG_XEN_IS_POSSIBLE
19 void xen_map_cache_init(phys_offset_to_gaddr_t f
,
21 uint8_t *xen_map_cache(MemoryRegion
*mr
, hwaddr phys_addr
, hwaddr size
,
22 ram_addr_t ram_addr_offset
,
23 uint8_t lock
, bool dma
,
25 ram_addr_t
xen_ram_addr_from_mapcache(void *ptr
);
26 void xen_invalidate_map_cache_entry(uint8_t *buffer
);
27 void xen_invalidate_map_cache(void);
28 uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr
,
33 static inline void xen_map_cache_init(phys_offset_to_gaddr_t f
,
38 static inline uint8_t *xen_map_cache(MemoryRegion
*mr
,
41 ram_addr_t ram_addr_offset
,
49 static inline ram_addr_t
xen_ram_addr_from_mapcache(void *ptr
)
54 static inline void xen_invalidate_map_cache_entry(uint8_t *buffer
)
58 static inline void xen_invalidate_map_cache(void)
62 static inline uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr
,
71 #endif /* XEN_MAPCACHE_H */