configs/devices/riscv64-softmmu/default.mak | 1 + docs/system/riscv/mips.rst | 20 + docs/system/target-riscv.rst | 1 + hw/intc/riscv_aclint.c | 18 +- hw/intc/riscv_aplic.c | 13 +- hw/misc/Kconfig | 17 + hw/misc/meson.build | 3 + hw/misc/riscv_cmgcr.c | 243 ++++++++++ hw/misc/riscv_cpc.c | 265 +++++++++++ hw/riscv/Kconfig | 6 + hw/riscv/boston-aia.c | 476 ++++++++++++++++++++ hw/riscv/cps.c | 196 ++++++++ hw/riscv/meson.build | 3 + include/hw/misc/riscv_cmgcr.h | 48 ++ include/hw/misc/riscv_cpc.h | 64 +++ include/hw/riscv/cps.h | 66 +++ scripts/checkpatch.pl | 4 + target/riscv/cpu-qom.h | 1 + target/riscv/cpu.c | 44 ++ target/riscv/cpu.h | 7 + target/riscv/cpu_cfg.h | 5 + target/riscv/cpu_cfg_fields.h.inc | 3 + target/riscv/cpu_vendorid.h | 1 + target/riscv/insn_trans/trans_xmips.c.inc | 136 ++++++ target/riscv/meson.build | 2 + target/riscv/mips_csr.c | 217 +++++++++ target/riscv/translate.c | 3 + target/riscv/xmips.decode | 35 ++ tests/functional/riscv64/meson.build | 2 + tests/functional/riscv64/test_boston.py | 123 +++++ 30 files changed, 2018 insertions(+), 5 deletions(-) create mode 100644 docs/system/riscv/mips.rst create mode 100644 hw/misc/riscv_cmgcr.c create mode 100644 hw/misc/riscv_cpc.c create mode 100644 hw/riscv/boston-aia.c create mode 100644 hw/riscv/cps.c create mode 100644 include/hw/misc/riscv_cmgcr.h create mode 100644 include/hw/misc/riscv_cpc.h create mode 100644 include/hw/riscv/cps.h create mode 100644 target/riscv/insn_trans/trans_xmips.c.inc create mode 100644 target/riscv/mips_csr.c create mode 100644 target/riscv/xmips.decode create mode 100755 tests/functional/riscv64/test_boston.py