diff options
author | Thomas Huth <thuth@redhat.com> | 2018-07-19 15:02:00 +0200 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2018-08-06 19:07:21 +0100 |
commit | 09d98b69804cfd9eccadb97951e8df64ada3bc7a (patch) | |
tree | 69690a7393ffb050644cd79e2bb2e21181d80999 /target | |
parent | 341823c172168a6d2765937aaea635f5136c5aa9 (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>
Diffstat (limited to 'target')
-rw-r--r-- | target/xtensa/cpu.c | 2 |
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 |