This patch series allow qemu-system-loongarch64 to emulate a LoongArch32 machine. A mode enum is added to CPUArchState to select LA32 or LA64 at runtime. A new CPU model is added for loongarch32. Initial GDB support is added.
Changes since v2: - Fix typo in previous commit - Fix VPPN width in TLBEHI/TLBREHI Changes since v1: - No longer create a separate qemu-system-loongarch32 executable, but allow user to run loongarch32 emulation using qemu-system-loongarch64 - Add loongarch32 cpu support for virt machine Full changes: Jiajie Chen (6): target/loongarch: Add loongarch32 mode for loongarch64-softmmu target/loongarch: Add loongarch32 cpu la132 target/loongarch: Add GDB support for loongarch32 mode target/loongarch: Support LoongArch32 TLB entry target/loongarch: Support LoongArch32 DMW target/loongarch: Support LoongArch32 VPPN configs/targets/loongarch64-softmmu.mak | 2 +- gdb-xml/loongarch-base32.xml | 45 ++++++++++++++++ hw/loongarch/virt.c | 5 -- target/loongarch/cpu-csr.h | 22 ++++---- target/loongarch/cpu.c | 51 +++++++++++++++++- target/loongarch/cpu.h | 18 +++++++ target/loongarch/gdbstub.c | 32 ++++++++--- target/loongarch/tlb_helper.c | 71 ++++++++++++++++++++----- 8 files changed, 209 insertions(+), 37 deletions(-) create mode 100644 gdb-xml/loongarch-base32.xml -- 2.39.2