Skip to content

Commit

Permalink
improve README
Browse files Browse the repository at this point in the history
  • Loading branch information
hidetatz committed May 3, 2022
1 parent 22dedd0 commit bd9a55f
Showing 1 changed file with 44 additions and 10 deletions.
54 changes: 44 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,46 @@
# rv

TODOs:

- [ ] Support more instructions
- [ ] CSR
- [x] Load ELF
- [ ] Memory mapped IO devices
- [ ] Exception
- [ ] Interrupt
- [ ] CPU mode
- [ ] Virtual memory translation
rv is a 64-bit RISC-V emulator written in Go.
It only supports running ELF binary.

## Installation

```
go install github.com/hidetatz/rv@latest
```

## Usage

Pass an ELF program to run to `rv`.

```
rv -p ./hello
```

Debug will be enabled if `-d` option is passed.

## Supported instructions

- [ ] RV64G ISA
- [x] RV64I
- [ ] RV64M
- [ ] RV64A
- [ ] RV64F
- [ ] RV64D
- [x] Zifencei
- [x] Zicsr
- [x] RV64C ISA
- [x] Privileged ISA

For the full list of the implemented instructions, see [instructions.go](./instructions.go).

## Supported features

- [x] ELF binary load
- [ ] Sv39 (Virtual memory)
- [x] CSR
- [ ] Devices

## LICENSE

MIT

0 comments on commit bd9a55f

Please sign in to comment.