[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 07/31] target/loongarch: Add new object class for loongarch32 cpus
From: |
Song Gao |
Subject: |
[PULL 07/31] target/loongarch: Add new object class for loongarch32 cpus |
Date: |
Thu, 24 Aug 2023 17:23:45 +0800 |
From: Jiajie Chen <c@jia.je>
Add object class stub for future loongarch32 cpus.
Signed-off-by: Jiajie Chen <c@jia.je>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Song Gao <gaosong@loongson.cn>
Message-ID: <20230817093121.1053890-3-gaosong@loongson.cn>
[Rebased on TYPE_LOONGARCH64_CPU introduction]
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230821125959.28666-8-philmd@linaro.org>
---
target/loongarch/cpu.c | 11 +++++++++++
target/loongarch/cpu.h | 1 +
2 files changed, 12 insertions(+)
diff --git a/target/loongarch/cpu.c b/target/loongarch/cpu.c
index 6384bda1bd..556419f159 100644
--- a/target/loongarch/cpu.c
+++ b/target/loongarch/cpu.c
@@ -726,6 +726,10 @@ static void loongarch_cpu_class_init(ObjectClass *c, void
*data)
#endif
}
+static void loongarch32_cpu_class_init(ObjectClass *c, void *data)
+{
+}
+
static gchar *loongarch64_gdb_arch_name(CPUState *cs)
{
return g_strdup("loongarch64");
@@ -758,6 +762,13 @@ static const TypeInfo loongarch_cpu_type_infos[] = {
.class_size = sizeof(LoongArchCPUClass),
.class_init = loongarch_cpu_class_init,
},
+ {
+ .name = TYPE_LOONGARCH32_CPU,
+ .parent = TYPE_LOONGARCH_CPU,
+
+ .abstract = true,
+ .class_init = loongarch32_cpu_class_init,
+ },
{
.name = TYPE_LOONGARCH64_CPU,
.parent = TYPE_LOONGARCH_CPU,
diff --git a/target/loongarch/cpu.h b/target/loongarch/cpu.h
index 3235ad081f..b8af491041 100644
--- a/target/loongarch/cpu.h
+++ b/target/loongarch/cpu.h
@@ -382,6 +382,7 @@ struct ArchCPU {
};
#define TYPE_LOONGARCH_CPU "loongarch-cpu"
+#define TYPE_LOONGARCH32_CPU "loongarch32-cpu"
#define TYPE_LOONGARCH64_CPU "loongarch64-cpu"
OBJECT_DECLARE_CPU_TYPE(LoongArchCPU, LoongArchCPUClass,
--
2.39.1
- [PULL 00/31] loongarch-to-apply queue, Song Gao, 2023/08/24
- [PULL 02/31] target/loongarch: Remove duplicated disas_set_info assignment, Song Gao, 2023/08/24
- [PULL 03/31] target/loongarch: Fix loongarch_la464_initfn() misses setting LSPW, Song Gao, 2023/08/24
- [PULL 05/31] target/loongarch: Extract 64-bit specifics to loongarch64_cpu_class_init, Song Gao, 2023/08/24
- [PULL 07/31] target/loongarch: Add new object class for loongarch32 cpus,
Song Gao <=
- [PULL 09/31] target/loongarch: Support LoongArch32 TLB entry, Song Gao, 2023/08/24
- [PULL 04/31] target/loongarch: Introduce abstract TYPE_LOONGARCH64_CPU, Song Gao, 2023/08/24
- [PULL 08/31] target/loongarch: Add GDB support for loongarch32 mode, Song Gao, 2023/08/24
- [PULL 06/31] target/loongarch: Add function to check current arch, Song Gao, 2023/08/24
- [PULL 01/31] target/loongarch: Log I/O write accesses to CSR registers, Song Gao, 2023/08/24
- [PULL 22/31] hw/loongarch: Remove restriction of la464 cores in the virt machine, Song Gao, 2023/08/24
- [PULL 23/31] target/loongarch: Add avail_FP/FP_SP/FP_DP to check fpu instructions, Song Gao, 2023/08/24
- [PULL 15/31] target/loongarch: Extract make_address_pc() helper, Song Gao, 2023/08/24
- [PULL 18/31] target/loongarch: Sign extend results in VA32 mode, Song Gao, 2023/08/24
- [PULL 27/31] target/loongarch: Add avail_IOCSR to check iocsr instructions, Song Gao, 2023/08/24