memory: Fix zero-sized memory region print
PATCH 1/1 memory: Fix zero-sized memory region print
if mr->size == 0, then
int128_get64(int128_sub(mr->size, int128_make64(1))) => assert(!a.hi)
Also, use int128_one().
Signed-off-by Alex Williamson <[email protected]>
--- memory.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)
memory.c +6 -2
@@ -1788,7 +1788,9 @@ static void mtree_print_mr(fprintf_function mon_printf, void *f,"-" TARGET_FMT_plx"\n" , base + mr->addr, base + mr->addr - + (hwaddr )int128_get64 (int128_sub (mr->size,int128_make64 (1 ))), + + (int128_nz (mr->size) ? + (hwaddr )int128_get64 (int128_sub (mr->size, +int128_one ())) :0 ), mr->priority, mr->romd_mode ?'R' :'-' , !mr->readonly && !(mr->rom_device && mr->romd_mode) ? 'W'
@@ -1803,7 +1805,9 @@ static void mtree_print_mr(fprintf_function mon_printf, void *f, TARGET_FMT_plx"-" TARGET_FMT_plx" (prio %d, %c%c): %s\n" , base + mr->addr, base + mr->addr - + (hwaddr )int128_get64 (int128_sub (mr->size,int128_make64 (1 ))), + + (int128_nz (mr->size) ? + (hwaddr )int128_get64 (int128_sub (mr->size, +int128_one ())) :0 ), mr->priority, mr->romd_mode ?'R' :'-' , !mr->readonly && !(mr->rom_device && mr->romd_mode) ? 'W'
Il 19/07/2013 20:42, Alex Williamson ha scritto:
Quoted 7 lines
if
mr->size== 0, then
int128_get64(int128_sub(mr->size, int128_make64(1)))=> assert(!a.hi)Also, use
int128_one().Signed-off-by Alex Williamson <[email protected]>
Reviewed-by Paolo Bonzini <[email protected]>
Quoted 31 lines
--- memory.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)memory.c +6
-2@@ -1788,7 +1788,9 @@ static void mtree_print_mr(fprintf_function mon_printf, void *f,"-" TARGET_FMT_plx"\n" , base + mr->addr, base + mr->addr - + (hwaddr )int128_get64 (int128_sub (mr->size,int128_make64 (1 ))), + + (int128_nz (mr->size) ? + (hwaddr )int128_get64 (int128_sub (mr->size, +int128_one ())) :0 ), mr->priority, mr->romd_mode ?'R' :'-' , !mr->readonly && !(mr->rom_device && mr->romd_mode) ? 'W'@@ -1803,7 +1805,9 @@ static void mtree_print_mr(fprintf_function mon_printf, void *f, TARGET_FMT_plx"-" TARGET_FMT_plx" (prio %d, %c%c): %s\n" , base + mr->addr, base + mr->addr - + (hwaddr )int128_get64 (int128_sub (mr->size,int128_make64 (1 ))), + + (int128_nz (mr->size) ? + (hwaddr )int128_get64 (int128_sub (mr->size, +int128_one ())) :0 ), mr->priority, mr->romd_mode ?'R' :'-' , !mr->readonly && !(mr->rom_device && mr->romd_mode) ? 'W'
Anthony Liguori
AppliedApplied. Thanks.
Regards,
Anthony Liguori