Andrew Waterman
47a57eea73
Merge pull request #1754 from YenHaoChen/pr-vcompress
vcompress.vm: Check if there is any vector extension before using vector CSRs
2 years ago
YenHaoChen
a17842c0c5
vcompress.vm: Check if there is any vector extension before using vector CSRs
2 years ago
Andrew Waterman
957228319e
Merge pull request #1753 from riscv-software-src/fix-1752
Fix segfault accessing menvcfg when U-mode doesn't exist
2 years ago
Andrew Waterman
584f8551e6
Fix segfault accessing menvcfg when U-mode doesn't exist
The simplest fix is to create the CSRs even if they don't need to exist,
and just skip adding them to the CSR map to prevent the target machine
from being able to access them.
It looks like there are other place we should be following this pattern:
e.g. why does sstatus exist if S-mode does not exist? But that's a
matter for another day.
Resolves #1752
2 years ago
Andrew Waterman
0a2c3b650c
Merge pull request #1750 from YenHaoChen/pr-vector-xrm
vector: Check if there is any vector extension before using vector CSRs
2 years ago
YenHaoChen
e9f620ffb5
vector: Check if there is any vector extension before using vector CSRs
2 years ago
Andrew Waterman
adacda49e0
Merge pull request #1749 from YenHaoChen/pr-vnclip_wx
vnclip.wx: Check if there is any vector extension before using vector CSRs
2 years ago
YenHaoChen
54a5e38484
vnclip.wx: Check if there is any vector extension before using vector CSRs
2 years ago
Andrew Waterman
4703ad98bf
Merge pull request #1746 from chihminchao/fix-svpbmt-init
svpbmt: don't reset [mh]envcfg.pbmt to 1
2 years ago
Chih-Min Chao
94d21c99f8
svpbmt: don't reset [mh]envcfg.pbmt to 1
The part is introducd by ea70a93 to keep backward compatiable but the
behavior is not mentioned and defined in spec. The patch remove this
initialization part of pbmt in [mh]envcfg
Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
2 years ago
Andrew Waterman
64bc0c1f1d
Merge pull request #1740 from YenHaoChen/pr-fcvtmod_w_d
fcvtmod.w.d: Not update fflags if no exception flag, e.g., exp == frac == 0
2 years ago
YenHaoChen
e86e653ef3
fcvtmod.w.h: Not update fflags if no exception flag, e.g., exp == frac == 0
2 years ago
YenHaoChen
1342c687f2
refactor: set_fp_exceptions: Use a new macro raise_fp_exceptions(flags) and refine coding style for clearity
2 years ago
Andrew Waterman
7dce83820e
Merge pull request #1729 from YenHaoChen/pr-require-vector
Fix: Vector CSRs exist without any vector extension since a484f6e
2 years ago
Andrew Waterman
83a2035e40
Merge pull request #1718 from YenHaoChen/pr-pm
Implement pointer masking
2 years ago
Andrew Waterman
344a860ba0
Merge pull request #1724 from chihminchao/cif-sse-fix
The senvcfg.SSE will read (only) as zero when menvcfg.SSE is 0
2 years ago
Andrew Waterman
f2181f0406
Merge pull request #1732 from chihminchao/fix-zkr
Fix zkr
2 years ago
Binno
ea5138d24d
The senvcfg.SSE will read (only) as zero when menvcfg.SSE is 0
2 years ago
Binno
6dbc8cad8a
zkr: entropy source access control for seed csr
2 years ago
Andrew Waterman
34601fc488
Merge pull request #1736 from YenHaoChen/pr-hlvx-epmp
Fix ePMP checking on hlvx instructions
2 years ago
YenHaoChen
229b159465
Fix ePMP checking on hlvx instructions
The hlvx instruction must grant PMP permissions of both execution and
reading. Thus, with ePMP (mseccfg.MML==1), the hlvx instructions are
only permitted with pmpcfg.RWXL=0111 from M-mode.
2 years ago
Andrew Waterman
c0281a17d6
Merge pull request #1735 from chihminchao/deleg-hw-excp
excp: support hardware_error_exception delegation
2 years ago
Andrew Waterman
fd141e9a43
Merge pull request #1733 from chihminchao/fix-ssqosid
ssqosid: modify permission check condition for srmcfg
2 years ago
Andrew Waterman
985837a602
Merge pull request #1731 from chihminchao/fix-zicfiss
Fix zicfiss
2 years ago
Andrew Waterman
4f69177d94
Merge pull request #1730 from riscv-software-src/test-headers
Check in CI that all installed headers are usable
2 years ago
Binno
0a4f0b3da6
zkr: enable write for useed/sseed fileds of mseccfg csr
2 years ago
Binno
e9af319bc0
zicfiss: modify check condicton to loads to shadow-stack pages
2 years ago
Binno
0f0c1c1c2a
zicfiss: fix missed throw to store access fault of shadow stack page
2 years ago
Binno
08463028d6
excp: support hardware_error_exception delegation
enable M -> S and HS -> VU/VS delegation
2 years ago
Andrew Waterman
aa73432e58
Check in CI that all installed headers are usable
2 years ago
Andrew Waterman
a4924928a7
Add install-hdrs-list.h target
Only used by CI tests.
2 years ago
Andrew Waterman
77654f6011
Obtain definition of reg_t in elfloader.h
2 years ago
Andrew Waterman
97a7244371
Avoid dependence on config.h in byteorder.h
The runtime check will compile out.
2 years ago
Andrew Waterman
3e44fee398
Don't install private softfloat headers
2 years ago
Andrew Waterman
8feeaf3202
Add include guards to entropy_source.h
2 years ago
Andrew Waterman
238e0ac859
Use "" rather than <> includes in libfdt.h
2 years ago
Andrew Waterman
fb2adef30e
update c++ version to c++2a for CI tests
2 years ago
Andrew Waterman
c96f57e0bb
Fix warning by renaming C++ source to .cc
2 years ago
Andrew Waterman
f205bc4c29
Add missing include
2 years ago
Andrew Waterman
6b89a49838
Merge pull request #1726 from YenHaoChen/pr-dcsr
Deprecate dcsr.halt
2 years ago
Binno
4fe12b25db
ssqosid: modify permission check condition for srmcfg
The srmcfg csr number is 0x181 which is a S-mode csr
The patche uses independant permission check to make the csr available
even there is no S-mode
2 years ago
Binno
50c89eaba3
zkr: check extension availability in csr_mseccef permssion check
2 years ago
YenHaoChen
ad86a5fc5c
Deprecate dcsr.halt
The debug spec 1.0.0-rc3 deprecates the dcsr.halt and lets the bit
become dcsr.nmip.
This commit separates the halt variable from the dcsr.nmip and
designates it as an internal variable for halt_on_reset (-H).
Additionally, this commit removes the notifying comment about the
deprecated dcsr.halt in the main loop.
2 years ago
Andrew Waterman
f7d0dba601
Merge pull request #1700 from ved-rivos/ssdbltrp
Add Ssdbltrp
2 years ago
Ved Shanbhogue
0797c21001
Add Ssdbltrp
2 years ago
YenHaoChen
707b1f2484
Instantiate vector CSRs only if any_vector_extensions()
2 years ago
YenHaoChen
af90d427af
vector: check extension existence before reading vl
2 years ago
YenHaoChen
67933ec0c3
Check any_vector_extensions() in require_vector_vs
2 years ago
YenHaoChen
cefa747e9a
Check if any vector extensions for vector CSRs
2 years ago
YenHaoChen
eccb557d61
Fix require_vector_vs checking by reverting 66c4853bdc
The require_vector_vs, i.e., sstatus_csr_t::enabled(SSTATUS_VS), was
expected to provide has_any_vector() check [1]. Unfortunately, a
previous commit [2] made the sstatus_csr_t::enabled(SSTATUS_VS) true
without any vector extension.
The previous commit [2] was for P-extension, which has been removed from
Spike [3].
This commit reverts the commit [2] and corrects require_vector_vs [1].
[1] a484f6efc5
[2] 66c4853bdc
[3] https://github.com/riscv-software-src/riscv-isa-sim/pull/1660
2 years ago