Releases: sysprog21/rv32emu
Releases · sysprog21/rv32emu
v1.0
Version 1.0 marks the first public release of the rv32emu project, aligning with the research paper "Accelerating RISC-V Instruction Set Simulation with Tiered JIT Compilation," which was presented at the VMIL'24 conference.
What's Changed
- Fix the range of for loop in memory_delete() by @sammer1107 in #1
- Use computed-goto to lower instruction dispatch overhead by @sammer1107 in #2
- Fix #6 by @eecheng87 in #8
- Fix csrrwi instruction behavior according to risc-v spec by @feathertw in #10
- Support RISC-V Compressed Instructions by @xiaohan484 in #11
- adding Quake binary and usage information by @Korin777 in #13
- Integrate riscv-arch-test by @xiaohan484 in #12
- Check instruction misalignment for RV32C in the op_branch function by @dougpuob in #14
- build/quake: Lower resolution to speed up game execution by @Korin777 in #15
- Remove duplicate code by @LambertWSJ in #16
- remove
goto quit
by @LambertWSJ in #17 - fix build issue when close ENABLE_COMPUTED_GOTO by @LambertWSJ in #19
- Unify comment style by @2011eric in #23
- Detect NaN in FADD and FSUB by @2011eric in #24
- Fail to run RV32C tests by @LambertWSJ in #31
- Implement an input event specific system call for SDL by @alanjian85 in #35
- Update demo executable along with manual by @alanjian85 in #38
- Add input system support to Doom demo by @alanjian85 in #41
- Fix set PC restriction when RV32C is enabled by @RinHizakura in #44
- Implement GDB stub for remote debugging by @RinHizakura in #45
- Manage breakpoints with red-black tree by @RinHizakura in #46
- Add support of FCLASS.S by @2011eric in #47
- Enforce zero register in floating point operation by @2011eric in #48
- Fix gdbstub read memory error by @RinHizakura in #50
- Improve fmin/fmax by @2011eric in #51
- Fix comment for consistent comment style by @EagleTw in #54
- Add comments for educational usage by @EagleTw in #55
- gdbstub: Implement memory write and register write by @RinHizakura in #56
- Lower branches in red-black tree by @steven1lung in #58
- Lower branches in red-black tree again by @steven1lung in #59
- Implement ebreak properly by @Risheng1128 in #60
- Apply bidirectional queue design to the input system by @alanjian85 in #62
- Avoid duplications in RISC-V exception handlers by @Risheng1128 in #63
- Pass several privilege tests and fix RV32I comment by @Risheng1128 in #65
- Refactor rbtree previous iterator by @steven1lung in #67
- Implement environment call properly by @Risheng1128 in #66
- Eliminate memory allocations in the system call
setup_queue
by @alanjian85 in #68 - Add comment for better understanding and consistency by @EagleTw in #70
- Fix memory access violations in queue operation functions by @alanjian85 in #71
- Fix red-black tree's implementation by @alanjian85 in #72
- Refine relative mode submission mechanisms by @alanjian85 in #76
- Detect toolchain automatically by @Risheng1128 in #77
- Update demo binaries by @alanjian85 in #83
- SDL: Allow window resizing by @alanjian85 in #84
- an annotation typo in elf.h by @zoanana990 in #85
- Place floating point routines into a dedicated header by @2011eric in #86
- Decouple instruction decoding from emulation unit by @Risheng1128 in #79
- Introduce basic block by @Risheng1128 in #91
- Shorten the time spent checking instruction length by @qwe661234 in #92
- Break instruction decoding and emulation into separate stage by @jserv in #93
- Set rv->compressed for instruction ecall and ebreak by @qwe661234 in #96
- Patch for issue #98 by @qwe661234 in #100
- Refine the SDL-oriented system calls declaration by @alanjian85 in #102
- tests: line: Use fixed-point arithmetic by @maromaSamsa in #107
- Use interger shortcut in floating point routines by @2011eric in #109
- Migrate to RISC-V Compatibility Framework (RISCOF) by @Risheng1128 in #108
- Edit pointer incremental according to CodeQL analysis by @EagleTw in #112
- Add CodeQL workflow for GitHub code scanning by @lgtm-com in #89
- Fix memory leak by @qwe661234 in #113
- Reflect the introduction of RISCOF by @2011eric in #111
- Rollback partial wrong implemented code in pr #89 by @EagleTw in #114
- Update mini-gdbstub for the on_interrupt feature by @RinHizakura in #115
- Remove the computed-goto option by @Risheng1128 in #116
- Prevent the misleading information about RISCOF by @Risheng1128 in #117
- Add adaptive replacement cache by @qwe661234 in #118
- fix: Fix the typo pyton by @howjmay in #119
- Extend basic block without aggressive memory copy by @qwe661234 in #121
- Improve memory read/write by @qwe661234 in #123
- Correct the API descriptions for memory pool by @willwillhi1 in #124
- Implement LFU as default cache along with memory pool by @qwe661234 in #125
- Fix the implementations of FCVT.S.W and FCVT.S.WU by @alanjian85 in #126
- Fix make misalign in Makefile by @qwe661234 in #127
- Update mini-gdbstub and the corresponding API by @RinHizakura in #129
- Consolidate CI/CD test for gdbstub by @RinHizakura in #130
- Employ tracing extended basic blocks by @qwe661234 in #133
- Introduce preliminary macro operation fusion by @qwe661234 in #132
- Fix spicious pointer scaling by @qwe661234 in #138
- Add an option to dump registers as JSON by @long-long-float in #128
- Fix incorrect performance counter by @qwe661234 in #140
- Add test case for map API by @EagleTw in #141
- Map enhancement by @EagleTw in #144
- tests: Add script to extract CoreMark results by @qwe661234 in #143
- Add missing EBB information in cbeqz and cbnez by @qwe661234 in #147
- CI: Enforce newline at end of files by @jserv in #154
- Fix incorrectly generated config file by @2011eric in #174
- Correct a typo in mpool.h by @felixonmars in #178
- Fix typo in comment by @ChinYikMing in #179
- Improve consistency of accessing rv's registers by @ChinYikMing in #180
- Fix return NULL when malloc failed by @ChinYikMing in #181
- Call appropriate release function by @ChinYikMing in #182
- Improve macro-op fusion: skip nop and add lui + addi by @qwe661234 in #184
- Support passing argc and argv to target program by @ChinYikMing in https://github.c...