GitXplorerGitXplorer
N

nemu

public
940 stars
199 forks
5 issues

Commits

List of commits on branch master.
Unverified
e69f07f1a5bb4e754fd932eb5c668857543ca2eb

x86,inst: fix dnpc

ssashimi-yzh committed 3 months ago
Unverified
710a08994ef0a4c5ab2726072f96fbf981751c32

tools,capstone: use release v5.0.3

ssashimi-yzh committed 4 months ago
Unverified
27e934a8c52c4e9ffd0de07aac6cffafa190e49e

cpu,decode: remove extra `*` for label address

ssashimi-yzh committed 4 months ago
Unverified
ba499b77d4e8cdd763750810e6ca8484c204d073

update license to 2024

ssashimi-yzh committed 4 months ago
Unverified
a264eb16edc02c23c287ddd1aad11c38da8fe366

*.inst: optimize by shrinking the scope of local variables

ssashimi-yzh committed 4 months ago
Unverified
0c64fb9e0961aaaea4780dcf10fa3219fe1fc0ba

utils: remove unused macro

ssashimi-yzh committed 4 months ago

README

The README file for this repository.

NEMU

NEMU(NJU Emulator) is a simple but complete full-system emulator designed for teaching purpose. Currently it supports x86, mips32, riscv32 and riscv64. To build programs run above NEMU, refer to the AM project.

The main features of NEMU include

  • a small monitor with a simple debugger
    • single step
    • register/memory examination
    • expression evaluation without the support of symbols
    • watch point
    • differential testing with reference design (e.g. QEMU)
    • snapshot
  • CPU core with support of most common used instructions
    • x86
      • real mode is not supported
      • x87 floating point instructions are not supported
    • mips32
      • CP1 floating point instructions are not supported
    • riscv32
      • only RV32IM
    • riscv64
      • only RV64IM
  • memory
  • paging
    • TLB is optional (but necessary for mips32)
    • protection is not supported
  • interrupt and exception
    • protection is not supported
  • 5 devices
    • serial, timer, keyboard, VGA, audio
    • most of them are simplified and unprogrammable
  • 2 types of I/O
    • port-mapped I/O and memory-mapped I/O