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