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