]> git.proxmox.com Git - mirror_qemu.git/commitdiff
Integrate I/O memory regions into qemu
authorAvi Kivity <avi@redhat.com>
Mon, 8 Aug 2011 13:09:03 +0000 (16:09 +0300)
committerAnthony Liguori <aliguori@us.ibm.com>
Mon, 8 Aug 2011 15:15:53 +0000 (10:15 -0500)
get_system_io() returns the root I/O memory region.

Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
exec-memory.h
exec.c

index c439aba3d14f698790e784bbf8657b412f8f4b65..334219fe23c1256a129c006c82edffa1be60d2eb 100644 (file)
  */
 MemoryRegion *get_system_memory(void);
 
+/* Get the root I/O port region.  This interface should only be used
+ * temporarily until a proper bus interface is available.
+ */
+MemoryRegion *get_system_io(void);
+
 /* Set the root memory region.  This region is the system memory map. */
 void set_system_memory_map(MemoryRegion *mr);
 
diff --git a/exec.c b/exec.c
index 719fff9a915f07d0ff2f7c313bceacb6a16332ab..be7e4b24512e10e2ae14be13432c8b5f5155afdd 100644 (file)
--- a/exec.c
+++ b/exec.c
@@ -113,6 +113,7 @@ static int in_migration;
 RAMList ram_list = { .blocks = QLIST_HEAD_INITIALIZER(ram_list) };
 
 static MemoryRegion *system_memory;
+static MemoryRegion *system_io;
 
 #endif
 
@@ -3830,6 +3831,10 @@ static void memory_map_init(void)
     system_memory = qemu_malloc(sizeof(*system_memory));
     memory_region_init(system_memory, "system", INT64_MAX);
     set_system_memory_map(system_memory);
+
+    system_io = qemu_malloc(sizeof(*system_io));
+    memory_region_init(system_io, "io", 65536);
+    set_system_io_map(system_io);
 }
 
 MemoryRegion *get_system_memory(void)
@@ -3837,6 +3842,11 @@ MemoryRegion *get_system_memory(void)
     return system_memory;
 }
 
+MemoryRegion *get_system_io(void)
+{
+    return system_io;
+}
+
 #endif /* !defined(CONFIG_USER_ONLY) */
 
 /* physical memory access (slow version, mainly for debug) */