Statistics
| Branch: | Revision:

root / xen-mapcache.h @ a74cdab4

History | View | Annotate | Download (978 Bytes)

1 432d268c Jun Nakajima
/*
2 432d268c Jun Nakajima
 * Copyright (C) 2011       Citrix Ltd.
3 432d268c Jun Nakajima
 *
4 432d268c Jun Nakajima
 * This work is licensed under the terms of the GNU GPL, version 2.  See
5 432d268c Jun Nakajima
 * the COPYING file in the top-level directory.
6 432d268c Jun Nakajima
 *
7 432d268c Jun Nakajima
 */
8 432d268c Jun Nakajima
9 432d268c Jun Nakajima
#ifndef XEN_MAPCACHE_H
10 432d268c Jun Nakajima
#define XEN_MAPCACHE_H
11 432d268c Jun Nakajima
12 432d268c Jun Nakajima
#include <sys/mman.h>
13 432d268c Jun Nakajima
#include "trace.h"
14 432d268c Jun Nakajima
15 432d268c Jun Nakajima
void     qemu_map_cache_init(void);
16 432d268c Jun Nakajima
uint8_t  *qemu_map_cache(target_phys_addr_t phys_addr, target_phys_addr_t size, uint8_t lock);
17 432d268c Jun Nakajima
void     qemu_map_cache_unlock(void *phys_addr);
18 432d268c Jun Nakajima
ram_addr_t qemu_ram_addr_from_mapcache(void *ptr);
19 432d268c Jun Nakajima
void     qemu_invalidate_entry(uint8_t *buffer);
20 432d268c Jun Nakajima
void     qemu_invalidate_map_cache(void);
21 432d268c Jun Nakajima
22 432d268c Jun Nakajima
uint8_t *xen_map_block(target_phys_addr_t phys_addr, target_phys_addr_t size);
23 432d268c Jun Nakajima
24 432d268c Jun Nakajima
static inline void xen_unmap_block(void *addr, ram_addr_t size)
25 432d268c Jun Nakajima
{
26 432d268c Jun Nakajima
    trace_xen_unmap_block(addr, size);
27 432d268c Jun Nakajima
28 432d268c Jun Nakajima
    if (munmap(addr, size) != 0) {
29 432d268c Jun Nakajima
        hw_error("xen_unmap_block: %s", strerror(errno));
30 432d268c Jun Nakajima
    }
31 432d268c Jun Nakajima
}
32 432d268c Jun Nakajima
33 432d268c Jun Nakajima
34 432d268c Jun Nakajima
#define mapcache_lock()   ((void)0)
35 432d268c Jun Nakajima
#define mapcache_unlock() ((void)0)
36 432d268c Jun Nakajima
37 432d268c Jun Nakajima
#endif /* !XEN_MAPCACHE_H */