代码拉取完成,页面将自动刷新
同步操作将从 src-anolis-os/qemu-kvm 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
From 25f1ae50858b5c580336321e18ef0029d3dec922 Mon Sep 17 00:00:00 2001
From: lixianglai <lixianglai@loongson.cn>
Date: Mon, 29 May 2023 05:57:27 -0400
Subject: [PATCH 11/28] rename kvm_msr_buf with kvm_csr_buf.
Signed-off-by: lixianglai <lixianglai@loongson.cn>
---
target/loongarch64/cpu.h | 2 +-
target/loongarch64/kvm.c | 564 +++++++++++++++++++--------------------
2 files changed, 283 insertions(+), 283 deletions(-)
diff --git a/target/loongarch64/cpu.h b/target/loongarch64/cpu.h
index 10facb3b7..078556a22 100644
--- a/target/loongarch64/cpu.h
+++ b/target/loongarch64/cpu.h
@@ -200,7 +200,7 @@ struct LOONGARCHCPU {
VMChangeStateEntry *cpuStateEntry;
int32_t node_id; /* NUMA node this CPU belongs to */
int32_t core_id;
- struct kvm_msrs *kvm_msr_buf;
+ struct kvm_msrs *kvm_csr_buf;
/* 'compatible' string for this CPU for Linux device trees */
const char *dtb_compatible;
};
diff --git a/target/loongarch64/kvm.c b/target/loongarch64/kvm.c
index 404a605eb..b5c655812 100644
--- a/target/loongarch64/kvm.c
+++ b/target/loongarch64/kvm.c
@@ -31,7 +31,7 @@
#define DEBUG_KVM 0
/* A 16384-byte buffer can hold the 8-byte kvm_msrs header, plus
* 2047 kvm_msr_entry structs */
-#define MSR_BUF_SIZE 16384
+#define CSR_BUF_SIZE 16384
#define DPRINTF(fmt, ...) \
do { if (DEBUG_KVM) { fprintf(stderr, fmt, ## __VA_ARGS__); } } while (0)
@@ -101,7 +101,7 @@ int kvm_arch_init_vcpu(CPUState *cs)
int ret = 0;
cpu->cpuStateEntry = qemu_add_vm_change_state_handler(kvm_loongarch_update_state, cs);
- cpu->kvm_msr_buf = g_malloc0(MSR_BUF_SIZE);
+ cpu->kvm_csr_buf = g_malloc0(CSR_BUF_SIZE);
DPRINTF("%s\n", __func__);
return ret;
}
@@ -111,15 +111,15 @@ int kvm_arch_destroy_vcpu(CPUState *cs)
return 0;
}
-static void kvm_msr_buf_reset(LOONGARCHCPU *cpu)
+static void kvm_csr_buf_reset(LOONGARCHCPU *cpu)
{
- memset(cpu->kvm_msr_buf, 0, MSR_BUF_SIZE);
+ memset(cpu->kvm_csr_buf, 0, CSR_BUF_SIZE);
}
-static void kvm_msr_entry_add(LOONGARCHCPU *cpu, uint32_t index, uint64_t value)
+static void kvm_csr_entry_add(LOONGARCHCPU *cpu, uint32_t index, uint64_t value)
{
- struct kvm_msrs *msrs = cpu->kvm_msr_buf;
- void *limit = ((void *)msrs) + MSR_BUF_SIZE;
+ struct kvm_msrs *msrs = cpu->kvm_csr_buf;
+ void *limit = ((void *)msrs) + CSR_BUF_SIZE;
struct kvm_csr_entry *entry = &msrs->entries[msrs->ncsrs];
assert((void *)(entry + 1) <= limit);
@@ -767,144 +767,144 @@ static int kvm_loongarch_put_csr_registers(CPUState *cs, int level)
(void)level;
- kvm_msr_buf_reset(cpu);
-
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_CRMD, env->CSR_CRMD);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PRMD, env->CSR_PRMD);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_EUEN, env->CSR_EUEN);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_MISC, env->CSR_MISC);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_ECFG, env->CSR_ECFG);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_ESTAT, env->CSR_ESTAT);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_ERA, env->CSR_ERA);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_BADV, env->CSR_BADV);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_BADI, env->CSR_BADI);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_EEPN, env->CSR_EEPN);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBIDX, env->CSR_TLBIDX);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBEHI, env->CSR_TLBEHI);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBELO0, env->CSR_TLBELO0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBELO1, env->CSR_TLBELO1);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_GTLBC, env->CSR_GTLBC);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TRGP, env->CSR_TRGP);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_ASID, env->CSR_ASID);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PGDL, env->CSR_PGDL);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PGDH, env->CSR_PGDH);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PGD, env->CSR_PGD);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PWCTL0, env->CSR_PWCTL0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PWCTL1, env->CSR_PWCTL1);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_STLBPGSIZE, env->CSR_STLBPGSIZE);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_RVACFG, env->CSR_RVACFG);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_CPUID, env->CSR_CPUID);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PRCFG1, env->CSR_PRCFG1);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PRCFG2, env->CSR_PRCFG2);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PRCFG3, env->CSR_PRCFG3);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_KS0, env->CSR_KS0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_KS1, env->CSR_KS1);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_KS2, env->CSR_KS2);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_KS3, env->CSR_KS3);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_KS4, env->CSR_KS4);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_KS5, env->CSR_KS5);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_KS6, env->CSR_KS6);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_KS7, env->CSR_KS7);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TMID, env->CSR_TMID);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_CNTC, env->CSR_CNTC);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TINTCLR, env->CSR_TINTCLR);
-
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_GSTAT, env->CSR_GSTAT);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_GCFG, env->CSR_GCFG);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_GINTC, env->CSR_GINTC);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_GCNTC, env->CSR_GCNTC);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_LLBCTL, env->CSR_LLBCTL);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IMPCTL1, env->CSR_IMPCTL1);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IMPCTL2, env->CSR_IMPCTL2);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_GNMI, env->CSR_GNMI);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBRENT, env->CSR_TLBRENT);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBRBADV, env->CSR_TLBRBADV);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBRERA, env->CSR_TLBRERA);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBRSAVE, env->CSR_TLBRSAVE);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBRELO0, env->CSR_TLBRELO0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBRELO1, env->CSR_TLBRELO1);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBREHI, env->CSR_TLBREHI);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBRPRMD, env->CSR_TLBRPRMD);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_ERRCTL, env->CSR_ERRCTL);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_ERRINFO, env->CSR_ERRINFO);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_ERRINFO1, env->CSR_ERRINFO1);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_ERRENT, env->CSR_ERRENT);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_ERRERA, env->CSR_ERRERA);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_ERRSAVE, env->CSR_ERRSAVE);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_CTAG, env->CSR_CTAG);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DMWIN0, env->CSR_DMWIN0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DMWIN1, env->CSR_DMWIN1);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DMWIN2, env->CSR_DMWIN2);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DMWIN3, env->CSR_DMWIN3);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PERFCTRL0, env->CSR_PERFCTRL0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PERFCNTR0, env->CSR_PERFCNTR0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PERFCTRL1, env->CSR_PERFCTRL1);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PERFCNTR1, env->CSR_PERFCNTR1);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PERFCTRL2, env->CSR_PERFCTRL2);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PERFCNTR2, env->CSR_PERFCNTR2);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PERFCTRL3, env->CSR_PERFCTRL3);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PERFCNTR3, env->CSR_PERFCNTR3);
+ kvm_csr_buf_reset(cpu);
+
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_CRMD, env->CSR_CRMD);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PRMD, env->CSR_PRMD);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_EUEN, env->CSR_EUEN);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_MISC, env->CSR_MISC);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_ECFG, env->CSR_ECFG);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_ESTAT, env->CSR_ESTAT);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_ERA, env->CSR_ERA);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_BADV, env->CSR_BADV);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_BADI, env->CSR_BADI);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_EEPN, env->CSR_EEPN);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBIDX, env->CSR_TLBIDX);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBEHI, env->CSR_TLBEHI);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBELO0, env->CSR_TLBELO0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBELO1, env->CSR_TLBELO1);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_GTLBC, env->CSR_GTLBC);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TRGP, env->CSR_TRGP);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_ASID, env->CSR_ASID);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PGDL, env->CSR_PGDL);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PGDH, env->CSR_PGDH);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PGD, env->CSR_PGD);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PWCTL0, env->CSR_PWCTL0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PWCTL1, env->CSR_PWCTL1);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_STLBPGSIZE, env->CSR_STLBPGSIZE);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_RVACFG, env->CSR_RVACFG);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_CPUID, env->CSR_CPUID);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PRCFG1, env->CSR_PRCFG1);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PRCFG2, env->CSR_PRCFG2);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PRCFG3, env->CSR_PRCFG3);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_KS0, env->CSR_KS0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_KS1, env->CSR_KS1);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_KS2, env->CSR_KS2);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_KS3, env->CSR_KS3);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_KS4, env->CSR_KS4);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_KS5, env->CSR_KS5);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_KS6, env->CSR_KS6);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_KS7, env->CSR_KS7);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TMID, env->CSR_TMID);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_CNTC, env->CSR_CNTC);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TINTCLR, env->CSR_TINTCLR);
+
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_GSTAT, env->CSR_GSTAT);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_GCFG, env->CSR_GCFG);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_GINTC, env->CSR_GINTC);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_GCNTC, env->CSR_GCNTC);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_LLBCTL, env->CSR_LLBCTL);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IMPCTL1, env->CSR_IMPCTL1);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IMPCTL2, env->CSR_IMPCTL2);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_GNMI, env->CSR_GNMI);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBRENT, env->CSR_TLBRENT);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBRBADV, env->CSR_TLBRBADV);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBRERA, env->CSR_TLBRERA);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBRSAVE, env->CSR_TLBRSAVE);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBRELO0, env->CSR_TLBRELO0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBRELO1, env->CSR_TLBRELO1);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBREHI, env->CSR_TLBREHI);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBRPRMD, env->CSR_TLBRPRMD);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_ERRCTL, env->CSR_ERRCTL);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_ERRINFO, env->CSR_ERRINFO);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_ERRINFO1, env->CSR_ERRINFO1);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_ERRENT, env->CSR_ERRENT);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_ERRERA, env->CSR_ERRERA);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_ERRSAVE, env->CSR_ERRSAVE);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_CTAG, env->CSR_CTAG);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DMWIN0, env->CSR_DMWIN0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DMWIN1, env->CSR_DMWIN1);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DMWIN2, env->CSR_DMWIN2);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DMWIN3, env->CSR_DMWIN3);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PERFCTRL0, env->CSR_PERFCTRL0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PERFCNTR0, env->CSR_PERFCNTR0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PERFCTRL1, env->CSR_PERFCTRL1);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PERFCNTR1, env->CSR_PERFCNTR1);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PERFCTRL2, env->CSR_PERFCTRL2);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PERFCNTR2, env->CSR_PERFCNTR2);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PERFCTRL3, env->CSR_PERFCTRL3);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PERFCNTR3, env->CSR_PERFCNTR3);
/* debug */
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_MWPC, env->CSR_MWPC);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_MWPS, env->CSR_MWPS);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB0ADDR, env->CSR_DB0ADDR);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB0MASK, env->CSR_DB0MASK);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB0CTL, env->CSR_DB0CTL);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB0ASID, env->CSR_DB0ASID);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB1ADDR, env->CSR_DB1ADDR);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB1MASK, env->CSR_DB1MASK);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB1CTL, env->CSR_DB1CTL);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB1ASID, env->CSR_DB1ASID);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB2ADDR, env->CSR_DB2ADDR);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB2MASK, env->CSR_DB2MASK);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB2CTL, env->CSR_DB2CTL);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB2ASID, env->CSR_DB2ASID);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB3ADDR, env->CSR_DB3ADDR);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB3MASK, env->CSR_DB3MASK);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB3CTL, env->CSR_DB3CTL);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB3ASID, env->CSR_DB3ASID);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_FWPC, env->CSR_FWPC);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_FWPS, env->CSR_FWPS);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB0ADDR, env->CSR_IB0ADDR);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB0MASK, env->CSR_IB0MASK);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB0CTL, env->CSR_IB0CTL);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB0ASID, env->CSR_IB0ASID);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB1ADDR, env->CSR_IB1ADDR);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB1MASK, env->CSR_IB1MASK);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB1CTL, env->CSR_IB1CTL);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB1ASID, env->CSR_IB1ASID);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB2ADDR, env->CSR_IB2ADDR);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB2MASK, env->CSR_IB2MASK);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB2CTL, env->CSR_IB2CTL);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB2ASID, env->CSR_IB2ASID);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB3ADDR, env->CSR_IB3ADDR);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB3MASK, env->CSR_IB3MASK);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB3CTL, env->CSR_IB3CTL);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB3ASID, env->CSR_IB3ASID);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB4ADDR, env->CSR_IB4ADDR);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB4MASK, env->CSR_IB4MASK);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB4CTL, env->CSR_IB4CTL);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB4ASID, env->CSR_IB4ASID);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB5ADDR, env->CSR_IB5ADDR);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB5MASK, env->CSR_IB5MASK);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB5CTL, env->CSR_IB5CTL);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB5ASID, env->CSR_IB5ASID);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB6ADDR, env->CSR_IB6ADDR);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB6MASK, env->CSR_IB6MASK);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB6CTL, env->CSR_IB6CTL);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB6ASID, env->CSR_IB6ASID);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB7ADDR, env->CSR_IB7ADDR);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB7MASK, env->CSR_IB7MASK);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB7CTL, env->CSR_IB7CTL);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB7ASID, env->CSR_IB7ASID);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DEBUG, env->CSR_DEBUG);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DERA, env->CSR_DERA);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DESAVE, env->CSR_DESAVE);
-
- ret = kvm_vcpu_ioctl(cs, KVM_SET_MSRS, cpu->kvm_msr_buf);
- if (ret < cpu->kvm_msr_buf->ncsrs) {
- struct kvm_csr_entry *e = &cpu->kvm_msr_buf->entries[ret];
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_MWPC, env->CSR_MWPC);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_MWPS, env->CSR_MWPS);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB0ADDR, env->CSR_DB0ADDR);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB0MASK, env->CSR_DB0MASK);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB0CTL, env->CSR_DB0CTL);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB0ASID, env->CSR_DB0ASID);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB1ADDR, env->CSR_DB1ADDR);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB1MASK, env->CSR_DB1MASK);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB1CTL, env->CSR_DB1CTL);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB1ASID, env->CSR_DB1ASID);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB2ADDR, env->CSR_DB2ADDR);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB2MASK, env->CSR_DB2MASK);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB2CTL, env->CSR_DB2CTL);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB2ASID, env->CSR_DB2ASID);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB3ADDR, env->CSR_DB3ADDR);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB3MASK, env->CSR_DB3MASK);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB3CTL, env->CSR_DB3CTL);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB3ASID, env->CSR_DB3ASID);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_FWPC, env->CSR_FWPC);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_FWPS, env->CSR_FWPS);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB0ADDR, env->CSR_IB0ADDR);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB0MASK, env->CSR_IB0MASK);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB0CTL, env->CSR_IB0CTL);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB0ASID, env->CSR_IB0ASID);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB1ADDR, env->CSR_IB1ADDR);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB1MASK, env->CSR_IB1MASK);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB1CTL, env->CSR_IB1CTL);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB1ASID, env->CSR_IB1ASID);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB2ADDR, env->CSR_IB2ADDR);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB2MASK, env->CSR_IB2MASK);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB2CTL, env->CSR_IB2CTL);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB2ASID, env->CSR_IB2ASID);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB3ADDR, env->CSR_IB3ADDR);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB3MASK, env->CSR_IB3MASK);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB3CTL, env->CSR_IB3CTL);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB3ASID, env->CSR_IB3ASID);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB4ADDR, env->CSR_IB4ADDR);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB4MASK, env->CSR_IB4MASK);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB4CTL, env->CSR_IB4CTL);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB4ASID, env->CSR_IB4ASID);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB5ADDR, env->CSR_IB5ADDR);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB5MASK, env->CSR_IB5MASK);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB5CTL, env->CSR_IB5CTL);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB5ASID, env->CSR_IB5ASID);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB6ADDR, env->CSR_IB6ADDR);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB6MASK, env->CSR_IB6MASK);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB6CTL, env->CSR_IB6CTL);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB6ASID, env->CSR_IB6ASID);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB7ADDR, env->CSR_IB7ADDR);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB7MASK, env->CSR_IB7MASK);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB7CTL, env->CSR_IB7CTL);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB7ASID, env->CSR_IB7ASID);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DEBUG, env->CSR_DEBUG);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DERA, env->CSR_DERA);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DESAVE, env->CSR_DESAVE);
+
+ ret = kvm_vcpu_ioctl(cs, KVM_SET_MSRS, cpu->kvm_csr_buf);
+ if (ret < cpu->kvm_csr_buf->ncsrs) {
+ struct kvm_csr_entry *e = &cpu->kvm_csr_buf->entries[ret];
printf("error: failed to set CSR 0x%" PRIx32 " to 0x%" PRIx64"\n",
(uint32_t)e->index, (uint64_t)e->data);
}
@@ -935,147 +935,147 @@ static int kvm_loongarch_get_csr_registers(CPUState *cs)
LOONGARCHCPU *cpu = LOONGARCH_CPU(cs);
CPULOONGARCHState *env = &cpu->env;
int ret = 0, i;
- struct kvm_csr_entry *csrs = cpu->kvm_msr_buf->entries;
-
- kvm_msr_buf_reset(cpu);
-
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_CRMD, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PRMD, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_EUEN, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_MISC, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_ECFG, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_ESTAT, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_ERA, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_BADV, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_BADI, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_EEPN, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBIDX, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBEHI, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBELO0, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBELO1, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_GTLBC, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TRGP, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_ASID, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PGDL, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PGDH, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PGD, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PWCTL0, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PWCTL1, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_STLBPGSIZE, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_RVACFG, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_CPUID, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PRCFG1, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PRCFG2, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PRCFG3, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_KS0, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_KS1, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_KS2, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_KS3, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_KS4, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_KS5, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_KS6, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_KS7, 0);
-
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TMID, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_CNTC, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TINTCLR, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_GSTAT, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_GCFG, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_GINTC, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_GCNTC, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_LLBCTL, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IMPCTL1, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IMPCTL2, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_GNMI, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBRENT, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBRBADV, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBRERA, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBRSAVE, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBRELO0, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBRELO1, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBREHI, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_TLBRPRMD, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_ERRCTL, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_ERRINFO, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_ERRINFO1, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_ERRENT, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_ERRERA, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_ERRSAVE, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_CTAG, 0);
-
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DMWIN0, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DMWIN1, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DMWIN2, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DMWIN3, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PERFCTRL0, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PERFCNTR0, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PERFCTRL1, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PERFCNTR1, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PERFCTRL2, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PERFCNTR2, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PERFCTRL3, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_PERFCNTR3, 0);
+ struct kvm_csr_entry *csrs = cpu->kvm_csr_buf->entries;
+
+ kvm_csr_buf_reset(cpu);
+
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_CRMD, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PRMD, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_EUEN, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_MISC, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_ECFG, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_ESTAT, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_ERA, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_BADV, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_BADI, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_EEPN, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBIDX, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBEHI, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBELO0, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBELO1, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_GTLBC, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TRGP, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_ASID, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PGDL, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PGDH, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PGD, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PWCTL0, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PWCTL1, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_STLBPGSIZE, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_RVACFG, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_CPUID, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PRCFG1, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PRCFG2, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PRCFG3, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_KS0, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_KS1, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_KS2, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_KS3, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_KS4, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_KS5, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_KS6, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_KS7, 0);
+
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TMID, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_CNTC, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TINTCLR, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_GSTAT, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_GCFG, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_GINTC, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_GCNTC, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_LLBCTL, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IMPCTL1, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IMPCTL2, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_GNMI, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBRENT, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBRBADV, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBRERA, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBRSAVE, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBRELO0, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBRELO1, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBREHI, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_TLBRPRMD, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_ERRCTL, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_ERRINFO, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_ERRINFO1, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_ERRENT, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_ERRERA, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_ERRSAVE, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_CTAG, 0);
+
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DMWIN0, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DMWIN1, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DMWIN2, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DMWIN3, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PERFCTRL0, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PERFCNTR0, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PERFCTRL1, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PERFCNTR1, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PERFCTRL2, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PERFCNTR2, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PERFCTRL3, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_PERFCNTR3, 0);
/* debug */
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_MWPC, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_MWPS, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB0ADDR, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB0MASK, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB0CTL, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB0ASID, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB1ADDR, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB1MASK, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB1CTL, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB1ASID, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB2ADDR, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB2MASK, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB2CTL, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB2ASID, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB3ADDR, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB3MASK, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB3CTL, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DB3ASID, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_FWPC, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_FWPS, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB0ADDR, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB0MASK, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB0CTL, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB0ASID, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB1ADDR, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB1MASK, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB1CTL, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB1ASID, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB2ADDR, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB2MASK, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB2CTL, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB2ASID, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB3ADDR, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB3MASK, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB3CTL, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB3ASID, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB4ADDR, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB4MASK, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB4CTL, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB4ASID, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB5ADDR, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB5MASK, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB5CTL, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB5ASID, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB6ADDR, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB6MASK, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB6CTL, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB6ASID, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB7ADDR, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB7MASK, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB7CTL, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_IB7ASID, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DEBUG, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DERA, 0);
- kvm_msr_entry_add(cpu, LOONGARCH_CSR_DESAVE, 0);
-
- ret = kvm_vcpu_ioctl(cs, KVM_GET_MSRS, cpu->kvm_msr_buf);
- if (ret < cpu->kvm_msr_buf->ncsrs) {
- struct kvm_csr_entry *e = &cpu->kvm_msr_buf->entries[ret];
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_MWPC, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_MWPS, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB0ADDR, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB0MASK, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB0CTL, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB0ASID, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB1ADDR, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB1MASK, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB1CTL, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB1ASID, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB2ADDR, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB2MASK, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB2CTL, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB2ASID, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB3ADDR, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB3MASK, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB3CTL, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DB3ASID, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_FWPC, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_FWPS, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB0ADDR, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB0MASK, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB0CTL, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB0ASID, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB1ADDR, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB1MASK, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB1CTL, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB1ASID, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB2ADDR, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB2MASK, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB2CTL, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB2ASID, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB3ADDR, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB3MASK, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB3CTL, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB3ASID, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB4ADDR, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB4MASK, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB4CTL, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB4ASID, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB5ADDR, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB5MASK, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB5CTL, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB5ASID, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB6ADDR, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB6MASK, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB6CTL, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB6ASID, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB7ADDR, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB7MASK, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB7CTL, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_IB7ASID, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DEBUG, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DERA, 0);
+ kvm_csr_entry_add(cpu, LOONGARCH_CSR_DESAVE, 0);
+
+ ret = kvm_vcpu_ioctl(cs, KVM_GET_MSRS, cpu->kvm_csr_buf);
+ if (ret < cpu->kvm_csr_buf->ncsrs) {
+ struct kvm_csr_entry *e = &cpu->kvm_csr_buf->entries[ret];
printf("error: failed to get CSR 0x%" PRIx32"\n",
(uint32_t)e->index);
}
--
2.43.5
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。