aboutsummaryrefslogtreecommitdiffstats
path: root/tools/ioemu/vl.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/ioemu/vl.h')
-rw-r--r--tools/ioemu/vl.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/tools/ioemu/vl.h b/tools/ioemu/vl.h
index 3df963241c..9e4d92a17b 100644
--- a/tools/ioemu/vl.h
+++ b/tools/ioemu/vl.h
@@ -156,6 +156,26 @@ extern void *shared_vram;
extern FILE *logfile;
+
+#if defined(__i386__) || defined(__x86_64__)
+#if defined(__i386__)
+#define MAX_MCACHE_SIZE 0x40000000 /* 1GB max for x86 */
+#define MCACHE_BUCKET_SHIFT 16
+#elif defined(__x86_64__)
+#define MAX_MCACHE_SIZE 0x1000000000 /* 64GB max for x86_64 */
+#define MCACHE_BUCKET_SHIFT 20
+#endif
+
+#define MCACHE_BUCKET_SIZE (1UL << MCACHE_BUCKET_SHIFT)
+
+struct map_cache {
+ unsigned long paddr_index;
+ uint8_t *vaddr_base;
+};
+
+uint8_t *qemu_map_cache(target_phys_addr_t phys_addr);
+#endif
+
extern int xc_handle;
extern int domid;