xref: /openbmc/qemu/include/sysemu/xen-mapcache.h (revision afd76053)
19c17d615SPaolo Bonzini /*
29c17d615SPaolo Bonzini  * Copyright (C) 2011       Citrix Ltd.
39c17d615SPaolo Bonzini  *
49c17d615SPaolo Bonzini  * This work is licensed under the terms of the GNU GPL, version 2.  See
59c17d615SPaolo Bonzini  * the COPYING file in the top-level directory.
69c17d615SPaolo Bonzini  *
79c17d615SPaolo Bonzini  */
89c17d615SPaolo Bonzini 
99c17d615SPaolo Bonzini #ifndef XEN_MAPCACHE_H
109c17d615SPaolo Bonzini #define XEN_MAPCACHE_H
119c17d615SPaolo Bonzini 
12*ec150c7eSMarkus Armbruster #include "exec/cpu-common.h"
13*ec150c7eSMarkus Armbruster 
1404a8f72eSIgor Druzhinin typedef hwaddr (*phys_offset_to_gaddr_t)(hwaddr phys_offset,
1504a8f72eSIgor Druzhinin                                          ram_addr_t size);
169c17d615SPaolo Bonzini #ifdef CONFIG_XEN
179c17d615SPaolo Bonzini 
189c17d615SPaolo Bonzini void xen_map_cache_init(phys_offset_to_gaddr_t f,
199c17d615SPaolo Bonzini                         void *opaque);
209c17d615SPaolo Bonzini uint8_t *xen_map_cache(hwaddr phys_addr, hwaddr size,
211ff7c598SStefano Stabellini                        uint8_t lock, bool dma);
229c17d615SPaolo Bonzini ram_addr_t xen_ram_addr_from_mapcache(void *ptr);
239c17d615SPaolo Bonzini void xen_invalidate_map_cache_entry(uint8_t *buffer);
249c17d615SPaolo Bonzini void xen_invalidate_map_cache(void);
255ba3d756SIgor Druzhinin uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr,
265ba3d756SIgor Druzhinin                                  hwaddr new_phys_addr,
275ba3d756SIgor Druzhinin                                  hwaddr size);
289c17d615SPaolo Bonzini #else
299c17d615SPaolo Bonzini 
xen_map_cache_init(phys_offset_to_gaddr_t f,void * opaque)309c17d615SPaolo Bonzini static inline void xen_map_cache_init(phys_offset_to_gaddr_t f,
319c17d615SPaolo Bonzini                                       void *opaque)
329c17d615SPaolo Bonzini {
339c17d615SPaolo Bonzini }
349c17d615SPaolo Bonzini 
xen_map_cache(hwaddr phys_addr,hwaddr size,uint8_t lock,bool dma)359c17d615SPaolo Bonzini static inline uint8_t *xen_map_cache(hwaddr phys_addr,
369c17d615SPaolo Bonzini                                      hwaddr size,
371ff7c598SStefano Stabellini                                      uint8_t lock,
381ff7c598SStefano Stabellini                                      bool dma)
399c17d615SPaolo Bonzini {
409c17d615SPaolo Bonzini     abort();
419c17d615SPaolo Bonzini }
429c17d615SPaolo Bonzini 
xen_ram_addr_from_mapcache(void * ptr)439c17d615SPaolo Bonzini static inline ram_addr_t xen_ram_addr_from_mapcache(void *ptr)
449c17d615SPaolo Bonzini {
459c17d615SPaolo Bonzini     abort();
469c17d615SPaolo Bonzini }
479c17d615SPaolo Bonzini 
xen_invalidate_map_cache_entry(uint8_t * buffer)489c17d615SPaolo Bonzini static inline void xen_invalidate_map_cache_entry(uint8_t *buffer)
499c17d615SPaolo Bonzini {
509c17d615SPaolo Bonzini }
519c17d615SPaolo Bonzini 
xen_invalidate_map_cache(void)529c17d615SPaolo Bonzini static inline void xen_invalidate_map_cache(void)
539c17d615SPaolo Bonzini {
549c17d615SPaolo Bonzini }
559c17d615SPaolo Bonzini 
xen_replace_cache_entry(hwaddr old_phys_addr,hwaddr new_phys_addr,hwaddr size)565ba3d756SIgor Druzhinin static inline uint8_t *xen_replace_cache_entry(hwaddr old_phys_addr,
575ba3d756SIgor Druzhinin                                                hwaddr new_phys_addr,
585ba3d756SIgor Druzhinin                                                hwaddr size)
595ba3d756SIgor Druzhinin {
605ba3d756SIgor Druzhinin     abort();
615ba3d756SIgor Druzhinin }
625ba3d756SIgor Druzhinin 
639c17d615SPaolo Bonzini #endif
649c17d615SPaolo Bonzini 
65175de524SMarkus Armbruster #endif /* XEN_MAPCACHE_H */
66