@samitouri / QOSamiQemu / commits / ce386d1313

target/loongarch: Add default cpucfg3 with LA464 CPU

The features shown in cpucfg3 mostly are relative with cache capability, QEMU does not support cache emulation and discard these features. However it will be better if it is the same with host machine. Here add default cpucfg3 feature information with LA464 CPU. Signed-off-by: Bibo Mao <maobibo@loongson.cn> Reviewed-by: Song Gao <gaosong@loongson.cn> Signed-off-by: Song Gao <gaosong@loongson.cn>

Bibo Mao committed Feb 25, 2026 at 09:41 UTC ce386d1313d9c84506d9a410de8ecddfcf92da68
1 file changed +16
target/loongarch/cpu.c
+16
@@ -321,6 +321,22 @@ static void loongarch_la464_initfn(Object *obj)
321 data = FIELD_DP32(data, CPUCFG2, LAM, 1);
322 env->cpucfg[2] = data;
323
324 + data = 0;
325 + data = FIELD_DP32(data, CPUCFG3, CCDMA, 1);
326 + data = FIELD_DP32(data, CPUCFG3, UCACC, 1);
327 + data = FIELD_DP32(data, CPUCFG3, LLEXC, 1);
328 + data = FIELD_DP32(data, CPUCFG3, SCDLY, 1);
329 + data = FIELD_DP32(data, CPUCFG3, LLDBAR, 1);
330 + data = FIELD_DP32(data, CPUCFG3, ITLBHMC, 1);
331 + data = FIELD_DP32(data, CPUCFG3, ICHMC, 1);
332 + data = FIELD_DP32(data, CPUCFG3, SPW_LVL, 4);
333 + data = FIELD_DP32(data, CPUCFG3, SPW_HP_HF, 1);
334 + if (kvm_enabled()) {
335 + data = FIELD_DP32(data, CPUCFG3, RVA, 1);
336 + data = FIELD_DP32(data, CPUCFG3, RVAMAX, 7);
337 + }
338 + env->cpucfg[3] = data;
339 +
340 env->cpucfg[4] = 100 * 1000 * 1000; /* Crystal frequency */
341
342 data = 0;