arm_destroy_cpreg_list() releases ressources allocated by arm_init_cpreg_list().
Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> --- target/arm/internals.h | 2 ++ target/arm/helper.c | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/target/arm/internals.h b/target/arm/internals.h index 400b4d670f6..5af9b1110e8 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -375,6 +375,8 @@ void arm_cpu_register(const ARMCPUInfo *info); void register_cp_regs_for_features(ARMCPU *cpu); void arm_init_cpreg_list(ARMCPU *cpu); +/* Release ressources allocated by arm_init_cpreg_list() */ +void arm_destroy_cpreg_list(ARMCPU *cpu); void arm_cpu_register_gdb_regs_for_features(ARMCPU *cpu); void arm_translate_init(void); diff --git a/target/arm/helper.c b/target/arm/helper.c index 0db3e05571f..9b7a2b94bd3 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -268,6 +268,14 @@ void arm_init_cpreg_list(ARMCPU *cpu) g_list_free(keys); } +void arm_destroy_cpreg_list(ARMCPU *cpu) +{ + g_free(cpu->cpreg_indexes); + g_free(cpu->cpreg_values); + g_free(cpu->cpreg_vmstate_indexes); + g_free(cpu->cpreg_vmstate_values); +} + bool arm_pan_enabled(CPUARMState *env) { if (is_a64(env)) { -- 2.51.0