aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2023-09-28debug: Halted harts can also be unavailable.Tim Newsome1-5/+5
2023-09-27Merge pull request #1471 from mehnadnerd/patch-1Andrew Waterman1-19/+27
Change disasm for vset{i}vli with reserved vtypes to display the reserved bits
2023-09-26Change disasm for vset{i}vli with reserved vtypes to display the reserved bitsBrendan Sweeney1-19/+27
Currently there is a bug with the disassembly when vsetivli/vsetvli have invalid vtypes (with reserved bits set). Spike correctly detects this and sets vill, but the disassembler integrated into spike ignores those bits being set and prints the instruction as if they weren't. This makes debugging harder, it looks like an otherwise valid vtype was being rejected and can lead down debugging paths like thinking the vector unit is configured incorrectly. This commit changes the behaviour so that if these reserved bits are set, it prints out the hex value of the vtype. This is understood by the assembler. GCC disassembler prints out the decimal value of the vtype in this case, I think that hex value is clearer but I can change it if desired. Signed-off-by: Brendan Sweeney <brs@eecs.berkeley.edu>
2023-09-13Merge pull request #1458 from YenHaoChen/pr-multiple-icountAndrew Waterman2-7/+18
Hit multiple icount triggers with different actions
2023-09-13triggers: fix: not decrease icount.count on firing other icount with ↵YenHaoChen1-2/+3
action=debug
2023-09-13triggers: refactor: icount: breakdown detect_icount_match() into ↵YenHaoChen2-7/+17
detect_icount_fire() and detect_icount_decrement()
2023-09-01Merge pull request #1453 from riscv-software-src/attempt-to-fix-mac-ciAndrew Waterman1-1/+1
Attempt to fix Mac OS CI
2023-09-01Attempt to fix Mac OS CIAndrew Waterman1-1/+1
2023-09-01Merge branch 'viktoryou-master'Andrew Waterman1-3/+3
2023-09-01fix condition of executing cbo.inval as a flush operationviktoryou1-3/+3
Signed-off-by: viktoryou <143797577+viktoryou@users.noreply.github.com>
2023-08-25Merge pull request #1446 from chihminchao/bf16-nanboxed-accessAndrew Waterman1-1/+6
fix bf16 nanboxed access
2023-08-25bf16: handle invalid Nan-boxed accessingChih-Min Chao1-1/+6
assume 0x0000_0000_0000_7d2d at 0x8000_0000 a0 = 0x8000_0000 fld ft0, 0(a0) <- load 0x0000_0000_0000_7d2d to ft0, it is invalid Nanboxed fcvt.s.bf16 ft1, ft0 <- read bf16 from ft0. it should be 0x7fc0 (bf16 QNaN) but not 0x7e00 (f16 QNaN) Signed-off-by: Chih-Min Chao <chihmin.chao@sifive.com>
2023-08-23Merge pull request #1434 from dansmathers/masterAndrew Waterman1-8/+42
update model_test.h: set_msw/clear_msw/set_mtimer/clear_mtimer
2023-08-16Merge pull request #1438 from liuyu81/masterAndrew Waterman1-0/+2
fdt: Install header files `fdt.h` and `libfdt_env.h` as needed by `libfdt.h`
2023-08-16Merge pull request #1439 from MarkLai0317/fix-include-errorAndrew Waterman1-0/+1
Include cerrno in fesvr/elfloader.cc
2023-08-16Include cerrno in fesvr/elfloader.ccMark Lai1-0/+1
It caused compile error "use of undeclared identifier 'errno'" at line 26 and 33. I Add #include <cerrno> in fesvr/elfloader.cc to fix error and compile successfully.
2023-08-16Install header files fdt.h and libfdt_env.h as needed by libfdt.hLIU Yu1-0/+2
2023-08-14Merge pull request #1436 from ved-rivos/hade_to_adueAndrew Waterman4-14/+14
Rename *envcfg.HADE to *envcfg.ADUE
2023-08-14rename *envcfg.HADE to *envcfg.ADUEVed Shanbhogue4-14/+14
2023-08-03Merge pull request #1 from dansmathers/dansmathers-patch-1Dan Smathers1-8/+42
update set_msw/clear_msw/set_mtimer/clear_mtimer
2023-08-03update set_msw/clear_msw/set_mtimer/clear_mtimerDan Smathers1-8/+42
Added ifndef to clint addresses instead of hard-coding Added clear_msw and clear mtimer Tested against Sail/isa-sim with new proposed Smclint/Ssclint arch-tests https://github.com/riscv-non-isa/riscv-arch-test/pull/372 Building a baseline of interrupt tests that changes to SAIL/isa-sim can be tested against when other interrupt extensions are added. Signed-off-by: Dan Smathers <dan.smathers@seagate.com>
2023-07-26Merge pull request #1427 from YenHaoChen/pr-textra-sbytemaskAndrew Waterman1-1/+1
triggers: fix textra.sbytemask
2023-07-26Merge pull request #1381 from rivosinc/smcntrpmf_featureAndrew Waterman8-24/+136
Add Smcntrpmf support
2023-07-26Add Smcntrpmf functionalityAtul Khare5-7/+88
If Smcntrpmf is enabled, mcycle / minstret increment only if counting for the privilege level isn't inhibited in mcyclecfg / minstretcfg.
2023-07-26Add prv_changed / v_changed fields to stateAtul Khare3-0/+8
This tracks whether the privilege / virtual mode was changed by the execution of the current instruction.
2023-07-26Regenerate encoding.hAtul Khare1-17/+40
2023-07-26triggers: fix textra.sbytemaskYenHaoChen1-1/+1
Ignore corresponding bytes to the scontext and textra.svalue. Cast 0xff to reg_t for the 34-bit textra64.svalue.
2023-07-25Merge pull request #1383 from rivosinc/sscrind_featureAndrew Waterman6-1/+167
Add Smcsrind / Sscsrind support
2023-07-25Merge pull request #1416 from YenHaoChen/pr-xenvcfg-cbieScott Johnson3-5/+25
Legalize xenvcfg.CBIE
2023-07-25legalize henvcfg.CBIEYenHaoChen2-2/+2
The value 2 of henvcfg.CBIE is reserved. This commit legalizes it to 0. Reference: https://github.com/riscv/riscv-CMOs/issues/65
2023-07-25legalize senvcfg.CBIEYenHaoChen2-2/+2
The value 2 of senvcfg.CBIE is reserved. This commit legalizes it to 0. Reference: https://github.com/riscv/riscv-CMOs/issues/65
2023-07-25legalize menvcfg.CBIEYenHaoChen3-1/+21
The value 2 of menvcfg.CBIE is reserved. This commit legalizes it to 0 by adding a specialized class envcfg_csr_t. Reference: https://github.com/riscv/riscv-CMOs/issues/65
2023-07-20Merge pull request #1422 from mbgg/fix-prefix-warningAndrew Waterman1-1/+1
Fix compilation warning in riscv/execute.cc
2023-07-20Merge pull request #1415 from michalt/memt-virtualJerry Zhao7-18/+29
Make methods of `mem_t` virtual to allow overriding
2023-07-20Fix compilation warning in riscv/execute.ccMatthias Brugger1-1/+1
../riscv/execute.cc: In function ‘void commit_log_print_insn(processor_t*, reg_t, insn_t)’: ../riscv/execute.cc:132:16: warning: ‘prefix’ may be used uninitialized [-Wmaybe-uninitialized] 132 | fprintf(log_file, " %c%-2d ", prefix, rd); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../riscv/execute.cc:88:10: note: ‘prefix’ was declared here 88 | char prefix; | ^~~~~~
2023-07-20Introduce `abstract_mem_t` to allow custom implementationsMichal Terepeta7-18/+29
This change allows to create custom implementations of `abstract_mem_t` and inject them when constructing `sim_t`. The current `mem_t` implementation remains unchanged. Fixes #1408.
2023-07-19Add Smcsrind/Sscsrind supportAtul Khare3-0/+130
This adds the following CSRs: miselect (0x350), mireg (0x351), mireg2/3 (0x352, 0x353), mireg4-6 (0x355 - 0x357), siselect (0x150), sireg (0x151), sireg2/3 (0x152, 0x153), sireg4-6 (0x155 - 0x157), vsiselect (0x250), vsireg (0x251), mireg2/3 (0x252, 0x253), vsireg4-6 (0x255 - 0x257). Presently, attempts to read / write from ireg? registers will fail, and future extensions will provide proxy CSR mappings for the respective ?ireg CSRs.
2023-07-19Rengenerate encoding.hAtul Khare1-1/+31
2023-07-19Add Smcsrind/Sscsrind extensionsAtul Khare2-0/+6
2023-07-19Merge pull request #1413 from YenHaoChen/pr-mcontrol-cbo-zero-tvalAndrew Waterman2-5/+13
mcontrol/mcontrol6 on CBO
2023-07-19mcontrol/mcontrol6 triggers on cbo.flush/cleanYenHaoChen1-0/+3
The mcontrol/mcontrol6 store address before has a higher priority over page faults and access faults. Thus, trigger checking should before the translate(). This commit checks all address of the cache block. Reference: Debug spec 1.0, 5.5.3 Cache Operations Reference: CMO spec 1.0.1, 2.5.4 Breakpoint Exceptions and Debug Mode Entry
2023-07-18Merge pull request #1419 from poemonsense/fix-fetch-orderAndrew Waterman1-3/+3
mmu: fetch instruction bytes in ascending order
2023-07-18mmu: fetch instruction bytes in ascending orderYinan Xu1-3/+3
Fetching instruction bytes in descending order would result in wrong xtval update values.
2023-07-13fix mcontrol's tval on cbo_zeroYenHaoChen1-1/+3
The tval should capture the effective address on an (trigger) exception. Reference: https://github.com/riscv/riscv-CMOs/issues/55
2023-07-13refactor: mcontrol/mcontrol6: extend check_triggers() with tval parameterYenHaoChen2-4/+7
2023-07-12Merge pull request #1409 from riscv-software-src/ext-symbolsJerry Zhao7-17/+13
Add all symbols from extension.o to spike main
2023-07-11build: Force inclusion of all symbols from extension.o in spike-mainJerry Zhao1-0/+4
The --extension feature requires that all symbols in extension.o be available when the libraries are dynamically loaded by dlopen. Prepending extension.o to the linker command adds the otherwise omitted symbols to spike's dynamic symbol table.
2023-07-11build: Support project-defined LDFLAGSJerry Zhao1-3/+3
2023-07-11Remove dependency of isa_parser_t on extension_tJerry Zhao3-13/+5
2023-07-11Move isa_parser_t to libdisasm out of libriscvJerry Zhao3-1/+1