When accessing CSR registers in file kvm.c, use curState rather than
env.
Signed-off-by: Bibo Mao <[email protected]>
---
target/loongarch/kvm/kvm.c | 228 +++++++++++++++++++------------------
1 file changed, 116 insertions(+), 112 deletions(-)
diff --git a/target/loongarch/kvm/kvm.c b/target/loongarch/kvm/kvm.c
index 9d844c4905..1534fcb7c3 100644
--- a/target/loongarch/kvm/kvm.c
+++ b/target/loongarch/kvm/kvm.c
@@ -160,6 +160,7 @@ static int kvm_loongarch_put_pmu(CPUState *cs)
int i, ret = 0;
CPULoongArchState *env = cpu_env(cs);
LoongArchCPU *cpu = LOONGARCH_CPU(cs);
+ CPUSysState *cur = get_current_state(env);
if (cpu->pmu != ON_OFF_AUTO_ON) {
return 0;
@@ -167,9 +168,9 @@ static int kvm_loongarch_put_pmu(CPUState *cs)
for (i = 0; i < env->perf_event_num; i++) {
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PERFCTRL(i)),
- &env->CSR_PERFCTRL[i]);
+ &cur->CSR_PERFCTRL[i]);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PERFCNTR(i)),
- &env->CSR_PERFCNTR[i]);
+ &cur->CSR_PERFCNTR[i]);
}
return ret;
@@ -180,6 +181,7 @@ static int kvm_loongarch_get_pmu(CPUState *cs)
int i, ret = 0;
CPULoongArchState *env = cpu_env(cs);
LoongArchCPU *cpu = LOONGARCH_CPU(cs);
+ CPUSysState *cur = get_current_state(env);
if (cpu->pmu != ON_OFF_AUTO_ON) {
return 0;
@@ -187,9 +189,9 @@ static int kvm_loongarch_get_pmu(CPUState *cs)
for (i = 0; i < env->perf_event_num; i++) {
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PERFCTRL(i)),
- &env->CSR_PERFCTRL[i]);
+ &cur->CSR_PERFCTRL[i]);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PERFCNTR(i)),
- &env->CSR_PERFCNTR[i]);
+ &cur->CSR_PERFCNTR[i]);
}
return ret;
@@ -199,170 +201,171 @@ static int kvm_loongarch_get_csr(CPUState *cs)
{
int ret = 0;
CPULoongArchState *env = cpu_env(cs);
+ CPUSysState *cur = get_current_state(env);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_CRMD),
- &env->CSR_CRMD);
+ &cur->CSR_CRMD);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PRMD),
- &env->CSR_PRMD);
+ &cur->CSR_PRMD);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_EUEN),
- &env->CSR_EUEN);
+ &cur->CSR_EUEN);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_MISC),
- &env->CSR_MISC);
+ &cur->CSR_MISC);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_ECFG),
- &env->CSR_ECFG);
+ &cur->CSR_ECFG);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_ESTAT),
- &env->CSR_ESTAT);
+ &cur->CSR_ESTAT);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_ERA),
- &env->CSR_ERA);
+ &cur->CSR_ERA);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_BADV),
- &env->CSR_BADV);
+ &cur->CSR_BADV);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_BADI),
- &env->CSR_BADI);
+ &cur->CSR_BADI);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_EENTRY),
- &env->CSR_EENTRY);
+ &cur->CSR_EENTRY);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBIDX),
- &env->CSR_TLBIDX);
+ &cur->CSR_TLBIDX);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBEHI),
- &env->CSR_TLBEHI);
+ &cur->CSR_TLBEHI);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBELO0),
- &env->CSR_TLBELO0);
+ &cur->CSR_TLBELO0);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBELO1),
- &env->CSR_TLBELO1);
+ &cur->CSR_TLBELO1);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_ASID),
- &env->CSR_ASID);
+ &cur->CSR_ASID);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PGDL),
- &env->CSR_PGDL);
+ &cur->CSR_PGDL);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PGDH),
- &env->CSR_PGDH);
+ &cur->CSR_PGDH);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PGD),
- &env->CSR_PGD);
+ &cur->CSR_PGD);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PWCL),
- &env->CSR_PWCL);
+ &cur->CSR_PWCL);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PWCH),
- &env->CSR_PWCH);
+ &cur->CSR_PWCH);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_STLBPS),
- &env->CSR_STLBPS);
+ &cur->CSR_STLBPS);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_RVACFG),
- &env->CSR_RVACFG);
+ &cur->CSR_RVACFG);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_CPUID),
- &env->CSR_CPUID);
+ &cur->CSR_CPUID);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PRCFG1),
- &env->CSR_PRCFG1);
+ &cur->CSR_PRCFG1);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PRCFG2),
- &env->CSR_PRCFG2);
+ &cur->CSR_PRCFG2);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PRCFG3),
- &env->CSR_PRCFG3);
+ &cur->CSR_PRCFG3);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(0)),
- &env->CSR_SAVE[0]);
+ &cur->CSR_SAVE[0]);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(1)),
- &env->CSR_SAVE[1]);
+ &cur->CSR_SAVE[1]);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(2)),
- &env->CSR_SAVE[2]);
+ &cur->CSR_SAVE[2]);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(3)),
- &env->CSR_SAVE[3]);
+ &cur->CSR_SAVE[3]);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(4)),
- &env->CSR_SAVE[4]);
+ &cur->CSR_SAVE[4]);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(5)),
- &env->CSR_SAVE[5]);
+ &cur->CSR_SAVE[5]);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(6)),
- &env->CSR_SAVE[6]);
+ &cur->CSR_SAVE[6]);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(7)),
- &env->CSR_SAVE[7]);
+ &cur->CSR_SAVE[7]);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TID),
- &env->CSR_TID);
+ &cur->CSR_TID);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_CNTC),
- &env->CSR_CNTC);
+ &cur->CSR_CNTC);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TICLR),
- &env->CSR_TICLR);
+ &cur->CSR_TICLR);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_LLBCTL),
- &env->CSR_LLBCTL);
+ &cur->CSR_LLBCTL);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_IMPCTL1),
- &env->CSR_IMPCTL1);
+ &cur->CSR_IMPCTL1);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_IMPCTL2),
- &env->CSR_IMPCTL2);
+ &cur->CSR_IMPCTL2);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRENTRY),
- &env->CSR_TLBRENTRY);
+ &cur->CSR_TLBRENTRY);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRBADV),
- &env->CSR_TLBRBADV);
+ &cur->CSR_TLBRBADV);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRERA),
- &env->CSR_TLBRERA);
+ &cur->CSR_TLBRERA);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRSAVE),
- &env->CSR_TLBRSAVE);
+ &cur->CSR_TLBRSAVE);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRELO0),
- &env->CSR_TLBRELO0);
+ &cur->CSR_TLBRELO0);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRELO1),
- &env->CSR_TLBRELO1);
+ &cur->CSR_TLBRELO1);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBREHI),
- &env->CSR_TLBREHI);
+ &cur->CSR_TLBREHI);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRPRMD),
- &env->CSR_TLBRPRMD);
+ &cur->CSR_TLBRPRMD);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_DMW(0)),
- &env->CSR_DMW[0]);
+ &cur->CSR_DMW[0]);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_DMW(1)),
- &env->CSR_DMW[1]);
+ &cur->CSR_DMW[1]);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_DMW(2)),
- &env->CSR_DMW[2]);
+ &cur->CSR_DMW[2]);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_DMW(3)),
- &env->CSR_DMW[3]);
+ &cur->CSR_DMW[3]);
ret |= kvm_loongarch_get_pmu(cs);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TVAL),
- &env->CSR_TVAL);
+ &cur->CSR_TVAL);
ret |= kvm_get_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TCFG),
- &env->CSR_TCFG);
+ &cur->CSR_TCFG);
return ret;
}
@@ -371,165 +374,166 @@ static int kvm_loongarch_put_csr(CPUState *cs,
KvmPutState level)
{
int ret = 0;
CPULoongArchState *env = cpu_env(cs);
+ CPUSysState *cur = get_current_state(env);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_CRMD),
- &env->CSR_CRMD);
+ &cur->CSR_CRMD);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PRMD),
- &env->CSR_PRMD);
+ &cur->CSR_PRMD);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_EUEN),
- &env->CSR_EUEN);
+ &cur->CSR_EUEN);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_MISC),
- &env->CSR_MISC);
+ &cur->CSR_MISC);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_ECFG),
- &env->CSR_ECFG);
+ &cur->CSR_ECFG);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_ESTAT),
- &env->CSR_ESTAT);
+ &cur->CSR_ESTAT);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_ERA),
- &env->CSR_ERA);
+ &cur->CSR_ERA);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_BADV),
- &env->CSR_BADV);
+ &cur->CSR_BADV);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_BADI),
- &env->CSR_BADI);
+ &cur->CSR_BADI);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_EENTRY),
- &env->CSR_EENTRY);
+ &cur->CSR_EENTRY);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBIDX),
- &env->CSR_TLBIDX);
+ &cur->CSR_TLBIDX);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBEHI),
- &env->CSR_TLBEHI);
+ &cur->CSR_TLBEHI);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBELO0),
- &env->CSR_TLBELO0);
+ &cur->CSR_TLBELO0);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBELO1),
- &env->CSR_TLBELO1);
+ &cur->CSR_TLBELO1);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_ASID),
- &env->CSR_ASID);
+ &cur->CSR_ASID);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PGDL),
- &env->CSR_PGDL);
+ &cur->CSR_PGDL);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PGDH),
- &env->CSR_PGDH);
+ &cur->CSR_PGDH);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PGD),
- &env->CSR_PGD);
+ &cur->CSR_PGD);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PWCL),
- &env->CSR_PWCL);
+ &cur->CSR_PWCL);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PWCH),
- &env->CSR_PWCH);
+ &cur->CSR_PWCH);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_STLBPS),
- &env->CSR_STLBPS);
+ &cur->CSR_STLBPS);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_RVACFG),
- &env->CSR_RVACFG);
+ &cur->CSR_RVACFG);
/* CPUID is constant after poweron, it should be set only once */
if (level >= KVM_PUT_FULL_STATE) {
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_CPUID),
- &env->CSR_CPUID);
+ &cur->CSR_CPUID);
}
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PRCFG1),
- &env->CSR_PRCFG1);
+ &cur->CSR_PRCFG1);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PRCFG2),
- &env->CSR_PRCFG2);
+ &cur->CSR_PRCFG2);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_PRCFG3),
- &env->CSR_PRCFG3);
+ &cur->CSR_PRCFG3);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(0)),
- &env->CSR_SAVE[0]);
+ &cur->CSR_SAVE[0]);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(1)),
- &env->CSR_SAVE[1]);
+ &cur->CSR_SAVE[1]);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(2)),
- &env->CSR_SAVE[2]);
+ &cur->CSR_SAVE[2]);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(3)),
- &env->CSR_SAVE[3]);
+ &cur->CSR_SAVE[3]);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(4)),
- &env->CSR_SAVE[4]);
+ &cur->CSR_SAVE[4]);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(5)),
- &env->CSR_SAVE[5]);
+ &cur->CSR_SAVE[5]);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(6)),
- &env->CSR_SAVE[6]);
+ &cur->CSR_SAVE[6]);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_SAVE(7)),
- &env->CSR_SAVE[7]);
+ &cur->CSR_SAVE[7]);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TID),
- &env->CSR_TID);
+ &cur->CSR_TID);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_CNTC),
- &env->CSR_CNTC);
+ &cur->CSR_CNTC);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TICLR),
- &env->CSR_TICLR);
+ &cur->CSR_TICLR);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_LLBCTL),
- &env->CSR_LLBCTL);
+ &cur->CSR_LLBCTL);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_IMPCTL1),
- &env->CSR_IMPCTL1);
+ &cur->CSR_IMPCTL1);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_IMPCTL2),
- &env->CSR_IMPCTL2);
+ &cur->CSR_IMPCTL2);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRENTRY),
- &env->CSR_TLBRENTRY);
+ &cur->CSR_TLBRENTRY);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRBADV),
- &env->CSR_TLBRBADV);
+ &cur->CSR_TLBRBADV);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRERA),
- &env->CSR_TLBRERA);
+ &cur->CSR_TLBRERA);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRSAVE),
- &env->CSR_TLBRSAVE);
+ &cur->CSR_TLBRSAVE);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRELO0),
- &env->CSR_TLBRELO0);
+ &cur->CSR_TLBRELO0);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRELO1),
- &env->CSR_TLBRELO1);
+ &cur->CSR_TLBRELO1);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBREHI),
- &env->CSR_TLBREHI);
+ &cur->CSR_TLBREHI);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TLBRPRMD),
- &env->CSR_TLBRPRMD);
+ &cur->CSR_TLBRPRMD);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_DMW(0)),
- &env->CSR_DMW[0]);
+ &cur->CSR_DMW[0]);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_DMW(1)),
- &env->CSR_DMW[1]);
+ &cur->CSR_DMW[1]);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_DMW(2)),
- &env->CSR_DMW[2]);
+ &cur->CSR_DMW[2]);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_DMW(3)),
- &env->CSR_DMW[3]);
+ &cur->CSR_DMW[3]);
ret |= kvm_loongarch_put_pmu(cs);
@@ -538,10 +542,10 @@ static int kvm_loongarch_put_csr(CPUState *cs,
KvmPutState level)
* guest timer
*/
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TVAL),
- &env->CSR_TVAL);
+ &cur->CSR_TVAL);
ret |= kvm_set_one_reg(cs, KVM_IOC_CSRID(LOONGARCH_CSR_TCFG),
- &env->CSR_TCFG);
+ &cur->CSR_TCFG);
return ret;
}
--
2.39.3