From: Jiajie Chen Date: Wed, 19 Nov 2025 12:30:58 +0000 (+0800) Subject: target/loongarch: Add LA v1.1 instructions to max cpu X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=59c8adc2830342c2cff5fe8867191d0e166abb29;p=thirdparty%2Fqemu.git target/loongarch: Add LA v1.1 instructions to max cpu Add LA v1.1 new instructinos to max cpu by enabling new features in CPUCFG2. Signed-off-by: Jiajie Chen Reviewed-by: Song Gao Signed-off-by: Song Gao --- diff --git a/target/loongarch/cpu.c b/target/loongarch/cpu.c index 4fa629cb14..54dbee2554 100644 --- a/target/loongarch/cpu.c +++ b/target/loongarch/cpu.c @@ -417,7 +417,16 @@ static void loongarch_max_initfn(Object *obj) if (tcg_enabled()) { cpu->env.cpucfg[1] = FIELD_DP32(cpu->env.cpucfg[1], CPUCFG1, MSG_INT, 1); cpu->msgint = ON_OFF_AUTO_AUTO; - cpu->env.cpucfg[2] = FIELD_DP32(cpu->env.cpucfg[2], CPUCFG2, HPTW, 1); + + uint32_t data = cpu->env.cpucfg[2]; + data = FIELD_DP32(data, CPUCFG2, HPTW, 1); + /* Enable LA v1.1 instructions */ + data = FIELD_DP32(data, CPUCFG2, FRECIPE, 1); + data = FIELD_DP32(data, CPUCFG2, LAM_BH, 1); + data = FIELD_DP32(data, CPUCFG2, LAMCAS, 1); + data = FIELD_DP32(data, CPUCFG2, LLACQ_SCREL, 1); + data = FIELD_DP32(data, CPUCFG2, SCQ, 1); + cpu->env.cpucfg[2] = data; } }