The commit: Commit: a53ae8e934cd54686875b5bcfc2f434244ee55d6 Author: Marcel Apfelbaum <marce...@redhat.com> Date: Mon Sep 16 11:21:16 2013 +0300
hw/pci: partially handle pci master abort introduced a regression on make check: qemu-system-mips64el: /home/andreas/QEMU/qemu-cpu/exec.c:802: register_subpage: Assertion `existing->mr->subpage || existing->mr == &io_mem_unassigned' failed. The problem appears when a root memory region within an address space with size < UINT64_MAX has overlapping children with the same size. If the size of the root memory region is UINT64_MAX everyting is ok. Solved the regression by making the system-memory region of size UINT64_MAX instead of INT64_MAX. Signed-off-by: Marcel Apfelbaum <marce...@redhat.com> --- In the mean time I am investigating why the root memory region has to be UINT64_MAX size in order to have overlapping children exec.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exec.c b/exec.c index b453713..8715cf4 100644 --- a/exec.c +++ b/exec.c @@ -1741,7 +1741,7 @@ void address_space_destroy_dispatch(AddressSpace *as) static void memory_map_init(void) { system_memory = g_malloc(sizeof(*system_memory)); - memory_region_init(system_memory, NULL, "system", INT64_MAX); + memory_region_init(system_memory, NULL, "system", UINT64_MAX); address_space_init(&address_space_memory, system_memory, "memory"); system_io = g_malloc(sizeof(*system_io)); -- 1.8.3.1