[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC v1 16/22] memory: move tcg flush into a tcg memory lis
From: |
Avi Kivity |
Subject: |
[Qemu-devel] [RFC v1 16/22] memory: move tcg flush into a tcg memory listener |
Date: |
Wed, 3 Oct 2012 18:03:59 +0200 |
We plan to make the core listener listen to all address spaces; this
will cause many more flushes than necessary. Prepare for that by
moving the flush into a tcg-specific listener.
Later we can avoid registering the listener if tcg is disabled.
Signed-off-by: Avi Kivity <address@hidden>
---
exec.c | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/exec.c b/exec.c
index e5f26fb..3c46298 100644
--- a/exec.c
+++ b/exec.c
@@ -3174,7 +3174,7 @@ static void core_begin(MemoryListener *listener)
phys_section_watch = dummy_section(&io_mem_watch);
}
-static void core_commit(MemoryListener *listener)
+static void tcg_commit(MemoryListener *listener)
{
CPUArchState *env;
@@ -3229,7 +3229,6 @@ static void io_region_del(MemoryListener *listener,
static MemoryListener core_memory_listener = {
MEMORY_LISTENER_DEFAULT_OPS,
.begin = core_begin,
- .commit = core_commit,
.region_add = core_region_add,
.region_nop = core_region_nop,
.log_global_start = core_log_global_start,
@@ -3244,6 +3243,11 @@ static void io_region_del(MemoryListener *listener,
.priority = 0,
};
+static MemoryListener tcg_memory_listener = {
+ MEMORY_LISTENER_DEFAULT_OPS,
+ .commit = tcg_commit,
+};
+
static void memory_map_init(void)
{
system_memory = g_malloc(sizeof(*system_memory));
@@ -3258,6 +3262,7 @@ static void memory_map_init(void)
memory_listener_register(&core_memory_listener, system_memory);
memory_listener_register(&io_memory_listener, system_io);
+ memory_listener_register(&tcg_memory_listener, system_memory);
}
MemoryRegion *get_system_memory(void)
--
1.7.12
- [Qemu-devel] [RFC v1 13/22] xen: use new MEMORY_LISTENER_DEFAULT_OPS, (continued)
- [Qemu-devel] [RFC v1 13/22] xen: use new MEMORY_LISTENER_DEFAULT_OPS, Avi Kivity, 2012/10/03
- [Qemu-devel] [RFC v1 10/22] vfio: use new MEMORY_LISTENER_DEFAULT_OPS, Avi Kivity, 2012/10/03
- [Qemu-devel] [RFC v1 11/22] xen_pt: use new MEMORY_LISTENER_DEFAULT_OPS, Avi Kivity, 2012/10/03
- [Qemu-devel] [RFC v1 12/22] kvm: use new MEMORY_LISTENER_DEFAULT_OPS, Avi Kivity, 2012/10/03
- [Qemu-devel] [RFC v1 15/22] memory: move address_space_memory and address_space_io out of memory core, Avi Kivity, 2012/10/03
- [Qemu-devel] [RFC v1 14/22] memory: manage coalesced mmio via a MemoryListener, Avi Kivity, 2012/10/03
- [Qemu-devel] [RFC v1 16/22] memory: move tcg flush into a tcg memory listener,
Avi Kivity <=
- [Qemu-devel] [RFC v1 21/22] pci: give each device its own address space, Avi Kivity, 2012/10/03
- [Qemu-devel] [RFC v1 22/22] pci: honor PCI_COMMAND_MASTER, Avi Kivity, 2012/10/03
- [Qemu-devel] [RFC v1 20/22] dma: make dma access its own address space, Avi Kivity, 2012/10/03
- [Qemu-devel] [RFC v1 19/22] memory: per-AddressSpace dispatch, Avi Kivity, 2012/10/03