aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-04-08migrate F-extension opcodesNeel Gala2-17/+11
- all changes involve re-ordering to preserve order in latex-tables
2022-04-08migrate A-extension opcodesNeel Gala4-24/+23
- the re-ordering of opcodes s necessary to preserve latex-table order
2022-04-08migrate M-extension opcodesNeel Gala2-1/+0
- the files are simply renamed
2022-04-08migrate I-extension opcodesNeel Gala3-42/+26
- the ordering in these files have changed to preserve the order in the latex- tables - also ecall and ebreak has been moved to rv_i instead of keeping them in 'systems' file.
2022-04-05Fix makefile to avoid explicitly invoking pythonAndrew Waterman1-1/+1
The parse-opcodes script already contains `#!/usr/bin/env python3`
2022-04-04Clean up handling of scalar crypto extensions (#105)Zenithal4-1/+1
Similar to 2497a8cc Clean up handling of bitmanip extensions cc @ben-marshall
2022-04-03Modernize to Python 3 (#104)Zenithal1-4/+1
Python2 has already been deprecated in 2020 This also removes the dependency of python2-future Ref to #22
2022-03-28Define HGATP_MODE_SV57X4 for Sv57x4 translation modeAndrew Waterman1-0/+1
2022-02-13Clean up handling of bitmanip extensionsAndrew Waterman13-92/+120
There's no such thing as "B", which continues to be a source of confusion. Time to fix that. cc @ben-marshall since I added Zbkb/Zbkx. Resolves #101
2022-01-20Synchronize priv-instr-table.tex with the Manual (#99)Tsukasa #01 (a4lg)1-7/+14
This commit roughly synchronizes privileged instruction table with the ISA Manual with slight instruction order modifications, expecting instruction tables in the ISA Manual are fully generated by riscv-opcodes, not modified by hand. This is based on: * riscv/riscv-isa-manual: commit f30a5f6de685 ("Update chapters 2 and 7 for Hypervisor v0.6") * riscv/riscv-opcodes: commit 65af4131c26f ("Virtual memory updates (#76)")
2022-01-19Update vmorn/vmandn mnemonics; create pseudos for old namesAndrew Waterman2-2/+5
See https://github.com/riscv/riscv-v-spec/commit/c0275171f453bd0f2361b7dade47bddeb08fb7e5
2022-01-19Fix encodings of HINVAL.VVMA/HINVAL.GVMAAndrew Waterman1-2/+2
h/t @a4lg See https://github.com/riscv/riscv-isa-manual/issues/814
2022-01-19Add RISC-V Zfh extension instructions to table (#97)Tsukasa #01 (a4lg)1-0/+17
2022-01-19Remove LaTeX trailing spaces (entirely) (#98)Tsukasa #01 (a4lg)1-16/+16
2021-12-21removed non-ratified RV64B opcodes (#96)Purushothaman Palani1-7/+0
2021-12-16Add new CSR bits defined in Privileged Spec version 1.12 (#94)Tsukasa #01 (a4lg)1-0/+31
2021-12-15Merge branch 'a4lg-make-intermediate-header'Andrew Waterman2-3/+6
2021-12-15add quotes around 'make' commandAndrew Waterman1-1/+1
2021-12-16Make intermediate header fileTsukasa OI2-3/+6
Instead of making (and depending on) multiple header files in external repositories, this commit makes single intermediate file and copies it to external directories on install. This will... * Reduce CPU time (only slightly, though). * Enable making header file *without* cloning and destroying external repositories (`make encoding.out.h`). * Ensure that latest encoding.h is generated and copied on install, even after fresh checkout on an external source tree.
2021-12-15Add new CSRs defined in Privileged Spec version 1.12 (again) (#92)Tsukasa #01 (a4lg)1-0/+1
I forgot to add `senvcfg` in the previous PR.
2021-12-13Add new CSRs defined in Privileged Spec version 1.12 (#90)Tsukasa #01 (a4lg)1-0/+67
* Add CSRs defined in Privileged spec 1.12 (non-H) This commit defines additional CSRs defined in the privileged specification, version 1.12 (diff is from 1.11) except... - Those defined in riscv-opcodes: - mstatush - mtinst - mtval2 - mcontext - Those related to hypervisor extension cf. <https://github.com/riscv/riscv-isa-manual/releases/tag/Priv-v1.12> * Add new CSRs defined in Privileged spec 1.12 (H) New hypervisor-related CSRs, `henvcfg` and `henvcfgh` are added. All other hypervisor-related CSRs are already implemented in riscv-opcodes. cf. <https://github.com/riscv/riscv-isa-manual/releases/tag/Priv-v1.12>
2021-12-13Add Zicbo{m,p,z} instructions (#91)Tsukasa #01 (a4lg)3-1/+21
This commit adds instructions defined in RISC-V Base Cache Management Operation ISA Extensions, version 1.0.0-rc2 (now ratified). https://github.com/riscv/riscv-CMOs
2021-11-02Update trigger CSRs per Debug Spec v1.0: mscontext, scontext, hcontext (#85)Jan Matyas1-1/+3
2021-11-02Merge pull request #87 from scottj97/update-isasim-encodingAndrew Waterman1-4/+2
Update encoding.h to match recent Spike changes
2021-11-02Merge branch 'master' into update-isasim-encodingScott Johnson3-5/+5
2021-11-02Update Krypto to match what Spike hasScott Johnson2-6/+1
Goal is to most closely match the hand-made changes to Spike's copy of encoding.h, before we again start generating it from this repo. This best matches Spike as of https://github.com/riscv-software-src/riscv-isa-sim/commit/47aa83c2dda373bc266de2cb5fc85544cb7bdea8
2021-11-02Remove no-longer-used SSTATUS_VS_MASKScott Johnson1-4/+0
Spike removed this in https://github.com/riscv-software-src/riscv-isa-sim/commit/60243a3bf9f86de5b8b58807ae218f1e3aedc31c I checked other uses of encoding.h (riscv-pk, riscv-test-env, riscv-openocd), and confirmed that none of them use this value.
2021-11-02Add new hypervisor bits to mstatushScott Johnson1-0/+2
In Spike, I added these by hand in https://github.com/riscv-software-src/riscv-isa-sim/commit/4730be82e63ec8bf4a30aa59afee5e5b58a0fbe4
2021-11-01Merge pull request #84 from mjosaarinen/masterAndrew Waterman4-10/+5
Zbkx renames xperm.n and xperm.b as xperm4 and xperm8.
2021-11-01Change entropy source CSR name and address (seed).Markku-Juhani O. Saarinen2-6/+1
2021-11-01Zbkx renames xperm.n and xperm.b as xperm4 and xperm8. Others for consistency.Markku-Juhani O. Saarinen2-4/+4
2021-08-25Remove vestages of N extensionAndrew Waterman2-10/+1
N has been deprecated in favor of bare S.
2021-08-08RVP: v0.9.3 support (#79)marcfedorow1-1/+0
Removed SWAP16 opcode to avoid overlap with PKBT16
2021-08-03Fix Svinval rs1 encodings (#78)Daniel Lustig1-5/+5
2021-07-28Add missing aliases for vle1.v/vse1.vAndrew Waterman1-0/+3
2021-07-28Merge pull request #60 from riscv/p-extAndrew Waterman3-1/+334
Add RISC-V P Extension v0.9.2 opcodes
2021-07-28RVP: v0.9.2 supportChun-Ping Chung1-327/+327
2021-07-28RVP: format opcodeChun-Ping Chung1-329/+327
2021-07-28RVP: v0.9.1 supportChun-Ping Chung2-26/+23
2021-07-28RVP: v0.5.2 supportChun-Ping Chung3-1/+339
2021-07-28Merge pull request #77 from ben-marshall/masterAndrew Waterman2-66/+4
scalar-crypto: post arch-review aes32* opcode change
2021-07-28scalar-crypto: Remove rv*_only logic.Ben Marshall1-54/+0
- 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
2021-07-23scalar-crypto: post arch-review aes32* opcode changeBen Marshall2-12/+4
- 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
2021-07-19Virtual memory updates (#76)Daniel Lustig4-1/+16
* Add Svinval instructions * Add PTE defines for Priv 1.12 and Svpbmt
2021-07-18rvv: remove dot and qmac instructions (#75)Chih-Min Chao1-7/+0
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
2021-07-13Updated several RVV instructions (#74)Zhen Wei2-10/+20
2021-06-20Move shift instructions to opcodes-rv64i (#68)Andrew Waterman2-3/+5
The shamt field is 6 bits wide, so doesn't belong in opcodes-rv32i. The opcodes-pseudo file still contains the RV32 versions with shamtw.
2021-06-07Update PTE_N encodingAndrew Waterman1-1/+1
See https://github.com/riscv/riscv-isa-sim/pull/724
2021-06-04scalar-crypto: Opcode updates for v0.9.2 (#66)Ben Marshall4-8/+8
- 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
2021-04-05Add fence.tso and pause instructionsAndrew Waterman1-2/+2