Commit Graph

608 Commits

Author SHA1 Message Date
jon
b48a161fda Experimentally remove repeated write of rg_m_halt_req register. 2021-06-25 17:31:10 +01:00
Peter Rugg
4a50ae5bc8 Fix some misplaced ifdefs 2021-06-14 15:13:35 +01:00
Franz Fuchs
2572fdceba Added documentation for rename counter and removed unnecessary display messages 2021-06-08 15:03:12 +01:00
Franz Fuchs
914eb17550 Added microarchitectural counter for renamed instructions
This counter is used for the SBC Condition 1 verification
2021-06-08 13:18:57 +01:00
Marno van der Maas
c1cdd9e5e1 Corrected tag controller events based on EventsCacheCore 2021-06-07 17:53:24 +01:00
Marno van der Maas
8bd8ee6310 Doc update for tag controller performance monitor addresses based on commit d7a492b48f 2021-06-07 17:37:13 +01:00
jon
4ae9f5346c Merge branch 'CHERI' of https://github.com/CTSRD-CHERI/Toooba into CHERI 2021-06-01 15:18:29 +01:00
jon
d7a492b48f Move to Flute standard placement for Tag Cache events, which is just the
raw order from the CacheCore events.
2021-06-01 15:17:25 +01:00
Peter Rugg
10f0807a9b Fix arbitration for non-power-of-two numbers of sources 2021-05-28 14:37:24 +01:00
Peter Rugg
bf911326e3 Fix some arbitration bugs 2021-05-28 12:36:06 +01:00
Jessica Clarke
46b1519cb0 mkXBar: Simplify as fallback case handles priority case correctly
The first element in the vector will be srcRR[dst], so the special case
is unnecessary.
2021-05-28 02:57:12 +01:00
Jessica Clarke
afd636a0f5 mkXBar: Fix bias towards earlier sources
In the case where the prioritised round-robin source does not have a
request, this was always picking the earliest source that had one, which
means if some sources are making more requests than others (e.g. there
is lots of D$ churn but the I$ has a high hit rate) then, whilst the
cycles where srcRR[dst] prioritises a source that is making requests are
fair, the cycles where it prioritises a source that is not making
requests is not fair, since then the earlier sources will be
prioritised. Instead, make the fallback priority similarly dynamic so we
cycle through the order we look at the sources in.
2021-05-28 02:32:04 +01:00
Peter Rugg
f909d886c9 Add a copyright 2021-05-27 14:45:15 +01:00
Peter Rugg
1b5f4ee9e0 Add capability-aware compressed decoding 2021-05-26 16:25:55 +01:00
Peter Rugg
88751cccba Remove hardcoded field encodings for cap loads and stores 2021-05-26 16:25:55 +01:00
Peter Rugg
913d14406e Add explicit PCC and cap JALRs 2021-05-26 16:24:41 +01:00
Peter Rugg
6450d9c33c Make JAL and JALR mode-dependent 2021-05-26 16:24:41 +01:00
Peter Rugg
657124671c Support amoswap.c 2021-05-13 23:15:25 +01:00
Peter Rugg
abc70134b1 Don't take load cap page faults if the authorising cap doesn't have load cap 2021-05-13 23:15:25 +01:00
PeterRugg
f1ceaa4b3b Merge pull request #11 from CTSRD-CHERI/faf28_fix_hpm
Fixed the implementation of mcountinhibit in CsrFile
2021-05-12 13:41:12 +01:00
Franz Fuchs
d78a2799d3 Fixed small mistake pointed out by Peter(pdr32) 2021-05-12 10:46:07 +01:00
Franz Fuchs
fcea3a1f4e included suggestions from Peter (pdr32) 2021-05-11 19:28:49 +01:00
Franz Fuchs
f6bd0b0e1b first attempts to fix inhibit mismatch 2021-05-11 14:13:02 +01:00
jon
1620aae1de Bump Bluestuff. 2021-05-08 07:32:02 +01:00
Peter Rugg
0a7e77230e Style improvements (suggested by jrtc27) 2021-05-05 13:32:07 +01:00
Peter Rugg
7e77b2314b Clarify precedence in VM permission check 2021-05-05 13:32:07 +01:00
Peter Rugg
e7258f0f22 Plumb through info on whether a load is capWidth to the TLB 2021-05-05 13:32:07 +01:00
jon
b8d86df2d0 Guard Meltdown_CF protection (such as it is) with ifdef rather than just
comment it out.
2021-05-04 11:29:36 +01:00
jon
2dccf1b557 Add (not-enabled-by-defaul) Meltdown-CF fix which resolves CUnseal, but not any
of the ones that require a bounds-check.
This isn't enabled by default so that we can evaluate the seriousness of
the vulnerabilities.
2021-04-29 17:46:39 +01:00
Peter Rugg
48e22af43e Factor out PTE cap invalid check 2021-04-29 16:02:30 +01:00
Peter Rugg
005ba1bd6f Add LoadCapPageFault exception cases 2021-04-29 16:02:30 +01:00
Peter Rugg
1eef5d2979 Still advance the DII stream on instruction fetch PTE fault (with jrtc27) 2021-04-29 16:02:30 +01:00
Peter Rugg
3b07a2a17c Add revocation 3.0 bits 2021-04-29 16:02:30 +01:00
PeterRugg
eb46b59bdc Merge pull request #10 from nwf/202104-cappagefault-mtval
Set mtval for excStoreCapPageFault-s correctly
2021-04-26 08:48:14 +01:00
Nathaniel Filardo
55da2986af Set mtval for excStoreCapPageFault-s correctly
These were previously defaulting to 0, deeply confusing the kernel.
2021-04-26 02:07:10 +01:00
Peter Rugg
ac89600601 Add missing TSO dummy store buffer to component.xml 2021-04-23 16:33:26 +01:00
Peter Rugg
10b5cd7ad7 Switch to TSO 2021-04-22 18:22:02 +01:00
jon
9b88dc4ce0 Bump TagController to version with 128K, not 1M. 2021-04-22 10:35:18 +01:00
jon
702eab2ee4 Bump to latest version of TagController.
We failed to bump in this repo for thet last size increase of the
TagCache, but there was also a misunderstanding about what size we were
getting.
This one moves from 64KiB 2-way to 128KiB 4-way.
2021-04-21 12:26:19 +01:00
jon
7cefaacb86 Remove wayward disabling of consistency flush case for the weak memory
model.
2021-04-21 10:44:31 +01:00
Jonathan Woodruff
280ace318e Bump TagController to quadruple the size again. 2021-04-15 14:27:41 +00:00
jon
86afb7e68e Add counter for LL writebacks (in the ST_MISS field). 2021-04-12 16:21:58 +01:00
Peter Rugg
53549e0dbc Set number of cores using RISCY config instead of manual define
This was leading to -D NUM_CORES=2 -D NUM_CORES=1 in the command.
The NUM_CORES=2 seems to have been winning, but this is obviously
far from ideal.
2021-04-12 13:10:12 +01:00
jon
2c41fcd7fb Fix bug and improve expression by using Int. 2021-04-12 12:48:49 +01:00
jon
4776bc0a11 Double-train on killing a load (still decrement by one on success).
This combo got the best performance overall (I tested triple and
quadruple training).
2021-04-12 06:34:16 +01:00
jon
8e3fd534f9 Do negative training when we encounter a load that has previously been
killed, but was not killed this time.
2021-04-10 08:47:05 +01:00
jon
aa9e57ce10 Fix bug so that we actually start at minBound.
(Map defaults to unpack(0), so for an Int, our first updateFunc will add
one to zero and it won't be much different than before.)
2021-04-10 07:54:39 +01:00
jon
6b871c0442 Use a saturating add before being conservative with issuing loads. 2021-04-09 16:21:55 +01:00
Peter Rugg
fcea5365f6 Initial implementation CLoadTags
This currently just loads in the data on cache miss, so won't help to reduce DRAM overhead, but will be forwards compatible and save on instructions in the revoker loop.
2021-04-08 17:08:15 +01:00
jon
103835db72 Merge branch 'CHERI' of https://github.com/CTSRD-CHERI/Toooba into CHERI 2021-04-08 14:41:48 +01:00