aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Huth <thuth@redhat.com>2018-07-19 15:02:00 +0200
committerPeter Maydell <peter.maydell@linaro.org>2018-08-06 19:07:21 +0100
commit09d98b69804cfd9eccadb97951e8df64ada3bc7a (patch)
tree69690a7393ffb050644cd79e2bb2e21181d80999
parent341823c172168a6d2765937aaea635f5136c5aa9 (diff)
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