Most features about LA664 CPU hardware is finished in TCG and KVM mode, add la664 CPU type and it is similar with max CPU type.
Signed-off-by: Bibo Mao <[email protected]> --- target/loongarch/cpu.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/target/loongarch/cpu.c b/target/loongarch/cpu.c index f4d3d75e16..759fee0b26 100644 --- a/target/loongarch/cpu.c +++ b/target/loongarch/cpu.c @@ -457,12 +457,11 @@ static void loongarch_la132_initfn(Object *obj) cpu->ptw = ON_OFF_AUTO_OFF; } -static void loongarch_max_initfn(Object *obj) +static void loongarch_la664_initfn(Object *obj) { LoongArchCPU *cpu = LOONGARCH_CPU(obj); uint32_t data; - /* '-cpu max': use it for max supported CPU features */ loongarch_la464_initfn(obj); cpu->env.cpucfg[2] = FIELD_DP32(cpu->env.cpucfg[2], CPUCFG2, HPTW, 1); @@ -484,6 +483,12 @@ static void loongarch_max_initfn(Object *obj) cpu->env.cpucfg[3] = data; } +static void loongarch_max_initfn(Object *obj) +{ + /* '-cpu max': use it for max supported CPU features */ + loongarch_la664_initfn(obj); +} + #if defined(CONFIG_KVM) static int read_cpuinfo(const char *field, char *value, int len) { @@ -940,6 +945,8 @@ static const TypeInfo loongarch_cpu_type_infos[] = { .abstract = true, .class_init = loongarch64_cpu_class_init, }, + + DEFINE_LOONGARCH_CPU_TYPE(64, "la664", loongarch_la664_initfn), DEFINE_LOONGARCH_CPU_TYPE(64, "la464", loongarch_la464_initfn), DEFINE_LOONGARCH_CPU_TYPE(32, "la132", loongarch_la132_initfn), DEFINE_LOONGARCH_CPU_TYPE(64, "max", loongarch_max_initfn), -- 2.54.0
