dramforever / cemu

A simple full system emulator. Currently support RV64IMACSU and MIPS32 and LoongArch32. Capable of booting Linux. Suitable for education and research.

Home Page:https://cemu.cyyself.name

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CEMU

A simple full system emulator.

Easy to be used for difftest with soc-simulator.

ISAs Support

  • RISC-V

    • RV64IMACSU
    • Sv39 MMU and TLB
    • RISC-V CLINT
    • RISC-V PLIC
    • Capable of booting S-Mode SMP Linux with OpenSBI
  • MIPS32

    • MIPS Release 1 support without Branch-Likely instruction
    • TLB based MMU Support
    • Capable of booting Linux and ucore-thumips
  • LoongArch32(Reduced)

    • Support LoongArch32(Reduced) instruction set, except FP instructions
    • TLB based MMU Support
    • Capable of booting Linux and ucore-loongarch32

TODO List

  • Cache simulation support (Currently at out-of-tree cache branch)

Devices Support

  • Xilinx UARTLite
  • Serial 8250 (16550 Compatible)

All devices class is shared with soc-simulator.

How to run?

See src/main.cpp and example_main folder to replace the main.

Help

Steps to booting Linux with RISCV-CEMU

About

A simple full system emulator. Currently support RV64IMACSU and MIPS32 and LoongArch32. Capable of booting Linux. Suitable for education and research.

https://cemu.cyyself.name

License:GNU General Public License v3.0


Languages

Language:C++ 99.5%Language:Python 0.3%Language:Makefile 0.2%Language:GDB 0.0%