aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBlue Swirl <blauwirbel@gmail.com>2012-04-08 18:00:42 +0000
committerBlue Swirl <blauwirbel@gmail.com>2012-04-08 18:00:42 +0000
commit7914cb3c738a03a5d5f7cb32c3768bc62eb1e944 (patch)
tree42ef10adba22dfed1ee11256603d918bf7f16569
parent4266717d690987993d52f5e4745064f4dbb29824 (diff)
parent221b3a3f1e5edb9e41a48bfa384803800184b397 (diff)
Merge branch 'memory/core' of git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm
* 'memory/core' of git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm: memory: check address space when a listener is registered memory: print aliased IO ranges in info mtree ioport: use INT64_MAX for IO ranges
-rw-r--r--ioport.c2
-rw-r--r--memory.c19
2 files changed, 13 insertions, 8 deletions
diff --git a/ioport.c b/ioport.c
index 78a3b890fb..6e4ca0dd91 100644
--- a/ioport.c
+++ b/ioport.c
@@ -385,7 +385,7 @@ static void portio_list_add_1(PortioList *piolist,
* rather than an offset relative to to start + off_low.
*/
memory_region_init_io(region, ops, piolist->opaque, piolist->name,
- UINT64_MAX);
+ INT64_MAX);
memory_region_init_alias(alias, piolist->name,
region, start + off_low, off_high - off_low);
memory_region_add_subregion(piolist->address_space,
diff --git a/memory.c b/memory.c
index 22b0352b74..aab4a31323 100644
--- a/memory.c
+++ b/memory.c
@@ -1444,6 +1444,11 @@ static void listener_add_address_space(MemoryListener *listener,
{
FlatRange *fr;
+ if (listener->address_space_filter
+ && listener->address_space_filter != as->root) {
+ return;
+ }
+
if (global_dirty_log) {
listener->log_global_start(listener);
}
@@ -1621,6 +1626,13 @@ void mtree_info(fprintf_function mon_printf, void *f)
mon_printf(f, "memory\n");
mtree_print_mr(mon_printf, f, address_space_memory.root, 0, 0, &ml_head);
+ if (address_space_io.root &&
+ !QTAILQ_EMPTY(&address_space_io.root->subregions)) {
+ mon_printf(f, "I/O\n");
+ mtree_print_mr(mon_printf, f, address_space_io.root, 0, 0, &ml_head);
+ }
+
+ mon_printf(f, "aliases\n");
/* print aliased regions */
QTAILQ_FOREACH(ml, &ml_head, queue) {
if (!ml->printed) {
@@ -1632,11 +1644,4 @@ void mtree_info(fprintf_function mon_printf, void *f)
QTAILQ_FOREACH_SAFE(ml, &ml_head, queue, ml2) {
g_free(ml);
}
-
- if (address_space_io.root &&
- !QTAILQ_EMPTY(&address_space_io.root->subregions)) {
- QTAILQ_INIT(&ml_head);
- mon_printf(f, "I/O\n");
- mtree_print_mr(mon_printf, f, address_space_io.root, 0, 0, &ml_head);
- }
}