target/loongarch: Use sys_state in kvm.c when accessing CSR registers
When accessing CSR registers in file kvm.c, use sys_state rather than env. Signed-off-by: Bibo Mao <maobibo@loongson.cn> Reviewed-by: Philippe Mathieu-Daudé <philmd@mailo.com> Tested-by: Song Gao <gaosong@loongson.cn> Message-ID: <20260605082552.175336-6-maobibo@loongson.cn> Signed-off-by: Song Gao <gaosong@loongson.cn>
Bibo Mao committed
Jun 5, 2026 at 16:25 UTC
96432d94a42961036a52634a8cc1427b301c1829
1 file changed
+116
-112
target/loongarch/kvm/kvm.c
+116
-112
@@ -161,6 +161,7 @@ static int kvm_loongarch_put_pmu(CPUState *cs)
161
int i, ret = 0;
162
CPULoongArchState *env = cpu_env(cs);
163
LoongArchCPU *cpu = LOONGARCH_CPU(cs);
164
+ CPUSysState *sys = env_sys(env);
165
166
if (cpu->pmu != ON_OFF_AUTO_ON) {
167
return 0;
@@ -168,9 +169,9 @@ static int kvm_loongarch_put_pmu(CPUState *cs)
169
170
for (i = 0; i < env->perf_event_num; i++) {
171
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PERFCTRL(i)),
171
- &env->CSR_PERFCTRL[i]);
172
+ &sys->CSR_PERFCTRL[i]);
173
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PERFCNTR(i)),
173
- &env->CSR_PERFCNTR[i]);
174
+ &sys->CSR_PERFCNTR[i]);
175
}
176
177
return ret;
@@ -181,6 +182,7 @@ static int kvm_loongarch_get_pmu(CPUState *cs)
182
int i, ret = 0;
183
CPULoongArchState *env = cpu_env(cs);
184
LoongArchCPU *cpu = LOONGARCH_CPU(cs);
185
+ CPUSysState *sys = env_sys(env);
186
187
if (cpu->pmu != ON_OFF_AUTO_ON) {
188
return 0;
@@ -188,9 +190,9 @@ static int kvm_loongarch_get_pmu(CPUState *cs)
190
191
for (i = 0; i < env->perf_event_num; i++) {
192
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PERFCTRL(i)),
191
- &env->CSR_PERFCTRL[i]);
193
+ &sys->CSR_PERFCTRL[i]);
194
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PERFCNTR(i)),
193
- &env->CSR_PERFCNTR[i]);
195
+ &sys->CSR_PERFCNTR[i]);
196
}
197
198
return ret;
@@ -200,170 +202,171 @@ static int kvm_loongarch_get_csr(CPUState *cs)
202
{
203
int ret = 0;
204
CPULoongArchState *env = cpu_env(cs);
205
+ CPUSysState *sys = env_sys(env);
206
207
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_CRMD),
205
- &env->CSR_CRMD);
208
+ &sys->CSR_CRMD);
209
210
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PRMD),
208
- &env->CSR_PRMD);
211
+ &sys->CSR_PRMD);
212
213
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_EUEN),
211
- &env->CSR_EUEN);
214
+ &sys->CSR_EUEN);
215
216
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_MISC),
214
- &env->CSR_MISC);
217
+ &sys->CSR_MISC);
218
219
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_ECFG),
217
- &env->CSR_ECFG);
220
+ &sys->CSR_ECFG);
221
222
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_ESTAT),
220
- &env->CSR_ESTAT);
223
+ &sys->CSR_ESTAT);
224
225
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_ERA),
223
- &env->CSR_ERA);
226
+ &sys->CSR_ERA);
227
228
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_BADV),
226
- &env->CSR_BADV);
229
+ &sys->CSR_BADV);
230
231
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_BADI),
229
- &env->CSR_BADI);
232
+ &sys->CSR_BADI);
233
234
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_EENTRY),
232
- &env->CSR_EENTRY);
235
+ &sys->CSR_EENTRY);
236
237
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBIDX),
235
- &env->CSR_TLBIDX);
238
+ &sys->CSR_TLBIDX);
239
240
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBEHI),
238
- &env->CSR_TLBEHI);
241
+ &sys->CSR_TLBEHI);
242
243
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBELO0),
241
- &env->CSR_TLBELO0);
244
+ &sys->CSR_TLBELO0);
245
246
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBELO1),
244
- &env->CSR_TLBELO1);
247
+ &sys->CSR_TLBELO1);
248
249
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_ASID),
247
- &env->CSR_ASID);
250
+ &sys->CSR_ASID);
251
252
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PGDL),
250
- &env->CSR_PGDL);
253
+ &sys->CSR_PGDL);
254
255
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PGDH),
253
- &env->CSR_PGDH);
256
+ &sys->CSR_PGDH);
257
258
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PGD),
256
- &env->CSR_PGD);
259
+ &sys->CSR_PGD);
260
261
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PWCL),
259
- &env->CSR_PWCL);
262
+ &sys->CSR_PWCL);
263
264
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PWCH),
262
- &env->CSR_PWCH);
265
+ &sys->CSR_PWCH);
266
267
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_STLBPS),
265
- &env->CSR_STLBPS);
268
+ &sys->CSR_STLBPS);
269
270
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_RVACFG),
268
- &env->CSR_RVACFG);
271
+ &sys->CSR_RVACFG);
272
273
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_CPUID),
271
- &env->CSR_CPUID);
274
+ &sys->CSR_CPUID);
275
276
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PRCFG1),
274
- &env->CSR_PRCFG1);
277
+ &sys->CSR_PRCFG1);
278
279
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PRCFG2),
277
- &env->CSR_PRCFG2);
280
+ &sys->CSR_PRCFG2);
281
282
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PRCFG3),
280
- &env->CSR_PRCFG3);
283
+ &sys->CSR_PRCFG3);
284
285
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(0)),
283
- &env->CSR_SAVE[0]);
286
+ &sys->CSR_SAVE[0]);
287
288
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(1)),
286
- &env->CSR_SAVE[1]);
289
+ &sys->CSR_SAVE[1]);
290
291
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(2)),
289
- &env->CSR_SAVE[2]);
292
+ &sys->CSR_SAVE[2]);
293
294
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(3)),
292
- &env->CSR_SAVE[3]);
295
+ &sys->CSR_SAVE[3]);
296
297
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(4)),
295
- &env->CSR_SAVE[4]);
298
+ &sys->CSR_SAVE[4]);
299
300
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(5)),
298
- &env->CSR_SAVE[5]);
301
+ &sys->CSR_SAVE[5]);
302
303
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(6)),
301
- &env->CSR_SAVE[6]);
304
+ &sys->CSR_SAVE[6]);
305
306
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(7)),
304
- &env->CSR_SAVE[7]);
307
+ &sys->CSR_SAVE[7]);
308
309
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TID),
307
- &env->CSR_TID);
310
+ &sys->CSR_TID);
311
312
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_CNTC),
310
- &env->CSR_CNTC);
313
+ &sys->CSR_CNTC);
314
315
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TICLR),
313
- &env->CSR_TICLR);
316
+ &sys->CSR_TICLR);
317
318
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_LLBCTL),
316
- &env->CSR_LLBCTL);
319
+ &sys->CSR_LLBCTL);
320
321
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_IMPCTL1),
319
- &env->CSR_IMPCTL1);
322
+ &sys->CSR_IMPCTL1);
323
324
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_IMPCTL2),
322
- &env->CSR_IMPCTL2);
325
+ &sys->CSR_IMPCTL2);
326
327
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRENTRY),
325
- &env->CSR_TLBRENTRY);
328
+ &sys->CSR_TLBRENTRY);
329
330
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRBADV),
328
- &env->CSR_TLBRBADV);
331
+ &sys->CSR_TLBRBADV);
332
333
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRERA),
331
- &env->CSR_TLBRERA);
334
+ &sys->CSR_TLBRERA);
335
336
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRSAVE),
334
- &env->CSR_TLBRSAVE);
337
+ &sys->CSR_TLBRSAVE);
338
339
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRELO0),
337
- &env->CSR_TLBRELO0);
340
+ &sys->CSR_TLBRELO0);
341
342
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRELO1),
340
- &env->CSR_TLBRELO1);
343
+ &sys->CSR_TLBRELO1);
344
345
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBREHI),
343
- &env->CSR_TLBREHI);
346
+ &sys->CSR_TLBREHI);
347
348
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRPRMD),
346
- &env->CSR_TLBRPRMD);
349
+ &sys->CSR_TLBRPRMD);
350
351
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_DMW(0)),
349
- &env->CSR_DMW[0]);
352
+ &sys->CSR_DMW[0]);
353
354
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_DMW(1)),
352
- &env->CSR_DMW[1]);
355
+ &sys->CSR_DMW[1]);
356
357
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_DMW(2)),
355
- &env->CSR_DMW[2]);
358
+ &sys->CSR_DMW[2]);
359
360
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_DMW(3)),
358
- &env->CSR_DMW[3]);
361
+ &sys->CSR_DMW[3]);
362
363
ret |= kvm_loongarch_get_pmu(cs);
364
365
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TVAL),
363
- &env->CSR_TVAL);
366
+ &sys->CSR_TVAL);
367
368
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TCFG),
366
- &env->CSR_TCFG);
369
+ &sys->CSR_TCFG);
370
371
return ret;
372
}
@@ -372,165 +375,166 @@ static int kvm_loongarch_put_csr(CPUState *cs, KvmPutState level)
375
{
376
int ret = 0;
377
CPULoongArchState *env = cpu_env(cs);
378
+ CPUSysState *sys = env_sys(env);
379
380
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_CRMD),
377
- &env->CSR_CRMD);
381
+ &sys->CSR_CRMD);
382
383
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PRMD),
380
- &env->CSR_PRMD);
384
+ &sys->CSR_PRMD);
385
386
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_EUEN),
383
- &env->CSR_EUEN);
387
+ &sys->CSR_EUEN);
388
389
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_MISC),
386
- &env->CSR_MISC);
390
+ &sys->CSR_MISC);
391
392
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_ECFG),
389
- &env->CSR_ECFG);
393
+ &sys->CSR_ECFG);
394
395
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_ESTAT),
392
- &env->CSR_ESTAT);
396
+ &sys->CSR_ESTAT);
397
398
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_ERA),
395
- &env->CSR_ERA);
399
+ &sys->CSR_ERA);
400
401
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_BADV),
398
- &env->CSR_BADV);
402
+ &sys->CSR_BADV);
403
404
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_BADI),
401
- &env->CSR_BADI);
405
+ &sys->CSR_BADI);
406
407
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_EENTRY),
404
- &env->CSR_EENTRY);
408
+ &sys->CSR_EENTRY);
409
410
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBIDX),
407
- &env->CSR_TLBIDX);
411
+ &sys->CSR_TLBIDX);
412
413
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBEHI),
410
- &env->CSR_TLBEHI);
414
+ &sys->CSR_TLBEHI);
415
416
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBELO0),
413
- &env->CSR_TLBELO0);
417
+ &sys->CSR_TLBELO0);
418
419
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBELO1),
416
- &env->CSR_TLBELO1);
420
+ &sys->CSR_TLBELO1);
421
422
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_ASID),
419
- &env->CSR_ASID);
423
+ &sys->CSR_ASID);
424
425
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PGDL),
422
- &env->CSR_PGDL);
426
+ &sys->CSR_PGDL);
427
428
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PGDH),
425
- &env->CSR_PGDH);
429
+ &sys->CSR_PGDH);
430
431
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PGD),
428
- &env->CSR_PGD);
432
+ &sys->CSR_PGD);
433
434
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PWCL),
431
- &env->CSR_PWCL);
435
+ &sys->CSR_PWCL);
436
437
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PWCH),
434
- &env->CSR_PWCH);
438
+ &sys->CSR_PWCH);
439
440
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_STLBPS),
437
- &env->CSR_STLBPS);
441
+ &sys->CSR_STLBPS);
442
443
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_RVACFG),
440
- &env->CSR_RVACFG);
444
+ &sys->CSR_RVACFG);
445
446
/* CPUID is constant after poweron, it should be set only once */
447
if (level >= KVM_PUT_FULL_STATE) {
448
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_CPUID),
445
- &env->CSR_CPUID);
449
+ &sys->CSR_CPUID);
450
}
451
452
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PRCFG1),
449
- &env->CSR_PRCFG1);
453
+ &sys->CSR_PRCFG1);
454
455
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PRCFG2),
452
- &env->CSR_PRCFG2);
456
+ &sys->CSR_PRCFG2);
457
458
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PRCFG3),
455
- &env->CSR_PRCFG3);
459
+ &sys->CSR_PRCFG3);
460
461
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(0)),
458
- &env->CSR_SAVE[0]);
462
+ &sys->CSR_SAVE[0]);
463
464
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(1)),
461
- &env->CSR_SAVE[1]);
465
+ &sys->CSR_SAVE[1]);
466
467
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(2)),
464
- &env->CSR_SAVE[2]);
468
+ &sys->CSR_SAVE[2]);
469
470
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(3)),
467
- &env->CSR_SAVE[3]);
471
+ &sys->CSR_SAVE[3]);
472
473
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(4)),
470
- &env->CSR_SAVE[4]);
474
+ &sys->CSR_SAVE[4]);
475
476
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(5)),
473
- &env->CSR_SAVE[5]);
477
+ &sys->CSR_SAVE[5]);
478
479
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(6)),
476
- &env->CSR_SAVE[6]);
480
+ &sys->CSR_SAVE[6]);
481
482
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(7)),
479
- &env->CSR_SAVE[7]);
483
+ &sys->CSR_SAVE[7]);
484
485
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TID),
482
- &env->CSR_TID);
486
+ &sys->CSR_TID);
487
488
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_CNTC),
485
- &env->CSR_CNTC);
489
+ &sys->CSR_CNTC);
490
491
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TICLR),
488
- &env->CSR_TICLR);
492
+ &sys->CSR_TICLR);
493
494
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_LLBCTL),
491
- &env->CSR_LLBCTL);
495
+ &sys->CSR_LLBCTL);
496
497
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_IMPCTL1),
494
- &env->CSR_IMPCTL1);
498
+ &sys->CSR_IMPCTL1);
499
500
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_IMPCTL2),
497
- &env->CSR_IMPCTL2);
501
+ &sys->CSR_IMPCTL2);
502
503
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRENTRY),
500
- &env->CSR_TLBRENTRY);
504
+ &sys->CSR_TLBRENTRY);
505
506
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRBADV),
503
- &env->CSR_TLBRBADV);
507
+ &sys->CSR_TLBRBADV);
508
509
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRERA),
506
- &env->CSR_TLBRERA);
510
+ &sys->CSR_TLBRERA);
511
512
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRSAVE),
509
- &env->CSR_TLBRSAVE);
513
+ &sys->CSR_TLBRSAVE);
514
515
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRELO0),
512
- &env->CSR_TLBRELO0);
516
+ &sys->CSR_TLBRELO0);
517
518
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRELO1),
515
- &env->CSR_TLBRELO1);
519
+ &sys->CSR_TLBRELO1);
520
521
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBREHI),
518
- &env->CSR_TLBREHI);
522
+ &sys->CSR_TLBREHI);
523
524
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRPRMD),
521
- &env->CSR_TLBRPRMD);
525
+ &sys->CSR_TLBRPRMD);
526
527
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_DMW(0)),
524
- &env->CSR_DMW[0]);
528
+ &sys->CSR_DMW[0]);
529
530
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_DMW(1)),
527
- &env->CSR_DMW[1]);
531
+ &sys->CSR_DMW[1]);
532
533
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_DMW(2)),
530
- &env->CSR_DMW[2]);
534
+ &sys->CSR_DMW[2]);
535
536
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_DMW(3)),
533
- &env->CSR_DMW[3]);
537
+ &sys->CSR_DMW[3]);
538
539
ret |= kvm_loongarch_put_pmu(cs);
540
@@ -539,10 +543,10 @@ static int kvm_loongarch_put_csr(CPUState *cs, KvmPutState level)
543
* guest timer
544
*/
545
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TVAL),
542
- &env->CSR_TVAL);
546
+ &sys->CSR_TVAL);
547
548
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TCFG),
545
- &env->CSR_TCFG);
549
+ &sys->CSR_TCFG);
550
return ret;
551
}
552