[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 1/8] target/tricore: Introduce ISA 1.6.2 feature
From: |
Bastian Koppelmann |
Subject: |
[PATCH v3 1/8] target/tricore: Introduce ISA 1.6.2 feature |
Date: |
Wed, 14 Jun 2023 12:00:32 +0200 |
we also introduce the tc37x CPU that implements that ISA version.
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Bastian Koppelmann <kbastian@mail.uni-paderborn.de>
---
target/tricore/cpu.c | 13 +++++++++++++
target/tricore/cpu.h | 1 +
2 files changed, 14 insertions(+)
diff --git a/target/tricore/cpu.c b/target/tricore/cpu.c
index 7fa113fed2..f15169bd1b 100644
--- a/target/tricore/cpu.c
+++ b/target/tricore/cpu.c
@@ -104,6 +104,10 @@ static void tricore_cpu_realizefn(DeviceState *dev, Error
**errp)
}
/* Some features automatically imply others */
+ if (tricore_feature(env, TRICORE_FEATURE_162)) {
+ set_feature(env, TRICORE_FEATURE_161);
+ }
+
if (tricore_feature(env, TRICORE_FEATURE_161)) {
set_feature(env, TRICORE_FEATURE_16);
}
@@ -164,6 +168,14 @@ static void tc27x_initfn(Object *obj)
set_feature(&cpu->env, TRICORE_FEATURE_161);
}
+static void tc37x_initfn(Object *obj)
+{
+ TriCoreCPU *cpu = TRICORE_CPU(obj);
+
+ set_feature(&cpu->env, TRICORE_FEATURE_162);
+}
+
+
#include "hw/core/sysemu-cpu-ops.h"
static const struct SysemuCPUOps tricore_sysemu_ops = {
@@ -226,6 +238,7 @@ static const TypeInfo tricore_cpu_type_infos[] = {
DEFINE_TRICORE_CPU_TYPE("tc1796", tc1796_initfn),
DEFINE_TRICORE_CPU_TYPE("tc1797", tc1797_initfn),
DEFINE_TRICORE_CPU_TYPE("tc27x", tc27x_initfn),
+ DEFINE_TRICORE_CPU_TYPE("tc37x", tc37x_initfn),
};
DEFINE_TYPES(tricore_cpu_type_infos)
diff --git a/target/tricore/cpu.h b/target/tricore/cpu.h
index d98a3fb671..041fc0b6e5 100644
--- a/target/tricore/cpu.h
+++ b/target/tricore/cpu.h
@@ -273,6 +273,7 @@ enum tricore_features {
TRICORE_FEATURE_131,
TRICORE_FEATURE_16,
TRICORE_FEATURE_161,
+ TRICORE_FEATURE_162,
};
static inline int tricore_feature(CPUTriCoreState *env, int feature)
--
2.40.1
- [PATCH v3 0/8] TriCore 1.6.2 Instructions, Bastian Koppelmann, 2023/06/14
- [PATCH v3 1/8] target/tricore: Introduce ISA 1.6.2 feature,
Bastian Koppelmann <=
- [PATCH v3 2/8] target/tricore: Add popcnt.w insn, Bastian Koppelmann, 2023/06/14
- [PATCH v3 3/8] target/tricore: Add LHA insn, Bastian Koppelmann, 2023/06/14
- [PATCH v3 4/8] target/tricore: Add crc32l.w insn, Bastian Koppelmann, 2023/06/14
- [PATCH v3 5/8] target/tricore: Add crc32.b insn, Bastian Koppelmann, 2023/06/14
- [PATCH v3 6/8] target/tricore: Add shuffle insn, Bastian Koppelmann, 2023/06/14
- [PATCH v3 7/8] target/tricore: Implement SYCSCALL insn, Bastian Koppelmann, 2023/06/14
- [PATCH v3 8/8] target/tricore: Add DISABLE insn variant, Bastian Koppelmann, 2023/06/14