summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Huth2018-07-19 15:02:00 +0200
committerPeter Maydell2018-08-06 20:07:21 +0200
commit09d98b69804cfd9eccadb97951e8df64ada3bc7a (patch)
tree69690a7393ffb050644cd79e2bb2e21181d80999
parenthw/intc/arm_gicv3_common: Move gicd shift bug handling to gicv3_post_load (diff)
downloadqemu-09d98b69804cfd9eccadb97951e8df64ada3bc7a.tar.gz
qemu-09d98b69804cfd9eccadb97951e8df64ada3bc7a.tar.xz
qemu-09d98b69804cfd9eccadb97951e8df64ada3bc7a.zip
target/xtensa/cpu: Set owner of memory region in xtensa_cpu_initfn
The instance_init function of the xtensa CPUs creates a memory region, but does not set an owner, so the memory region is not destroyed correctly when the CPU object is removed. This can happen when introspecting the CPU devices, so introspecting the CPU device will leave a dangling memory region object in the QOM tree. Make sure to set the right owner here to fix this issue. Signed-off-by: Thomas Huth <thuth@redhat.com> Acked-by: Max Filippov <jcmvbkbc@gmail.com> Message-id: 1532005320-17794-1-git-send-email-thuth@redhat.com Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r--target/xtensa/cpu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target/xtensa/cpu.c b/target/xtensa/cpu.c
index b50c840e09..590813d4f7 100644
--- a/target/xtensa/cpu.c
+++ b/target/xtensa/cpu.c
@@ -149,7 +149,7 @@ static void xtensa_cpu_initfn(Object *obj)
#ifndef CONFIG_USER_ONLY
env->address_space_er = g_malloc(sizeof(*env->address_space_er));
env->system_er = g_malloc(sizeof(*env->system_er));
- memory_region_init_io(env->system_er, NULL, NULL, env, "er",
+ memory_region_init_io(env->system_er, obj, NULL, env, "er",
UINT64_C(0x100000000));
address_space_init(env->address_space_er, env->system_er, "ER");
#endif