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:
parent
1e6fbd637b
commit
05769aae62
@ -490,7 +490,7 @@ typedef struct XtensaConfig {
|
|||||||
} XtensaConfig;
|
} XtensaConfig;
|
||||||
|
|
||||||
typedef struct XtensaConfigList {
|
typedef struct XtensaConfigList {
|
||||||
const XtensaConfig *config;
|
XtensaConfig *config;
|
||||||
struct XtensaConfigList *next;
|
struct XtensaConfigList *next;
|
||||||
} XtensaConfigList;
|
} XtensaConfigList;
|
||||||
|
|
||||||
|
@ -173,9 +173,8 @@ static void xtensa_core_class_init(ObjectClass *oc, void *data)
|
|||||||
{
|
{
|
||||||
CPUClass *cc = CPU_CLASS(oc);
|
CPUClass *cc = CPU_CLASS(oc);
|
||||||
XtensaCPUClass *xcc = XTENSA_CPU_CLASS(oc);
|
XtensaCPUClass *xcc = XTENSA_CPU_CLASS(oc);
|
||||||
XtensaConfig *config = data;
|
const XtensaConfig *config = data;
|
||||||
|
|
||||||
xtensa_finalize_config(config);
|
|
||||||
xcc->config = config;
|
xcc->config = config;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -195,6 +194,8 @@ void xtensa_register_core(XtensaConfigList *node)
|
|||||||
.class_data = (void *)node->config,
|
.class_data = (void *)node->config,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
xtensa_finalize_config(node->config);
|
||||||
|
|
||||||
node->next = xtensa_cores;
|
node->next = xtensa_cores;
|
||||||
xtensa_cores = node;
|
xtensa_cores = node;
|
||||||
type.name = g_strdup_printf(XTENSA_CPU_TYPE_NAME("%s"), node->config->name);
|
type.name = g_strdup_printf(XTENSA_CPU_TYPE_NAME("%s"), node->config->name);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user