Releases: runtimeverification/riscv-semantics
Releases · runtimeverification/riscv-semantics
v0.1.25: Execute conformance tests (#30)
* Switch to a SparseBytes data structure to space-efficiently represent memory * Fix JALR to overwrite PC rather than add to it * Add --temp-dir flag to save temporaries * Factor out elf_parser.read_unique_symbol helper * Update riscof_kriscv.py to execute tests and dump signature * Separate the riscof-based architectural tests from the integration tests * Add sail_cSim as the riscof reference plugin * Fix description for JALR * term_builder.py: Add comment to end1 < start2 assertion * Add comments to rules only included to preserve totality * Add further documentation to README.md * Set Version: 0.1.25 --------- Co-authored-by: devops <devops@runtimeverification.com>
v0.1.24: Update dependency: deps/k_release (#33)
* deps/k_release: Set Version 7.1.100 * Set Version: 0.1.24 * pyproject.toml: sync pyk version 7.1.100 * deps/k_release: Set Version 7.1.101 * pyproject.toml: sync pyk version 7.1.101 * deps/k_release: Set Version 7.1.102 * pyproject.toml: sync pyk version 7.1.102 --------- Co-authored-by: devops <devops@runtimeverification.com>
v0.1.23: Update dependency: deps/k_release (#32)
* deps/k_release: Set Version 7.1.98 * Set Version: 0.1.23 * pyproject.toml: sync pyk version 7.1.98 * deps/k_release: Set Version 7.1.99 * pyproject.toml: sync pyk version 7.1.99 --------- Co-authored-by: devops <devops@runtimeverification.com>
v0.1.22: Update dependency: deps/k_release (#31)
* deps/k_release: Set Version 7.1.93 * Set Version: 0.1.22 * pyproject.toml: sync pyk version 7.1.93 * deps/k_release: Set Version 7.1.94 * pyproject.toml: sync pyk version 7.1.94 * pyproject.toml: sync pyk version 7.1.94 * deps/k_release: Set Version 7.1.95 * pyproject.toml: sync pyk version 7.1.95 * deps/k_release: Set Version 7.1.96 * pyproject.toml: sync pyk version 7.1.96 * deps/k_release: Set Version 7.1.97 * pyproject.toml: sync pyk version 7.1.97 --------- Co-authored-by: devops <devops@runtimeverification.com>
v0.1.21: Update dependency: deps/k_release (#29)
* deps/k_release: Set Version 7.1.86 * Set Version: 0.1.20 * pyproject.toml: sync pyk version 7.1.86 * deps/k_release: Set Version 7.1.87 * pyproject.toml: sync pyk version 7.1.87 * deps/k_release: Set Version 7.1.88 * pyproject.toml: sync pyk version 7.1.88 * deps/k_release: Set Version 7.1.89 * pyproject.toml: sync pyk version 7.1.89 * deps/k_release: Set Version 7.1.90 * Set Version: 0.1.21 * pyproject.toml: sync pyk version 7.1.90 * deps/k_release: Set Version 7.1.92 * pyproject.toml: sync pyk version 7.1.92 --------- Co-authored-by: devops <devops@runtimeverification.com>
v0.1.20: Implement RV32 instructions (#28)
* README.md: Fix call to kriscv run * Check output of run_pattern for better error messages * Fix >>aWord and >>lWord to account for >>Int requiring infinite sign extension to properly do an arithmetic shift * Sign extend the LUI immediate for when XLEN > 32 * Update CHECK_HALT rules to only apply when we haven't halted already * Add macros for simple tests * Refactor simple tests to have a YAML assertion file instead of the full configuration output * Fold addi-overflow.S into addi.S * Implement SLTI and SLTIU * Implement ANDI, ORI, and XORI * Implement SLLI, SRLI, and SRAI * Implement AUIPC and ADD * Implement SUB, SLT, SLTU, AND, OR, and XOR * Implement SLL, SRL, and SRA * Implement JAL * Implement JALR * Implement BEQ, BNE, BLT, BGE, BLTU, and BGEU * Implement LB, LH, LW, LBU, LHU, SB, SH, and SW * Implement FENCE, FENCE.TSO, ECALL, and EBREAK * Refactor the halting mechanism to make it possible to cleanly halt at any point, as will be necessary for, e.g., illegal instruction exceptions. * Pull the PC increment out into a separate pipeline step * Use a branchPC function for branch instrs rather than two separate rules * Set Version: 0.1.20 * Add comments explaining why the arithmetic >>Int is used to implement the logical >>lWord --------- Co-authored-by: devops <devops@runtimeverification.com>
v0.1.19: Update dependency: deps/k_release (#26)
* deps/k_release: Set Version 7.1.60 * Set Version: 0.1.17 * pyproject.toml: sync pyk version 7.1.60 * deps/k_release: Set Version 7.1.61 * pyproject.toml: sync pyk version 7.1.61 * deps/k_release: Set Version 7.1.62 * pyproject.toml: sync pyk version 7.1.62 * deps/k_release: Set Version 7.1.63 * pyproject.toml: sync pyk version 7.1.63 * deps/k_release: Set Version 7.1.64 * pyproject.toml: sync pyk version 7.1.64 * deps/k_release: Set Version 7.1.65 * pyproject.toml: sync pyk version 7.1.65 * deps/k_release: Set Version 7.1.66 * pyproject.toml: sync pyk version 7.1.66 * deps/k_release: Set Version 7.1.67 * pyproject.toml: sync pyk version 7.1.67 * deps/k_release: Set Version 7.1.68 * Set Version: 0.1.18 * pyproject.toml: sync pyk version 7.1.68 * deps/k_release: Set Version 7.1.69 * pyproject.toml: sync pyk version 7.1.69 * deps/k_release: Set Version 7.1.70 * pyproject.toml: sync pyk version 7.1.70 * deps/k_release: Set Version 7.1.72 * pyproject.toml: sync pyk version 7.1.72 * deps/k_release: Set Version 7.1.74 * pyproject.toml: sync pyk version 7.1.74 * deps/k_release: Set Version 7.1.76 * pyproject.toml: sync pyk version 7.1.76 * deps/k_release: Set Version 7.1.77 * pyproject.toml: sync pyk version 7.1.77 * deps/k_release: Set Version 7.1.78 * pyproject.toml: sync pyk version 7.1.78 * deps/k_release: Set Version 7.1.79 * pyproject.toml: sync pyk version 7.1.79 * deps/k_release: Set Version 7.1.80 * pyproject.toml: sync pyk version 7.1.80 * deps/k_release: Set Version 7.1.81 * pyproject.toml: sync pyk version 7.1.81 * deps/k_release: Set Version 7.1.82 * pyproject.toml: sync pyk version 7.1.82 * deps/k_release: Set Version 7.1.83 * pyproject.toml: sync pyk version 7.1.83 * deps/k_release: Set Version 7.1.84 * pyproject.toml: sync pyk version 7.1.84 * deps/k_release: Set Version 7.1.85 * pyproject.toml: sync pyk version 7.1.85 * Set Version: 0.1.19 * pyproject.toml: sync pyk version 7.1.85 --------- Co-authored-by: devops <devops@runtimeverification.com> Co-authored-by: Everett Hildenbrandt <everett.hildenbrandt@gmail.com>
v0.1.18: Use an abstract `Word` type (#27)
* Rename XLEN() to XLEN * Use an abstract Word sort instead of Int * Add documentation for the semantics * Correct LUI to be XLEN invariant * Refactor halting mechanism to avoid contextual functions * Update to actions/checkout@v4 * Set Version: 0.1.18 --------- Co-authored-by: devops <devops@runtimeverification.com>
v0.1.17: Implement disassembler and instruction fetch cycle (#25)
* Add kllvm and kllvm-runtime targets * Implement disassemble function * Implement basic instruction fetch cycle * Fix simple test suite to update expected output properly. Use _halt instead of _end * Implement ADDI instruction * Implement LUI instruction * Set Version: 0.1.17 * Move test-unit after kdist-build in test workflow so that kllvm-runtime is built * Use a Map{Int, Int} instead of a RangeMap{Int, Bytes} * Mark functions total * Rename INVALIDINSTR to INVALID_INSTR --------- Co-authored-by: devops <devops@runtimeverification.com>
v0.1.16: Update dependency: deps/k_release (#24)
* deps/k_release: Set Version 7.1.43 * Set Version: 0.1.16 * pyproject.toml: sync pyk version 7.1.43 * deps/k_release: Set Version 7.1.44 * pyproject.toml: sync pyk version 7.1.44 * deps/k_release: Set Version 7.1.45 * pyproject.toml: sync pyk version 7.1.45 * deps/k_release: Set Version 7.1.46 * deps/k_release: Set Version 7.1.48 * deps/k_release: Set Version 7.1.49 * pyproject.toml: sync pyk version 7.1.49 * deps/k_release: Set Version 7.1.50 * pyproject.toml: sync pyk version 7.1.50 * deps/k_release: Set Version 7.1.51 * pyproject.toml: sync pyk version 7.1.51 * deps/k_release: Set Version 7.1.52 * deps/k_release: Set Version 7.1.53 * pyproject.toml: sync pyk version 7.1.53 * deps/k_release: Set Version 7.1.54 * deps/k_release: Set Version 7.1.55 * pyproject.toml: sync pyk version 7.1.55 * deps/k_release: Set Version 7.1.56 * pyproject.toml: sync pyk version 7.1.56 * deps/k_release: Set Version 7.1.57 * pyproject.toml: sync pyk version 7.1.57 * deps/k_release: Set Version 7.1.58 * pyproject.toml: sync pyk version 7.1.58 * deps/k_release: Set Version 7.1.59 * pyproject.toml: sync pyk version 7.1.59 --------- Co-authored-by: devops <devops@runtimeverification.com>