]> git.proxmox.com Git - qemu.git/blob - xen-mapcache.h
Merge branch 'ppc-next' of git://repo.or.cz/qemu/agraf
[qemu.git] / xen-mapcache.h
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 #include <sys/mman.h>
13 #include "trace.h"
14
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);
21
22 uint8_t *xen_map_block(target_phys_addr_t phys_addr, target_phys_addr_t size);
23
24 static inline void xen_unmap_block(void *addr, ram_addr_t size)
25 {
26 trace_xen_unmap_block(addr, size);
27
28 if (munmap(addr, size) != 0) {
29 hw_error("xen_unmap_block: %s", strerror(errno));
30 }
31 }
32
33
34 #define mapcache_lock() ((void)0)
35 #define mapcache_unlock() ((void)0)
36
37 #endif /* !XEN_MAPCACHE_H */