38 lines
		
	
	
		
			978 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			978 B
		
	
	
	
		
			C
		
	
	
	
| /*
 | |
|  * Copyright (C) 2011       Citrix Ltd.
 | |
|  *
 | |
|  * This work is licensed under the terms of the GNU GPL, version 2.  See
 | |
|  * the COPYING file in the top-level directory.
 | |
|  *
 | |
|  */
 | |
| 
 | |
| #ifndef XEN_MAPCACHE_H
 | |
| #define XEN_MAPCACHE_H
 | |
| 
 | |
| #include <sys/mman.h>
 | |
| #include "trace.h"
 | |
| 
 | |
| void     qemu_map_cache_init(void);
 | |
| uint8_t  *qemu_map_cache(target_phys_addr_t phys_addr, target_phys_addr_t size, uint8_t lock);
 | |
| void     qemu_map_cache_unlock(void *phys_addr);
 | |
| ram_addr_t qemu_ram_addr_from_mapcache(void *ptr);
 | |
| void     qemu_invalidate_entry(uint8_t *buffer);
 | |
| void     qemu_invalidate_map_cache(void);
 | |
| 
 | |
| uint8_t *xen_map_block(target_phys_addr_t phys_addr, target_phys_addr_t size);
 | |
| 
 | |
| static inline void xen_unmap_block(void *addr, ram_addr_t size)
 | |
| {
 | |
|     trace_xen_unmap_block(addr, size);
 | |
| 
 | |
|     if (munmap(addr, size) != 0) {
 | |
|         hw_error("xen_unmap_block: %s", strerror(errno));
 | |
|     }
 | |
| }
 | |
| 
 | |
| 
 | |
| #define mapcache_lock()   ((void)0)
 | |
| #define mapcache_unlock() ((void)0)
 | |
| 
 | |
| #endif /* !XEN_MAPCACHE_H */
 |