target/xtensa: Finalize config in xtensa_register_core()

Make XtensaConfigList::config not const. Only modify
XtensaConfig within xtensa_register_core(), when the
class is registered, not when it is initialized.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Acked-by: Max Filippov <jcmvbkbc@gmail.com>
Message-Id: <20250210133134.90879-4-philmd@linaro.org>
This commit is contained in:
Philippe Mathieu-Daudé 2025-02-09 22:11:46 +01:00
parent 1e6fbd637b
commit 05769aae62
2 changed files with 4 additions and 3 deletions

View File

@ -490,7 +490,7 @@ typedef struct XtensaConfig {
} XtensaConfig;
typedef struct XtensaConfigList {
const XtensaConfig *config;
XtensaConfig *config;
struct XtensaConfigList *next;
} XtensaConfigList;

View File

@ -173,9 +173,8 @@ static void xtensa_core_class_init(ObjectClass *oc, void *data)
{
CPUClass *cc = CPU_CLASS(oc);
XtensaCPUClass *xcc = XTENSA_CPU_CLASS(oc);
XtensaConfig *config = data;
const XtensaConfig *config = data;
xtensa_finalize_config(config);
xcc->config = config;
/*
@ -195,6 +194,8 @@ void xtensa_register_core(XtensaConfigList *node)
.class_data = (void *)node->config,
};
xtensa_finalize_config(node->config);
node->next = xtensa_cores;
xtensa_cores = node;
type.name = g_strdup_printf(XTENSA_CPU_TYPE_NAME("%s"), node->config->name);