All notable changes to MSIM will be documented in this file (though changes before v2.0.0 are often incomplete).
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Wrong toolchain link in mini-kernel tutorial (see #73, @HanyzPAPU)
- Wrong header guard (see #74, @HanyzPAPU, @vhotspur)
- Added Mini-kernel multiplatform tutorial (see #70, @HanyzPAPU)
- RISC-V virtual memory commands tutorial (see #70, @HanyzPAPU)
- CI builds on MacOS (see #76, #77, @vhotspur)
- Tutorial reorganization (see #70, @vhotspur)
- Wrong formatting of virtual address in the result of
tr
andstr
(see #71, @HanyzPAPU) - Propagate error when ddisk cannot write to a file (see #63, @PeterHero)
- wrong
break
documentation (see #55 and #56, @KronwarsCZ, @vhotspur) - RISC-V executing from paged memory in M-mode (see #66, @HanyzPAPU)
- setup C style (via
.clang-format
) (see #51, @vhotspur) - CI checks C style as well as file encoding and line-endings (see #51, @vhotspur)
- completion for
add
prints available devices (see #31, @vhotspur) - page table dumping commands
ptd
andsptd
(see #67, @HanyzPAPU) - virtual address translation commands
tr
andstr
(see #67, @HanyzPAPU)
- renamed RISC-V CPU commands (see #60, @HanyzPAPU)
csrrd
iscsrd
,tlbrd
istlbd
csrd
dumps selected registers only (see #61, @HanyzPAPU)
- ebuild recipe (thx MFF sysadmins)
- RISC-V TLB documentation (@vhotspur, @HanyzPAPU)
- ReadTheDocs configuration (@vhotspur)
EBREAK
instruction on RISC-V halts simulation without TTY (as is done on MIPS) (@vhotspur)- move changelog to a more structured format (@vhotspur)
dnomem
debugging device (breaks simulation on memory access to its area) (@vhotspur)
- more automated tests (@vhotspur)
- various CI improvements (@vhotspur)
- broken device clean-up (see #44, @vhotspur)
- more CI automation (@vhotspur)
- simulated TLB for RISC-V (Jan Papesch [email protected])
- switch documentation to read-the-docs (@vhotspur)
- support for RISC-V (Jan Papesch [email protected])
- halt simulation when
XINT
invoked without TTY (@vhotspur)
- add DCRV instruction for CP0 register dump (@vhotspur)
- reintroduce DVAL instruction (@vhotspur)
- improved CP0 register dump (@vhotspur)
- improve command line processing code (Martin Decky [email protected])
- code consolidation (Martin Decky [email protected])
- port fixes from the 1.3 branch (Martin Decky [email protected])
TLBWI
implementation (Jan Zaloha and Vlastimil Babka)
- support for
DESTDIR
intoMakefile.in
(@vhotspur) - resurrect GDB support, better device management and various other improvements (Tomas Martinec)
- Gentoo ebuild and RPM spec file (Martin Decky [email protected])
- official reference manual in doc/reference.html (Martin Decky [email protected])
- compilation in Cygwin (Martin Decky [email protected])
- use EPC of previous branch instruction if TLB exception on code fetch happens inside a branch delay slot (Ondrej Cerny)
- memory access alignment (Martin Decky [email protected])
- fix console input in MinGW (Martin Decky [email protected])
- initial support for building in MinGW (Martin Decky [email protected])
- code and data breakpoints (Martin Decky [email protected])
- support WATCH exception (thx Lubomir Bulej)
- add GPL license (Martin Decky [email protected])
- source cleanup (Martin Decky [email protected])
- simplify build system (Martin Decky [email protected])
- split sources into multiple directories (Martin Decky [email protected])
- LL-SC tracking fix (Jiri Svoboda)
- dorder sychdown command (Andrej Krutak)
- badvaddr now set for all exceptions (Viliam Holub [email protected])
- ddisk and mem clean-up (Milan Burda)
- dtime now reads usec as well (Viliam Holub [email protected])
- minor performance improvements (Viliam Holub [email protected])
- error messages (Viliam Holub [email protected])
- CPU number (Viliam Holub [email protected])
dorder
has two registers now - enable/disable interrupt pending (Viliam Holub [email protected])
dorder
infinite loop (David Matousek)
- several small fixes (Martin Decky [email protected])
- missing
stdio.h
ininput.c
fixed (Viliam Holub [email protected]) MULT
implementation (thx Ondrej Palkovsky [email protected])u_int64_t
->uint_64
(Viliam Holub [email protected])autogen.sh
added (Viliam Holub [email protected])
goto
has been renamed tocontinue
(Viliam Holub [email protected])
dprintf
renamed tomprintf
to avoid conflicts with libc (Martin Decky [email protected])- keybord keycode register is cleared after read operation; this allows to read new keycodes even with disabled interrupts (Ondrej Palkovsky [email protected])
- TLB Modification exception (Jakub Jermar [email protected])
- LWL, LWR, SWL, SWR byte counting fix by (Ondrej Palkovsky [email protected])
- MTC0 fix (Ondrej Palkovsky [email protected])
- various small issues (Lubomir Bulej)
- add 4kc support (Ondrej Palkovsky [email protected])
- error messages cleanup (Viliam Holub [email protected])
- code polishing (Viliam Holub [email protected])
- various fixes of
ERET
,LBU
andEPC
rewrite (Matej Pivoluska, Martin Horvath, Jakub Kotrla)
- the first version of TAB completion (Viliam Holub [email protected])
- safe versions of
malloc
andstrdup
(Viliam Holub [email protected])
- all system and device command are now defined via structures
- generic context help (Viliam Holub [email protected])
- device command are now generic (Viliam Holub [email protected])
- non-POSIX terminal attributes are now checked (Viliam Holub [email protected])
dcpu md
command fixed (Viliam Holub [email protected])- endians checked via autoconf (Viliam Holub [email protected])
- cycle counter size increased to long long (Viliam Holub [email protected])
- code cleanup (comments, read/write functions) (Viliam Holub [email protected])
- TLB dirty mask (read-only pages were writable) (Viliam Holub [email protected])
- MTLO and MTHI fixes (Viliam Holub [email protected])
- various debug messages (Viliam Holub [email protected])
- added
dtime
device (Viliam Holub [email protected])