]> git.proxmox.com Git - mirror_qemu.git/blob - xen-mapcache.h
b89b8f9653a5f58e0ea710ae0db095a7355c9eb6
[mirror_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 ram_addr_t qemu_ram_addr_from_mapcache(void *ptr);
18 void qemu_invalidate_entry(uint8_t *buffer);
19 void qemu_invalidate_map_cache(void);
20
21 uint8_t *xen_map_block(target_phys_addr_t phys_addr, target_phys_addr_t size);
22
23 static inline void xen_unmap_block(void *addr, ram_addr_t size)
24 {
25 trace_xen_unmap_block(addr, size);
26
27 if (munmap(addr, size) != 0) {
28 hw_error("xen_unmap_block: %s", strerror(errno));
29 }
30 }
31
32
33 #define mapcache_lock() ((void)0)
34 #define mapcache_unlock() ((void)0)
35
36 #endif /* !XEN_MAPCACHE_H */