xref: /qemu/include/system/xen-mapcache.h (revision d3ab5b56630ba8e68af62aabb5a829e5f55b4dd7)
1432d268cSJun Nakajima /*
2432d268cSJun Nakajima  * Copyright (C) 2011       Citrix Ltd.
3432d268cSJun Nakajima  *
4432d268cSJun Nakajima  * This work is licensed under the terms of the GNU GPL, version 2.  See
5432d268cSJun Nakajima  * the COPYING file in the top-level directory.
6432d268cSJun Nakajima  *
7432d268cSJun Nakajima  */
8432d268cSJun Nakajima 
9432d268cSJun Nakajima #ifndef XEN_MAPCACHE_H
10432d268cSJun Nakajima #define XEN_MAPCACHE_H
11432d268cSJun Nakajima 
12ec150c7eSMarkus Armbruster #include "exec/cpu-common.h"
13*32cad1ffSPhilippe Mathieu-Daudé #include "system/xen.h"
14ec150c7eSMarkus Armbruster 
1504a8f72eSIgor Druzhinin typedef hwaddr (*phys_offset_to_gaddr_t)(hwaddr phys_offset,
1604a8f72eSIgor Druzhinin                                          ram_addr_t size);
17cd1ba7deSAnthony PERARD void xen_map_cache_init(phys_offset_to_gaddr_t f,
18cd1ba7deSAnthony PERARD                         void *opaque);
195a5585f4SEdgar E. Iglesias uint8_t *xen_map_cache(MemoryRegion *mr, hwaddr phys_addr, hwaddr size,
2049a72029SEdgar E. Iglesias                        ram_addr_t ram_addr_offset,
215a5585f4SEdgar E. Iglesias                        uint8_t lock, bool dma,
225a5585f4SEdgar E. Iglesias                        bool is_write);
23e41d7c69SJan Kiszka ram_addr_t xen_ram_addr_from_mapcache(void *ptr);
24e41d7c69SJan Kiszka void xen_invalidate_map_cache_entry(uint8_t *buffer);
25e41d7c69SJan Kiszka void xen_invalidate_map_cache(void);
265ba3d756SIgor Druzhinin uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr,
275ba3d756SIgor Druzhinin                                  hwaddr new_phys_addr,
285ba3d756SIgor Druzhinin                                  hwaddr size);
29fd2a9d2fSAvi Kivity 
30175de524SMarkus Armbruster #endif /* XEN_MAPCACHE_H */
31