asterisc icon indicating copy to clipboard operation
asterisc copied to clipboard

feat: `c` extension support

Open clabby opened this issue 2 years ago • 0 comments

Overview

[!NOTE] WIP.

Adds support for the RVC extension, which is preferred by the most heavily supported RISC-V targets in rustc. More information can be found in the working document, which I'll update along the way of implementing support.

TODO

  • [x] Assess supported c extension instructions for asterisc
    • Pretty much everything but FP ops. See the hackmd.
  • [x] Decoding logic for various c extension instruction types.
  • [x] Encoding logic for various base ISA instruction types.
  • [x] Adjust program counter incrementation based on instruction size.
  • [x] Instruction decompressor in fast package
    • [ ] Port to rvsol and slow
  • [x] RISC-V standard c extension tests
  • [x] Decompressor tests
  • [x] Rust minimal example
    • [ ] New syscalls
      • [ ] Document Rust / glibc / llvm syscall usage for RISC-V linux targets.
    • [ ] symbol patches
  • [ ] Final cleanup; Delete scripts, etc.

clabby avatar Dec 15 '23 03:12 clabby