在 2026/5/26 下午2:50, Bibo Mao 写道:
Here new structure CPUSysState is added in CPULoongArchState, CSR registers are move in CPUSysState. In later with LVZ supported, there will be two copied of CSR registers, so it is simply to add CPUSysState array.Also new field curState is added which points to CPUSysState at beginning, and it can be changed during VM exit/enter entry. There is no function change, all is code movement or variable rename. Bibo Mao (12): target/loongarch: Add new field curState in CPULoongArchState target/loongarch: Use curState in cpu.c when accessing CSR registers target/loongarch: Use curState in cpu_helper.c when accessing CSR registers target/loongarch: Use curState in file arch_dump.c when accessing CSR registers target/loongarch: Use curState in kvm.c when accessing CSR registers target/loongarch: Use curState in tlb_helper.c when accessing CSR registers target/loongarch: Use curState in tcg_cpu.c when accessing CSR registers target/loongarch: Use curState in csr_helper.c when accessing CSR registers target/loongarch: Use curState in op_helper.c when accessing CSR registers target/loongarch: Add default CSRFL_BASIC info with flags field target/loongarch: Add wrapper function get_csr_offset() target/loongarch: Add new structure CPUSysState hw/intc/loongarch_dintc.c | 4 +- target/loongarch/arch_dump.c | 5 +- target/loongarch/cpu-mmu.h | 4 +- target/loongarch/cpu.c | 120 ++++----- target/loongarch/cpu.h | 49 ++-- target/loongarch/cpu_helper.c | 41 ++-- target/loongarch/csr.c | 10 +- target/loongarch/csr.h | 5 + target/loongarch/gdbstub.c | 3 +- target/loongarch/kvm/kvm.c | 228 +++++++++--------- target/loongarch/machine.c | 116 ++++----- target/loongarch/tcg/constant_timer.c | 10 +- target/loongarch/tcg/csr_helper.c | 55 +++-- .../tcg/insn_trans/trans_extra.c.inc | 11 +- .../tcg/insn_trans/trans_privileged.c.inc | 16 +- target/loongarch/tcg/op_helper.c | 45 ++-- target/loongarch/tcg/tcg_cpu.c | 107 ++++---- target/loongarch/tcg/tlb_helper.c | 137 ++++++----- 18 files changed, 531 insertions(+), 435 deletions(-)
Hi, The files in linux-user/loongarch64/* also need to be modified. Thanks. Song Gao
base-commit: cbf877d67a812be17a9ce404a589e1bdf722c1f6
