Scott Johnson
3e9d1627d2
Document implemented trigger configuration ( #1145 )
4 years ago
Andrew Waterman
0b14bb363c
Merge pull request #1119 from aap-sc/aap-sc/max_pa_restriction
Do not allow memory regions larger than (1ull << MAX_PADDR_BITS)
4 years ago
Parshintsev Anatoly
e2ccdf6b69
Only allow memory regions that are less than (1ull << MAX_PADDR_BITS)
Other regions are inaccessible to the hardware being modeled
4 years ago
Parshintsev Anatoly
4470418b80
get rid of redundant casts during mem layout processing
4 years ago
Andrew Waterman
ab3225a3ff
Add address-cells to PLIC DTS entry
Fixes #1135
4 years ago
Scott Johnson
04a912d8c3
Merge pull request #1131 from riscv-software-src/zvfh
Add Spike support for Zvfh and Zvfhmin extensions
4 years ago
Andrew Waterman
6bed230f79
Merge pull request #1133 from YenHaoChen/pr-sscofpmf-mevent
fix mevent_mask for Sscofpmf extension
4 years ago
Scott Johnson
6cfe0efabc
Merge pull request #1132 from YenHaoChen/pr-commit_log_print_value
fix print message of width=8 accesses
4 years ago
YenHaoChen
1ed2dc3b3c
fix mevent_mask for Sscofpmf extension
The mevent_mask of Sscofpmf depends on the support of privilege modes.
The UINH, SINH, VSINH, and VUINH are read-only 0 if unsupporting the
corresponding modes.
(https://github.com/riscv/riscv-count-overflow/issues/3#issuecomment-1291247070 )
This commit fixes the mevent_mask of Sscofpmf accordingly. The previous
MHPMEVENTH_UINH is a typo, which should be MHPMEVENT_SINH instead.
4 years ago
Andrew Waterman
1f1a7da6ba
Change remaining vector FP16 instructions to require Zvfh
...as opposed to Zfh.
4 years ago
Andrew Waterman
a66ca951e6
Change SEW=16 vfncvt.f.f.w and vfwcvt.f.f.v to require Zvfhmin
...as opposed to Zfh.
4 years ago
Andrew Waterman
54825e379d
Teach ISA parser about Zvfh[min]
4 years ago
Andrew Waterman
8ec4cab4fc
Merge pull request #1130 from ucb-bar/endian
Clean up dual-endian support
4 years ago
Jerry Zhao
b265325d19
Remove set_target_endianness | add --big-endian flag
Set target endianess in constructors
4 years ago
Jerry Zhao
cefccba8cf
Remove memif_endianness_undecided, change default to little-endian
4 years ago
YenHaoChen
9120e98589
fix print message of size-1 accesses
The number of digits indicates the size of accesses. A size-1 access
needs two digits instead of one.
4 years ago
Andrew Waterman
5a50590f25
Merge pull request #1122 from riscv-software-src/more-mmu-simplification
Fix minor MMU bugs; clean up MMU some more
4 years ago
Andrew Waterman
9cf4e82ec2
Merge pull request #1125 from riscv-software-src/cbo-fixes
Fix tval reporting for CBOs; constrain cache-block sizes to reasonable values
4 years ago
Andrew Waterman
c10ad3c85a
Use reg_t, not uint64_t, for address-like quantities
4 years ago
Andrew Waterman
6b689208d9
Fix tval reporting for CBOs
mmu_t::translate may raise exceptions and so must be called with the
original virtual address for tval to be set correctly.
4 years ago
Andrew Waterman
da21648472
Set 16..4096-byte bound on cache-block size
16 B suffices to subsume all aligned accesses (including the Q extension).
Spike does not actually rely on this property, but in some real systems,
it is impractical to guarantee atomicity across cache lines.
4096 B suffices to prevent cache lines from spanning pages (which would
require multiple TLB accesses). This one is a bug fix, since we were
not performing multiple TLB accesses in this case.
4 years ago
YenHaoChen
e8340aedc8
move fucntion cto() from processor.h to arith.h
Only triggers.cc uses the arithmetic function cto(). Instead of putting
the cto() in processor.h, putting it in arith.h with other arithmetic
functions, e.g., ctz() and clz(), makes more sense.
4 years ago
Andrew Waterman
b1f2ae41a1
Template-ize stores
4 years ago
Andrew Waterman
d41af9f81c
Template-ize loads
4 years ago
Andrew Waterman
8d40946475
Template-ize AMOs
4 years ago
Andrew Waterman
7b52a249c8
DRY in store-conditional instructions
4 years ago
Andrew Waterman
635985515f
Simplify check_load_reservation
Invoking refill_tlb to get the physical address is somewhat baroque,
and not even helpful in practice, since successful SCs will fill
the TLB anyway.
4 years ago
Andrew Waterman
5cdb39484c
Template-ize hypervisor loads and stores
4 years ago
Andrew Waterman
a09b88d4ab
Remove require_alignment flag from loads
The last remaining use was LR, which we can identify through other means.
4 years ago
Andrew Waterman
905db657f5
Fix imprecise exception on LR to MMIO space
The old implementation performed the load before checking whether the
memory region was valid for LR. So, for LR to MMIO, we would action
side effects before raising the exception, which is not precise.
4 years ago
Andrew Waterman
5746722334
Template-ize load_func macro
For now, preserve the macro for compatibility with existing uses.
4 years ago
Andrew Waterman
15bad75ecc
Template-ize store_func macro
For now, preserve the macro for compatibility with existing uses.
4 years ago
Andrew Waterman
1caaaa5471
No need to require_alignment for the load part of the AMO
The earlier call to store_slow_path will catch the misalignment.
4 years ago
Andrew Waterman
24907dfbd1
Remove actually_store and require_alignment parameters from store_func macro
These are now only used by AMOs. Since AMOs are relatively uncommon,
and since the slow path really isn't slow anymore, send them down the
slow path to simplify the common case.
4 years ago
Weiwei Li
2e12d7251e
remove duplicate CMO item in README.md
4 years ago
Weiwei Li
2b7edec863
do memcpy only for actually_store in store_slow_path_intrapage
4 years ago
Weiwei Li
bc9ee3e427
Fix missing sentinel warning in dts.cc when using gnu++17 standard
4 years ago
bluew
228c117855
Fix forced linking when compiling headers
4 years ago
Andrew Waterman
3f1b236707
fix clang build
4 years ago
Jerry Zhao
a82ef28621
Add command to display privilege level in interactive mode
4 years ago
Andrew Waterman
66a307d6aa
Make PLIC/NS16550 coding style more conformant
4 years ago
Andrew Waterman
68aeeb5500
Merge branch 'master' into plic_uart_v1
4 years ago
Jerry Zhao
03be4ae6c7
Add interactive mode commands to read clint mtime/mtimecmp
4 years ago
Jerry Zhao
5cf439b24e
Add dump memory command to interactive mode
4 years ago
Jerry Zhao
7e8d1e6f29
Support command-line configuration of number of pmpregions
4 years ago
Scott Johnson
26c6795f2f
Merge pull request #1114 from riscv-software-src/data_optional
In triggers, use optional<data> instead of {has_data, data}
4 years ago
Andrew Waterman
062ef88680
In triggers, use optional<data> instead of {has_data, data}
4 years ago
Parshintsev Anatoly
60c0c86c28
Report error if an unsupported memory configuration is detected
4 years ago
Andrew Waterman
37c8985013
Remove unused field matched_t::data
4 years ago
Andrew Waterman
e2e66015af
Merge pull request #1107 from riscv-software-src/simplify-ld-st
Simplify handling of load/store/fetch slow-path cases; fix two minor trigger bugs
4 years ago