- Jul 30, 2021
-
-
Andrew Waterman authored
-
Andrew Waterman authored
Factor out most common instruction patterns into functions, so tha much less static code needs to be compiled.
-
- Jul 29, 2021
-
-
Andrew Waterman authored
-
Andrew Waterman authored
-
Andrew Waterman authored
Precompiled headers were broken because they weren't compiled with the same -fPIC setting as the rest of the code. Fix by just making everything use -fPIC.
-
Andrew Waterman authored
-
Andrew Waterman authored
-
Andrew Waterman authored
Scalar crypto: post arch review updates
-
- Jul 28, 2021
-
-
Ben Marshall authored
- Remove remaining code which allowed spike to differentiate between RV32 and RV64 instructions which share an encoding. On branch scalar-crypto Changes to be committed: modified: disasm/disasm.cc modified: riscv/processor.cc
-
Ben Marshall authored
- These are no longer needed since none of the scalar crypto instructions overlap their encodings any more. - There is more code to be removed in relation to letting Spike handle overlapped RV32/64 instructions, but this will be done in subsequent commits and PRs so that the downstream scalar-crypto work can be un-gated. On branch scalar-crypto Changes to be committed: modified: riscv/encoding.h
-
Ben Marshall authored
On branch scalar-crypto Changes to be committed: modified: riscv/insns/sm3p0.h modified: riscv/insns/sm3p1.h modified: riscv/insns/sm4ed.h modified: riscv/insns/sm4ks.h
-
Ben Marshall authored
- AES32 encodings nolonger overlap AES64 encodings On branch scalar-crypto Changes to be committed: modified: riscv/encoding.h
-
ChunPing Chung authored
rvp: Fixed rv32 legality issues.
-
- Jul 27, 2021
-
-
Mark Fedorov authored
-
Andrew Waterman authored
- Words shouldn't be swapped based on enddianness; the lower-numbered register always holds the low-order bits. - Check for alignment, which also fixes a buffer overflow. - Handle x0 correctly: read as zero, discard writes.
-
Mark Fedorov authored
-
- Jul 26, 2021
-
-
Andrew Waterman authored
decode: op: remove quad related macro and define
-
Chih-Min Chao authored
Let git keep the legacy code Signed-off-by:Chih-Min Chao <chihmin.chao@sifive.com>
-
- Jul 23, 2021
-
-
Andrew Waterman authored
-
Andrew Waterman authored
Continuation of 80be4e21
-
https://github.com/daniellustig/riscv-isa-simAndrew Waterman authored
Merge branch 'nonleaf_dau' of https://github.com/daniellustig/riscv-isa-sim into daniellustig-nonleaf_dau
-
Andrew Waterman authored
Fix HLVX
-
- Jul 22, 2021
-
-
Dan Lustig authored
...and hence should trigger page faults Thanks to @pdonahue-ventana for pointing this out: https://github.com/riscv/riscv-tests/issues/352
-
Andrew Waterman authored
When V=1, vsstatus.MXR applies to the first stage of translation, and mstatus.MXR applies to both. mstatus.SUM doesn't apply when V=1, but vsstatus.SUM does.
-
Andrew Waterman authored
It should require X permissions, rather than (R || X).
-
Andrew Waterman authored
The previous scheme flushed the TLB before and after HLV/HSV. I think this was slightly wrong in the case of a debug trigger match: because the TLB gets refilled before the trigger exception gets thrown, we might not have reached the second TLB flush, so the entry could linger. Instead of flushing, simply don't access the TLB and don't refill the TLB for these instructions. Other than the trigger exception case, the effect is the same: we'll perform a full table walk and we won't cache the result.
-
Andrew Waterman authored
-
- Jul 21, 2021
-
-
Daniel Lustig authored
* Priv virtual memory updates * Priv 1.12 requires page faults when the address translation process reaches a PTE with any reserved bit set * Svpbmt uses two PTE bits, but otherwise has no effect on Spike (since Spike is sequentially consistent and does not model PMAs) * Add Svinval instructions Even though I updated riscv-opcodes separately, I merged the new defines into riscv/encoding.h manually, because riscv-opcodes seems to be a step ahead of riscv-isa-sim for a few vector opcodes, causing conflicts when regenerating encoding.h... If that gets fixed, and encoding.h gets regenerated automatically, I can remove it from this PR to avoid conflicts. * Svinval: use #include rather than copying code ..for the Svinval functions that are implemented in ways that just mimic SFENCE/HFENCE instructions Thanks to @aswaterman for the suggestion
-
- Jul 19, 2021
-
-
Andrew Waterman authored
ext-h: handle mislaigned in guest
-
- Jul 18, 2021
-
-
Chih-Min Chao authored
Signed-off-by:Chih-Min Chao <chihmin.chao@sifive.com>
-
Chih-Min Chao authored
It has been discussed that mis-aligned exception needs to update mstata.GVA ref: https://github.com/riscv/riscv-isa-manual/issues/673 Signed-off-by:
Chih-Min Chao <chihmin.chao@sifive.com>
-
- Jul 16, 2021
-
-
Andrew Waterman authored
The wrong instruction might've been fetched when the PC was on the same page as a load or store used within the MPRV sequence. Fix by not using TLB within MPRV sequences. Resolves #746
-
- Jul 14, 2021
-
-
Andrew Waterman authored
Need to sign extend result for RV32. Possible fix to #743
-
- Jul 09, 2021
-
-
marcfedorow authored
-
marcfedorow authored
-
- Jul 08, 2021
-
-
marcfedorow authored
-
- Jun 28, 2021
-
-
Lu_Reaper authored
Co-authored-by:luruibo <dingiso.oah@gmail.com>
-
- Jun 15, 2021
-
-
Andrew Waterman authored
Fix disabling hypervisor via misa
-
- Jun 13, 2021
-
-
sven authored
Co-authored-by:zhongchengyong <zhongcy93@gmail.com>
-
- Jun 10, 2021
-
-
Shay Aviv authored
When U-mode is enabled but S-mode is disabled, `mcounteren` should control the availability of the hardware performance-monitoring counters in U-mode, and `scounteren` should be ignored. The current implementation (incorrectly) raises an illegal instruction trap when reading performance-monitoring counters in U-mode while S-mode is disabled, even if the counters are enabled in `mcounteren`.
-