-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Simplify README.md and migrate to online/Sphinx docs.
- Loading branch information
Showing
10 changed files
with
569 additions
and
326 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
```{include} ../CHANGELOG.md | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# Support Code | ||
|
||
`sentinel-rt` is an _currently-empty_ Rust support crate. If necessary, it will | ||
contain support routines optimized for the Sentinel RISC-V _implementation_ | ||
that LLVM or Rust wouldn't generally know about. I have three potential use | ||
cases: | ||
|
||
1. Wrappers over custom opcodes[^1] and the slow shift operators :), | ||
2. Related to 1., [`compiler-builtins`](https://github.com/rust-lang/compiler-builtins) | ||
specialization if possible[^2]. | ||
3. Runtime/Machine Mode code that is incompatible with the existing | ||
[`riscv-rt`](https://github.com/rust-embedded/riscv/tree/master/riscv-rt), | ||
_but_ compatible with the RISC-V spec[^3]. | ||
|
||
However, at present, I don't need any special support code, so `sentinel-rt` | ||
is just a reserved crate with example code for demo bitstreams. | ||
|
||
```{note} | ||
If I expand demos such that multiple linker scripts are required, the examples | ||
_directory_ will become an examples crate. Do not depend on | ||
`sentinel-rt/examples` being stable; the source root is _already_ | ||
a [workspace](https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html)! | ||
``` | ||
|
||
## Footnotes | ||
|
||
[^1]: A `memcpy` instruction is a good candidate for custom microcoded instruction | ||
with speedups. | ||
[^2]: Not clear to me that this _is_ possible! Just something I thought of. | ||
[^3]: The big one here is that RISC-V permits hardcoding `MTVEC`, but last I | ||
checked, this was not supported. This would likely be a size win, but | ||
I don't want to create a fork of `riscv-rt` just for this one edge case, | ||
so I deal. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,54 @@ | ||
# Testing Sentinel | ||
|
||
```{todo} | ||
This section needs to be fleshed-out, and is an import of the old `README.md` | ||
right now. | ||
``` | ||
|
||
## Run Tests | ||
|
||
``` | ||
pdm test | ||
``` | ||
|
||
or | ||
|
||
``` | ||
pdm test-quick | ||
``` | ||
|
||
The above will invoke `pytest` and test Sentinel against handcrafted examples, | ||
as well as the riscv-test repo binaries. See the `README.md` | ||
in `tests/upstream` for information on how to refresh the binaries. | ||
|
||
Right now (11/5/2023), the difference between `test` and `test-quick` is | ||
minimal. | ||
|
||
## Run RISC-V Formal Flow | ||
|
||
``` | ||
pdm rvformal-all [-n num_cores] | ||
``` | ||
|
||
or | ||
|
||
``` | ||
pdm rvformal test-name | ||
``` | ||
|
||
See `README.md` in `tests/formal` for more information, including | ||
valid/available test names. | ||
|
||
## Run RISCOF Flow | ||
|
||
``` | ||
pdm riscof-all | ||
``` | ||
|
||
or | ||
|
||
``` | ||
pdm riscof-override /path/to/test_list.yaml | ||
``` | ||
|
||
See `README.md` in `tests/riscof` for more information. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.