This patch implements Loongson VirtualiZation (LVZ) extension support for 
LoongArch's TCG target. With this patch, it is now possible to start a nested 
KVM-accelerated virtual machine on a TCG-emulated virtual machine.

Signed-off-by: SignKirigami <[email protected]>
Signed-off-by: Hengyu Yu <[email protected]>

SignKirigami (4):
  target/loongarch: Add LVZ feature definitions and CPU structures
  target/loongarch: Add guest CSR table and VM-level CSR infrastructure
  target/loongarch: Add LVZ MMU, TCG infrastructure and guest support
  target/loongarch: Add LVZ instruction decode, translation and
    disassembly

 target/loongarch/arch_dump.c                  |   6 +-
 target/loongarch/cpu-csr.h                    |  42 ++
 target/loongarch/cpu-mmu.h                    |  39 +-
 target/loongarch/cpu.c                        | 279 ++++++---
 target/loongarch/cpu.h                        |  62 +-
 target/loongarch/cpu_helper.c                 |  87 ++-
 target/loongarch/csr.c                        | 124 +++-
 target/loongarch/csr.h                        |  12 +-
 target/loongarch/disas.c                      |  16 +
 target/loongarch/insns.decode                 |  14 +
 target/loongarch/internals.h                  |   8 +-
 target/loongarch/machine.c                    | 125 +++-
 target/loongarch/tcg/constant_timer.c         |  74 ++-
 target/loongarch/tcg/csr_helper.c             | 136 ++++-
 target/loongarch/tcg/helper.h                 |  30 +-
 .../tcg/insn_trans/trans_extra.c.inc          |   2 +-
 .../tcg/insn_trans/trans_privileged.c.inc     | 353 ++++++++++-
 target/loongarch/tcg/op_helper.c              |  45 +-
 target/loongarch/tcg/tcg_cpu.c                |  65 +-
 target/loongarch/tcg/tcg_loongarch.h          |   3 +-
 target/loongarch/tcg/tlb_helper.c             | 577 +++++++++++++-----
 target/loongarch/tcg/translate.c              |   6 +-
 target/loongarch/translate.h                  |   2 +
 23 files changed, 1747 insertions(+), 360 deletions(-)

-- 
2.52.0


Reply via email to