]> git.proxmox.com Git - mirror_qemu.git/commitdiff
target-tricore: introduce ISA v1.6.1 feature
authorBastian Koppelmann <kbastian@mail.uni-paderborn.de>
Wed, 6 May 2015 18:18:41 +0000 (20:18 +0200)
committerBastian Koppelmann <kbastian@mail.uni-paderborn.de>
Fri, 22 May 2015 15:02:33 +0000 (17:02 +0200)
The aurix platform contains of several different cpu models and uses
the 1.6.1 ISA. This patch changes the generic aurix model to the more
specific tc27x cpu model and sets specific features.

Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
Reviewed-by: Richard Henderson <rth@twiddle.net>
target-tricore/cpu.c
target-tricore/cpu.h

index 9fe0b9783fa4293c0b2e1620a0e9b93d0124a802..b3e5512bbfec62bc0946af1aace6cb31da021939 100644 (file)
@@ -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 }
 };
 
index c14b5f9016da4aa5fdb2ce9c02fd3343e629cbe2..504f15623d080364536bad9815bd73c5a1c7a8b4 100644 (file)
@@ -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)