diff --git a/target-tricore/cpu.c b/target-tricore/cpu.c index 9fe0b9783fa4293c0b2e1620a0e9b93d0124a802..b3e5512bbfec62bc0946af1aace6cb31da021939 100644 --- a/target-tricore/cpu.c +++ b/target-tricore/cpu.c @@ -68,6 +68,10 @@ static void tricore_cpu_realizefn(DeviceState *dev, Error **errp) CPUTriCoreState *env = &cpu->env; /* Some features automatically imply others */ + if (tricore_feature(env, TRICORE_FEATURE_161)) { + set_feature(env, TRICORE_FEATURE_16); + } + if (tricore_feature(env, TRICORE_FEATURE_16)) { set_feature(env, TRICORE_FEATURE_131); } @@ -128,11 +132,11 @@ static void tc1797_initfn(Object *obj) set_feature(&cpu->env, TRICORE_FEATURE_131); } -static void aurix_initfn(Object *obj) +static void tc27x_initfn(Object *obj) { TriCoreCPU *cpu = TRICORE_CPU(obj); - set_feature(&cpu->env, TRICORE_FEATURE_16); + set_feature(&cpu->env, TRICORE_FEATURE_161); } typedef struct TriCoreCPUInfo { @@ -144,7 +148,7 @@ typedef struct TriCoreCPUInfo { static const TriCoreCPUInfo tricore_cpus[] = { { .name = "tc1796", .initfn = tc1796_initfn }, { .name = "tc1797", .initfn = tc1797_initfn }, - { .name = "aurix", .initfn = aurix_initfn }, + { .name = "tc27x", .initfn = tc27x_initfn }, { .name = NULL } }; diff --git a/target-tricore/cpu.h b/target-tricore/cpu.h index c14b5f9016da4aa5fdb2ce9c02fd3343e629cbe2..504f15623d080364536bad9815bd73c5a1c7a8b4 100644 --- a/target-tricore/cpu.h +++ b/target-tricore/cpu.h @@ -254,6 +254,7 @@ enum tricore_features { TRICORE_FEATURE_13, TRICORE_FEATURE_131, TRICORE_FEATURE_16, + TRICORE_FEATURE_161, }; static inline int tricore_feature(CPUTriCoreState *env, int feature)