diff mbox

[2/2] memory: print aliased IO ranges in info mtree

Message ID CAAu8pHtuS19veaShc_RUCHO=8xq2YuvPRi0BE5Zk4HpyaUwc1Q@mail.gmail.com
State New
Headers show

Commit Message

Blue Swirl March 11, 2012, 11 a.m. UTC
Print also I/O ports behind bridges and other aliases.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
---
 memory.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

Comments

Avi Kivity March 12, 2012, 12:01 p.m. UTC | #1
On 03/11/2012 01:00 PM, Blue Swirl wrote:
> Print also I/O ports behind bridges and other aliases.
>
> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
> ---
>  memory.c |   13 +++++++++++++
>  1 files changed, 13 insertions(+), 0 deletions(-)
>
> diff --git a/memory.c b/memory.c
> index 4c3dc49..0201392 100644
> --- a/memory.c
> +++ b/memory.c
> @@ -1639,7 +1639,20 @@ void mtree_info(fprintf_function mon_printf, void *f)
>      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);
> +
> +        /* print aliased I/O regions */
> +        QTAILQ_FOREACH(ml, &ml_head, queue) {
> +            if (!ml->printed) {
> +                mon_printf(f, "%s\n", ml->mr->name);
> +                mtree_print_mr(mon_printf, f, ml->mr, 0, 0, &ml_head);
> +            }
> +        }
> +    }
> +
> +    QTAILQ_FOREACH_SAFE(ml, &ml_head, queue, ml2) {
> +        g_free(ml);
>      }
>  }

This is just duplication.  A little refactoring would eliminate it.

Also, we might have an alias from the memory address space and an alias
from the I/O address space pointing into the same region.  So maybe
alias printing should be consolidated for all address spaces.
diff mbox

Patch

From a93566c2bc6dcb703020cf50b1324a1d437d8802 Mon Sep 17 00:00:00 2001
Message-Id: <a93566c2bc6dcb703020cf50b1324a1d437d8802.1331463059.git.blauwirbel@gmail.com>
In-Reply-To: <8afc6dd4b177f1dc631d880964191de609d73b54.1331463059.git.blauwirbel@gmail.com>
References: <8afc6dd4b177f1dc631d880964191de609d73b54.1331463059.git.blauwirbel@gmail.com>
From: Blue Swirl <blauwirbel@gmail.com>
Date: Sat, 10 Mar 2012 16:58:35 +0000
Subject: [PATCH 2/5] memory: print aliased IO ranges in info mtree

Print also I/O ports behind bridges and other aliases.

Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
---
 memory.c |   13 +++++++++++++
 1 files changed, 13 insertions(+), 0 deletions(-)

diff --git a/memory.c b/memory.c
index 4c3dc49..0201392 100644
--- a/memory.c
+++ b/memory.c
@@ -1639,7 +1639,20 @@  void mtree_info(fprintf_function mon_printf, void *f)
     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);
+
+        /* print aliased I/O regions */
+        QTAILQ_FOREACH(ml, &ml_head, queue) {
+            if (!ml->printed) {
+                mon_printf(f, "%s\n", ml->mr->name);
+                mtree_print_mr(mon_printf, f, ml->mr, 0, 0, &ml_head);
+            }
+        }
+    }
+
+    QTAILQ_FOREACH_SAFE(ml, &ml_head, queue, ml2) {
+        g_free(ml);
     }
 }
-- 
1.7.2.5