Andrew Waterman
4d23478684
Compensate for perf loss of not mutating insn list by presorting it
2 years ago
Andrew Waterman
625e9451a7
Keep potentially overlapping instructions in order at head of list
2 years ago
Andrew Waterman
acd43e0191
Preserve the ordering of the instruction list
2 years ago
Andrew Waterman
ca38d97e7b
Add comments to overlap list
2 years ago
Andrew Waterman
74ee3b7616
Refine Zicfiss overlap list
We get better error checking if we list only the more specific
instructions and omit the more general ones (mop.r.N/mop.rr.N).
2 years ago
Andrew Waterman
5defb11363
Remove unnecessary instructions from overlap list
- c.fsdsp need not be listed since cm.push etc. are listed
- mop.r.28/mop.rr.7 don't have corresponding files in riscv/insns/
- the rest are just erroneous
2 years ago
Andrew Waterman
025a50d51a
Add missing instructions to Makefile
2 years ago
Andrew Waterman
9bcda41ef2
Merge pull request #1688 from YenHaoChen/pr-tcontrol
triggers: implement tcontrol
2 years ago
YenHaoChen
db762327ef
triggers: implement tcontrol
Implement Debug spec Section 5.7.6. Trigger Control (tcontrol).
This commit lets tcontrol be read-only 0 if number of triggers is 0.
2 years ago
Andrew Waterman
00dfa28cd7
Merge pull request #1684 from riscv-software-src/simplify-zicfilp
Avoid checking ELP before every instruction fetch
2 years ago
Andrew Waterman
759599553b
Avoid checking ELP before every instruction fetch
Serialize after setting ELP. That way, we can hoist the check
outside of the main simulation loop.
2 years ago
Andrew Waterman
148e6d63e0
No need to check if Zicfilp is enabled before checking ELP
ELP will be zero if Zicfilp is not enabled.
2 years ago
Akif Ejaz
dc8ea59215
Merge branch 'master' into vector-crypto
2 years ago
akifejaz
e7d46b8543
corrected the crypto extension version
2 years ago
Jerry Zhao
3a70f84b8a
Merge pull request #1670 from clementleger/dev/cleger/et_dyn
add support to load ET_DYN elf
2 years ago
Clément Léger
a316a37331
add support to load ET_DYN elf
When compiled as PIE, executable can be loaded at any memory address.
Lately, OpenSBI switched to such behavior and spike was not able to load
it anymore. This patch add an additional load_offset parameter for
load_elf(). This load_offset value is passed as DRAM_BASE and used only
for ET_DYN elfs.
Signed-off-by: Clément Léger <cleger@rivosinc.com>
2 years ago
akifejaz
6a65a806d2
updated README with supported Vector Cryptography Extensions
2 years ago
Andrew Waterman
a53a71fcc3
Merge pull request #1678 from rbuchner-aril/rbuchner/vxsat-write
Require vector extension when attempting vxsat writes
2 years ago
rbuchner
48cf35d027
Require vector extension when attempting vxsat writes
Accidentally removed in c9468f6e02 .
See #1660 .
2 years ago
Andrew Waterman
5c3cc772b6
Merge pull request #1677 from YenHaoChen/pr-vector-reduction
vector: Not logging write of reduction instructions when vl = 0
2 years ago
Andrew Waterman
4611b1f7f9
Merge pull request #1675 from chihminchao/cfi-fix
zicflip: fix [ms]ret behavior
2 years ago
YenHaoChen
8ad1b68911
vector: Not logging write of reduction instructions when vl = 0
The spec says: "If vl=0, no operation is performed and the destination
register is not updated." in Section 14. Vector Reduction Operations.
The commit proposes setting the variable is_write to false when vl = 0,
which means not logging the write.
2 years ago
Chih-Min Chao
853105c659
zicflip: fix [ms]ret behavior
Based on Spec chapter 3.5
"An MRET or SRET instruction is used to return from a trap in M-mode or
S-mode, respectively. When executing an xRET instruction, if xPP holds
the value y, then ELP is set to the value of xPELP if yLPE is 1;
otherwise, it is set to NO_LP_EXPECTED; xPELP is set to NO_LP_EXPECTED."
The change follow the last statement after semicolon
"xPELP is set to NO_LP_EXPECTED"
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
2 years ago
Andrew Waterman
2cfd539352
Merge pull request #1257 from YenHaoChen/pr-mcontrol6-hit0-hit1
Implement mcontrol6.hit
2 years ago
YenHaoChen
7657966717
triggers: introduce tinfo.version
2 years ago
YenHaoChen
5e2edf84cc
triggers: implement mcontrol6.hit
3 years ago
YenHaoChen
2855c71b85
triggers: refactor: add typedef enum { ... } hit_t for mcontrol6
Avoid using private headers, e.g., debug_defines.h, in triggers.h
3 years ago
YenHaoChen
2f12bb8c58
triggers: refactor: move mcontrol_common_t::hit to mcontrol_t::hit and mcontrol6_t::hit
Add mcontrol_common_t::set_hit()
3 years ago
YenHaoChen
983eb01557
triggers: refactor: update debug_defines.h
Update CSR_MCONTROL6_HIT to CSR_MCONTROL6_HIT0
Include CSR_TINFO_VERSION* macros
3 years ago
YenHaoChen
4477cf59f7
triggers: remove mcontrol6.timing (implement suggested trigger timings)
3 years ago
Andrew Waterman
c81d8e73da
Merge pull request #1663 from ved-rivos/zawrs
Add Zawrs extension
2 years ago
Ved Shanbhogue
c5229c3f5f
Add Zawrs extension
2 years ago
Andrew Waterman
7438d1e692
Merge pull request #1662 from YenHaoChen/pr-fmaxm_q
Zfa: fix: fmaxm.q requires Q instead of D extension
2 years ago
YenHaoChen
6639499526
Zfa: fix: fmaxm.q requires Q instead of D extension
2 years ago
Andrew Waterman
189ca87e1a
Merge pull request #1660 from riscv-software-src/remove-p
Remove old P extension
2 years ago
Andrew Waterman
7dd18a0d9c
Update encoding.h
2 years ago
Andrew Waterman
c9468f6e02
Remove Zbpbo, Zpn, and Zpsfoperand implementation
2 years ago
Andrew Waterman
c4edeabbe7
Remove P, Zbpbo, Zpn, and Zpsfoperand from ISA parser
2 years ago
Andrew Waterman
3a4f1702ed
Remove Zbpbo, Zpn, and Zpsfoperand from disassembler
2 years ago
Jerry Zhao
37b0dc0b52
Merge pull request #1655 from liuyu81/master
Support per-device arguments and device factory reuse
2 years ago
LIU Yu
e7e039dece
Support per-device arguments and device factory reuse
As proposed in #1652 , we made the following changes to MMIO device (factory)
plugin API, to mitigate current limitations and facilitate factory reuse.
- removed `sargs` from `device_factory_t`, and introduced a new type alias
`device_factory_sargs_t` to capture `<device_factory_t *, sargs>` pairs,
this is used to instantiate sim_t instances;
- changed the signature of `device_factory_t::generate_fdt` and
`device_factory_t::parse_from_fdt` to take on an extra `sargs` argument,
for instantiating devices with per-device arguments;
- made `device_factory_t` const and potentially resuable across multiple
`sim_t` instances.
2 years ago
Andrew Waterman
d39cbb3ad2
Merge pull request #1648 from YenHaoChen/pr-hstateen
Smstateen: Ignore writes to read-only hstateen*[n] bits when mstateen*[n]=0
2 years ago
Andrew Waterman
bfe1d76608
Merge pull request #1579 from tebartsch/plic-threshold-masking
PLIC: Implement threshold masking
2 years ago
Jerry Zhao
0d1c3469e5
Merge pull request #1641 from xinyuwang-starfive/master
add hlvx pmp protect to fix issue 1557
2 years ago
xinyuwang-sifive
10b97370eb
add hlvx pmp protect to fix issue 1557
2 years ago
Andrew Waterman
b3bcc127f0
Merge pull request #1560 from SuHo-llrr/cfi-ext
Support Zicfiss (shadow stack access) with CFI extension v0.4.0
2 years ago
Andrew Waterman
20a2b6d05a
Merge pull request #1650 from YenHaoChen/pr-imply-ext
Make Zaamo + Zalrsc (Zba + Zbb + Zbs) imply A (B) in misa
2 years ago
Andrew Waterman
7aabaa762e
Merge pull request #1649 from YenHaoChen/pr-b
Assert misa.B bit through --isa=...B...
2 years ago
YenHaoChen
55ee3a5916
Make Zba + Zbb + Zbs imply B in misa
2 years ago
YenHaoChen
b06c1e7bca
Make Zaamo + Zalrsc imply A in misa
2 years ago