xref: /openbmc/qemu/include/sysemu/xen-mapcache.h (revision dbea1c89)
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 #include "sysemu/xen.h"
14 
15 typedef hwaddr (*phys_offset_to_gaddr_t)(hwaddr phys_offset,
16                                          ram_addr_t size);
17 #ifdef CONFIG_XEN_IS_POSSIBLE
18 
19 void xen_map_cache_init(phys_offset_to_gaddr_t f,
20                         void *opaque);
21 uint8_t *xen_map_cache(MemoryRegion *mr, hwaddr phys_addr, hwaddr size,
22                        uint8_t lock, bool dma,
23                        bool is_write);
24 ram_addr_t xen_ram_addr_from_mapcache(void *ptr);
25 void xen_invalidate_map_cache_entry(uint8_t *buffer);
26 void xen_invalidate_map_cache(void);
27 uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr,
28                                  hwaddr new_phys_addr,
29                                  hwaddr size);
30 #else
31 
32 static inline void xen_map_cache_init(phys_offset_to_gaddr_t f,
33                                       void *opaque)
34 {
35 }
36 
37 static inline uint8_t *xen_map_cache(MemoryRegion *mr,
38                                      hwaddr phys_addr,
39                                      hwaddr size,
40                                      uint8_t lock,
41                                      bool dma,
42                                      bool is_write)
43 {
44     abort();
45 }
46 
47 static inline ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
48 {
49     abort();
50 }
51 
52 static inline void xen_invalidate_map_cache_entry(uint8_t *buffer)
53 {
54 }
55 
56 static inline void xen_invalidate_map_cache(void)
57 {
58 }
59 
60 static inline uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr,
61                                                hwaddr new_phys_addr,
62                                                hwaddr size)
63 {
64     abort();
65 }
66 
67 #endif
68 
69 #endif /* XEN_MAPCACHE_H */
70