From 1a1c4db9b298956e89caf53b09b6a7a960d55d66 Mon Sep 17 00:00:00 2001 From: Mikhail Ilyin Date: Mon, 8 Sep 2014 17:28:56 +0400 Subject: translate-all.c: memory walker initial address miscalculation The initial base address is miscalculated in walk_memory_regions(). It has to be shifted TARGET_PAGE_BITS more. Holder variables are extended to target_ulong size otherwise they don't fit for MIPS N32 (a 32-bit ABI with a 64-bit address space) and qemu won't compile. The issue led to incorrect debug output of memory maps and a mis-formed coredumped file. Signed-off-by: Mikhail Ilyin Signed-off-by: Riku Voipio --- include/exec/cpu-all.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include/exec/cpu-all.h') diff --git a/include/exec/cpu-all.h b/include/exec/cpu-all.h index f9d132fc0b..c085804aed 100644 --- a/include/exec/cpu-all.h +++ b/include/exec/cpu-all.h @@ -232,8 +232,8 @@ extern uintptr_t qemu_host_page_mask; #if defined(CONFIG_USER_ONLY) void page_dump(FILE *f); -typedef int (*walk_memory_regions_fn)(void *, abi_ulong, - abi_ulong, unsigned long); +typedef int (*walk_memory_regions_fn)(void *, target_ulong, + target_ulong, unsigned long); int walk_memory_regions(void *, walk_memory_regions_fn); int page_get_flags(target_ulong address); -- cgit v1.2.3