Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
N has been deprecated in favor of bare S.
|
|
|
|
|
|
- No instructions now share opcodes between RV32 and RV64.
- Removing extra logic from parse_opcodes which was added to handle this.
- Will also remove downstream logic in Spike to handle this too.
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
Changes to be committed:
modified: parse_opcodes
|
|
- After questions from the architecture review and subsequent cryptography
task group meetings, we have stopped overlapping the aes32* and aes64*
instruction encodings.
- We've done this in the name of removing complexity, because opcode space is
not as tight as we thought it was when we originally overlapped them.
- Change affected by updating the aes32* opcodes only.
On branch master
Your branch is up-to-date with 'origin/master'.
Changes to be committed:
modified: opcodes-rv32k
modified: parse_opcodes
|
|
* Add Svinval instructions
* Add PTE defines for Priv 1.12 and Svpbmt
|
|
- Change AES32* and SM4* instructions back to regular R-type encoding.
On branch scalar-crypto-v0.9.2
Changes to be committed:
modified: opcodes-rv32k
modified: opcodes-rv64k
modified: opcodes-rvk
modified: parse_opcodes
|
|
|
|
scalar-crypto: Add opcodes for RV32K, RV64K
|
|
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
|
|
Co-authored-by: Megan Wachs <megan@sifive.com>
|
|
- Adds opcodes for RV32 and RV64 scalar crypto.
- opcodes-rvk contains encodings which are for RV32 and RV64 base ISAs
- opcodes-rv32/64k contains encodings which are for RV32 or RV64
- parse_opcodes has been modified:
- Wnable instructions to be listed as either RV32 or RV64 only, allowing
these opcodes to overlap.
- The C backend has been modifed to emit the "DECLARE_RV32_ONLY" or
"DECLARE_RV64_ONLY" macros as needed.
- The other backends have not been modified, and may need to be in the
future.
On branch scalar-crypto
Changes to be committed:
modified: Makefile
new file: opcodes-rv32k
new file: opcodes-rv64k
new file: opcodes-rvk
modified: parse_opcodes
|
|
Remove the 'ok' value since this is redundant - an invalid instruction can
already be identified by a nil return value.
Also, include the script flags in the 'DO NOT EDIT' header.
|
|
|
|
Adding these four CSRs to parse_opcodes:
- 0x7a4 tinfo
- 0x7a5 tcontrol
- 0x7a8 mcontext
- 0x7aa scontext
|
|
This part copy the implementation which has been merged in spike
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
|
|
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
|
|
about two parts
1. hypervisor related
2. missing high part for rv32
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
|
|
- Prevent got different result in different python env.
|
|
|
|
|
|
1. vleb is read-only CSR to keep vector implementation lenght in byte
2. mstatus.vs is similar to mstatus.fs and designed to keep vector extension
state
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
|
|
|
|
* (Partially) fix #30
With this change (and a renamed parse-opcodes) it's possible to as a
Python module without having to patch the repo. Example:
from parse_opcodes import parse_inputs
if __name__ == "__main__":
(namelist, pseudos, mask, match, arguments) = parse_inputs(["opcodes", "opcodes-rvc"])
* Fix #30: Rename parse-opcode to parse_opcode to enable module use
|