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