From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:39385) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YsTEP-0008QQ-LY for qemu-devel@nongnu.org; Wed, 13 May 2015 05:45:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YsTEA-0001MT-EP for qemu-devel@nongnu.org; Wed, 13 May 2015 05:45:37 -0400 Received: from mail.uni-paderborn.de ([131.234.142.9]:57584) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YsTEA-0001Iy-79 for qemu-devel@nongnu.org; Wed, 13 May 2015 05:45:22 -0400 From: Bastian Koppelmann Date: Wed, 13 May 2015 11:45:03 +0200 Message-Id: <1431510311-13355-3-git-send-email-kbastian@mail.uni-paderborn.de> In-Reply-To: <1431510311-13355-1-git-send-email-kbastian@mail.uni-paderborn.de> References: <1431510311-13355-1-git-send-email-kbastian@mail.uni-paderborn.de> Subject: [Qemu-devel] [PATCH 02/10] target-tricore: introduce ISA v1.6.1 feature List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: rth@twiddle.net 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 --- target-tricore/cpu.c | 10 +++++++--- target-tricore/cpu.h | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/target-tricore/cpu.c b/target-tricore/cpu.c index 9fe0b97..b3e5512 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 c14b5f9..504f156 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) -- 2.4.0