Merge remote-tracking branch 'stefanha/trivial-patches' into staging
[qemu.git] / xen-mapcache.h
blob339444c94e2e77e63f4acb575b24808434cf3928
1 /*
2 * Copyright (C) 2011 Citrix Ltd.
4 * This work is licensed under the terms of the GNU GPL, version 2. See
5 * the COPYING file in the top-level directory.
7 */
9 #ifndef XEN_MAPCACHE_H
10 #define XEN_MAPCACHE_H
12 #include <sys/mman.h>
13 #include "trace.h"
15 void qemu_map_cache_init(void);
16 uint8_t *qemu_map_cache(target_phys_addr_t phys_addr, target_phys_addr_t size, uint8_t lock);
17 void qemu_map_cache_unlock(void *phys_addr);
18 ram_addr_t qemu_ram_addr_from_mapcache(void *ptr);
19 void qemu_invalidate_entry(uint8_t *buffer);
20 void qemu_invalidate_map_cache(void);
22 uint8_t *xen_map_block(target_phys_addr_t phys_addr, target_phys_addr_t size);
24 static inline void xen_unmap_block(void *addr, ram_addr_t size)
26 trace_xen_unmap_block(addr, size);
28 if (munmap(addr, size) != 0) {
29 hw_error("xen_unmap_block: %s", strerror(errno));
34 #define mapcache_lock() ((void)0)
35 #define mapcache_unlock() ((void)0)
37 #endif /* !XEN_MAPCACHE_H */