OSDN Git Service

monitor: Fix "info mem" to print the last memory range
authorAustin Clements <amdragon@MIT.EDU>
Mon, 15 Aug 2011 03:22:04 +0000 (23:22 -0400)
committerBlue Swirl <blauwirbel@gmail.com>
Sun, 21 Aug 2011 16:42:36 +0000 (16:42 +0000)
"info mem" groups its output into contiguous ranges with identical
protection bits, but previously forgot to print the last range.

Signed-off-by: Austin Clements <amdragon@mit.edu>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
monitor.c

index d049923..d1f03e4 100644 (file)
--- a/monitor.c
+++ b/monitor.c
@@ -2260,6 +2260,8 @@ static void mem_info_32(Monitor *mon, CPUState *env)
             mem_print(mon, &start, &last_prot, end, prot);
         }
     }
+    /* Flush last range */
+    mem_print(mon, &start, &last_prot, (target_phys_addr_t)1 << 32, 0);
 }
 
 static void mem_info_pae32(Monitor *mon, CPUState *env)
@@ -2313,6 +2315,8 @@ static void mem_info_pae32(Monitor *mon, CPUState *env)
             mem_print(mon, &start, &last_prot, end, prot);
         }
     }
+    /* Flush last range */
+    mem_print(mon, &start, &last_prot, (target_phys_addr_t)1 << 32, 0);
 }
 
 
@@ -2387,6 +2391,8 @@ static void mem_info_64(Monitor *mon, CPUState *env)
             mem_print(mon, &start, &last_prot, end, prot);
         }
     }
+    /* Flush last range */
+    mem_print(mon, &start, &last_prot, (target_phys_addr_t)1 << 48, 0);
 }
 #endif