Commit Graph

  • c37c611522 Merge branch 'CHERI' into faf28_sbc_jumps Franz Fuchs 2021-07-08 17:14:27 +01:00
  • 224ab35679 Completed introduction of new build flag Franz Fuchs 2021-07-08 15:38:19 +01:00
  • 4ba377366a Introduced new build flag for transient-execution testing contracts Franz Fuchs 2021-07-08 15:28:54 +01:00
  • 849d5c57f8 Fix condition where Queue can remain "empty" when there were outstanding indices due to the head-1 element happening to match new requests. This leads to "remove" when empty, leading to being "almostFull" when there are no outstanding users that will remove anything. jon 2021-07-07 11:30:06 +01:00
  • 994321e527 Potential fix for lockup condition where the (undefined) bits of instruction returned for an invalid fetch (that is, with a valid cause) indicate a 2-fragment instruction but where a second fragment is not available. jon 2021-07-07 11:26:34 +01:00
  • db6a91e0fd mad Maps flush on reset Franz Fuchs 2021-07-06 15:19:37 +01:00
  • 2eb2202acd Added checking for wild exceptions in MemExePipeline including adding an addtional port to the ROB for reading ppc/orig_inst Franz Fuchs 2021-06-28 07:34:57 +01:00
  • b48a161fda Experimentally remove repeated write of rg_m_halt_req register. jon 2021-06-25 17:31:10 +01:00
  • fec16f64c8 Added first attempts for counting wild exceptions Franz Fuchs 2021-06-25 15:44:29 +01:00
  • f83d7b1554 Added missing ifdefs Franz Fuchs 2021-06-24 08:35:21 +01:00
  • 0c80ac30bb Corrected wild jumps type to SupCnt Franz Fuchs 2021-06-23 15:36:45 +01:00
  • c9df8da1b1 Corrected SBC counting Franz Fuchs 2021-06-23 12:47:34 +01:00
  • 23913a50e0 Improved code for detecting SBC violations Franz Fuchs 2021-06-23 08:00:42 +01:00
  • 76cdc13a50 Added counting code for return instructions Franz Fuchs 2021-06-22 18:01:32 +01:00
  • 8f45238b5d implemented method returning the trans exe events Franz Fuchs 2021-06-22 08:49:40 +01:00
  • 06e0a3d810 corrected SBC jumps counting Franz Fuchs 2021-06-22 08:40:27 +01:00
  • 4a50ae5bc8 Fix some misplaced ifdefs Peter Rugg 2021-06-14 15:13:35 +01:00
  • a60bed404a Added new counting for branching instructions Franz Fuchs 2021-06-11 17:09:21 +01:00
  • dce934500d Added counter mechanism for wild jumps Franz Fuchs 2021-06-11 10:47:15 +01:00
  • c51af07278 Collect all architectural jump targets (the first 16) in a bag to enable verifying properties Franz Fuchs 2021-06-10 18:55:00 +01:00
  • 2572fdceba Added documentation for rename counter and removed unnecessary display messages Franz Fuchs 2021-06-08 15:03:12 +01:00
  • 914eb17550 Added microarchitectural counter for renamed instructions Franz Fuchs 2021-06-08 13:18:57 +01:00
  • c1cdd9e5e1 Corrected tag controller events based on EventsCacheCore Marno van der Maas 2021-06-07 17:53:24 +01:00
  • 8bd8ee6310 Doc update for tag controller performance monitor addresses based on commit d7a492b48f Marno van der Maas 2021-06-07 17:37:13 +01:00
  • 4ae9f5346c Merge branch 'CHERI' of https://github.com/CTSRD-CHERI/Toooba into CHERI jon 2021-06-01 15:18:29 +01:00
  • d7a492b48f Move to Flute standard placement for Tag Cache events, which is just the raw order from the CacheCore events. jon 2021-06-01 15:17:25 +01:00
  • 10f0807a9b Fix arbitration for non-power-of-two numbers of sources Peter Rugg 2021-05-28 14:37:24 +01:00
  • bf911326e3 Fix some arbitration bugs Peter Rugg 2021-05-28 12:36:06 +01:00
  • 46b1519cb0 mkXBar: Simplify as fallback case handles priority case correctly Jessica Clarke 2021-05-28 02:57:12 +01:00
  • afd636a0f5 mkXBar: Fix bias towards earlier sources Jessica Clarke 2021-05-28 02:32:04 +01:00
  • f909d886c9 Add a copyright Peter Rugg 2021-05-27 14:45:15 +01:00
  • 1b5f4ee9e0 Add capability-aware compressed decoding Peter Rugg 2021-04-14 14:56:19 +01:00
  • 88751cccba Remove hardcoded field encodings for cap loads and stores Peter Rugg 2021-04-14 14:55:57 +01:00
  • 913d14406e Add explicit PCC and cap JALRs Peter Rugg 2021-04-14 14:55:18 +01:00
  • 6450d9c33c Make JAL and JALR mode-dependent Peter Rugg 2021-04-14 14:53:49 +01:00
  • 657124671c Support amoswap.c Peter Rugg 2021-05-13 23:15:10 +01:00
  • abc70134b1 Don't take load cap page faults if the authorising cap doesn't have load cap Peter Rugg 2021-05-13 21:38:01 +01:00
  • f1ceaa4b3b Merge pull request #11 from CTSRD-CHERI/faf28_fix_hpm PeterRugg 2021-05-12 13:41:12 +01:00
  • d78a2799d3 Fixed small mistake pointed out by Peter(pdr32) Franz Fuchs 2021-05-12 10:46:07 +01:00
  • fcea3a1f4e included suggestions from Peter (pdr32) Franz Fuchs 2021-05-11 19:28:49 +01:00
  • f6bd0b0e1b first attempts to fix inhibit mismatch Franz Fuchs 2021-05-11 14:13:02 +01:00
  • 1620aae1de Bump Bluestuff. jon 2021-05-08 07:31:22 +01:00
  • 0a7e77230e Style improvements (suggested by jrtc27) Peter Rugg 2021-05-05 13:29:42 +01:00
  • 7e77b2314b Clarify precedence in VM permission check Peter Rugg 2021-05-05 12:07:28 +01:00
  • e7258f0f22 Plumb through info on whether a load is capWidth to the TLB Peter Rugg 2021-05-05 12:06:58 +01:00
  • b8d86df2d0 Guard Meltdown_CF protection (such as it is) with ifdef rather than just comment it out. jon 2021-05-04 11:29:36 +01:00
  • 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. jon 2021-04-29 17:46:39 +01:00
  • 48e22af43e Factor out PTE cap invalid check Peter Rugg 2021-04-29 13:22:58 +01:00
  • 005ba1bd6f Add LoadCapPageFault exception cases Peter Rugg 2021-04-29 09:55:38 +01:00
  • 1eef5d2979 Still advance the DII stream on instruction fetch PTE fault (with jrtc27) Peter Rugg 2020-11-10 15:41:56 +00:00
  • 3b07a2a17c Add revocation 3.0 bits Peter Rugg 2020-11-03 00:46:58 +00:00
  • eb46b59bdc Merge pull request #10 from nwf/202104-cappagefault-mtval PeterRugg 2021-04-26 08:48:14 +01:00
  • 55da2986af Set mtval for excStoreCapPageFault-s correctly Nathaniel Filardo 2021-04-26 02:07:10 +01:00
  • ac89600601 Add missing TSO dummy store buffer to component.xml Peter Rugg 2021-04-23 16:33:04 +01:00
  • 10b5cd7ad7 Switch to TSO Peter Rugg 2021-04-22 18:22:02 +01:00
  • 9b88dc4ce0 Bump TagController to version with 128K, not 1M. jon 2021-04-22 10:35:18 +01:00
  • 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. jon 2021-04-21 12:26:19 +01:00
  • 7cefaacb86 Remove wayward disabling of consistency flush case for the weak memory model. jon 2021-04-21 10:44:31 +01:00
  • 280ace318e Bump TagController to quadruple the size again. Jonathan Woodruff 2021-04-15 14:27:41 +00:00
  • 86afb7e68e Add counter for LL writebacks (in the ST_MISS field). jon 2021-04-12 16:20:14 +01:00
  • 53549e0dbc Set number of cores using RISCY config instead of manual define Peter Rugg 2021-04-12 13:10:12 +01:00
  • 2c41fcd7fb Fix bug and improve expression by using Int. jon 2021-04-12 12:48:49 +01:00
  • 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). jon 2021-04-12 06:34:16 +01:00
  • 8e3fd534f9 Do negative training when we encounter a load that has previously been killed, but was not killed this time. jon 2021-04-10 08:47:05 +01:00
  • 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.) jon 2021-04-10 07:54:39 +01:00
  • 6b871c0442 Use a saturating add before being conservative with issuing loads. jon 2021-04-09 16:20:27 +01:00
  • fcea5365f6 Initial implementation CLoadTags Peter Rugg 2021-04-08 16:04:06 +01:00
  • 103835db72 Merge branch 'CHERI' of https://github.com/CTSRD-CHERI/Toooba into CHERI jon 2021-04-08 14:41:48 +01:00
  • 0be771df4c Bump TagController to one with 32KiB cache. jon 2021-04-08 14:40:49 +01:00
  • b232272ad1 Treat CCSeal with an out-of-bounds capability as a move Peter Rugg 2021-04-08 13:08:46 +01:00
  • 12ac14c1ca Move to config registers here as this affects scheduling. jon 2021-04-07 17:47:49 +01:00
  • 3f059cbd94 Added note on bsc-contrib dependency to SSITH readme Marno van der Maas 2021-04-07 11:53:48 +01:00
  • ad044689cb added some of the performance counters in the L2 TLB Franz Fuchs 2021-04-01 15:15:32 +01:00
  • 6e157fff5a Small improvement of BTB changes made by Jon and myself Franz Fuchs 2021-04-01 09:08:47 +01:00
  • c17eb9e7c1 Finish propagating BTB name change from previous commit. jon 2021-04-01 09:04:31 +01:00
  • 0701dea9a9 Preserve name for verilog so component.xml doesn't have to be fixed. jon 2021-04-01 07:08:46 +01:00
  • 4b531fac46 Made the hash size in the BTB configurable Franz Fuchs 2021-03-31 17:46:27 +01:00
  • 84271b2712 Changes to build (and run?) with TSO_MM. jon 2021-03-29 12:03:27 +01:00
  • 5e687a972a Slight cleanups from review with Alexandre. jon 2021-03-24 12:21:00 +00:00
  • 07dd70d77b Associative 2-way associative BTB. Also, 16-bit hashed tags. (This is because the only full-speed implementation required duplicating the tags). This implementation uses the MAP library, and a new BRAM instance of it. jon 2021-03-24 09:56:25 +00:00
  • 20e2249761 Make map associative in preparation for associative BTB. Also make jump alias predictor smaller and associative. (2x64 entries instead of 256 entries) jon 2021-03-23 11:26:43 +00:00
  • 2bfe25dfad Update Map.bsv Jonathan Woodruff 2021-03-22 20:28:34 +00:00
  • d351eeee11 Increase BTB to 1024 entries. (On FPGA we can make this as large as we like, but returns diminish. This one has a chance of being reasonable for ASIC I guess?) jon 2021-03-22 18:20:22 +00:00
  • 30bd5e7f46 Allow entries in the load kill predictor to be "False" so that they can be invalidated. Also invalidate entries "randomly" to prevent a steady-state of waiting for all stores to complete on 1/256 loads even when no aliasing is going on. jon 2021-03-20 11:22:30 +00:00
  • 791927f852 Prediction for whether a load will have an aliasing store. jon 2021-03-15 15:57:16 +00:00
  • 47cddd8ec9 Reverted back to using FPGA specific memory addresses Marno 2021-03-19 15:54:53 +00:00
  • dbc1443bf2 Also using new tagsparams API in SSITH build Marno 2021-03-19 15:30:11 +00:00
  • c38f0e8488 Using new tagparams.py that explicitly warns about overlapping tag and data memory regions Marno 2021-03-19 11:22:40 +00:00
  • 5d7b224d8b Added TagTableStructure.bsv as dependency for .depends.mk in verilator build as well Marno van der Maas 2021-03-18 11:36:46 +00:00
  • 057964e940 Some more tagsparam makefile fixes Peter Rugg 2021-03-18 11:06:17 +00:00
  • e759077259 Made sure TagTableStructure.bsv is present upon regenration of .depends.mk Marno 2021-03-18 10:47:15 +00:00
  • e7d0a6adf6 Removing TagTableStructure.bsv and .depends.mk on clean Marno 2021-03-17 16:53:03 +00:00
  • df6cc12abb Removed TagTableStructure.bsv files from repo because these are now automatically generated Marno 2021-03-17 16:01:16 +00:00
  • db57e909fc Added calling tagsparams.py in Include_Common.mk Marno 2021-03-17 15:56:03 +00:00
  • c5a0d38a63 Enabled HPM by default in builds/RV64ACDFIMSUxCHERI_Toooba_verilator/ Franz Fuchs 2021-03-16 13:19:47 +00:00
  • 80fb97cc62 Take Bluestuff-ified Giraffe_IFC from Flute Peter Rugg 2021-03-15 12:25:38 +00:00
  • 395a9d1c02 Remove unused non-existent libraries from ssith Makefile Peter Rugg 2021-03-15 11:26:24 +00:00
  • d722d851d9 verilator_config.vlt: Hopefully suppress deprecation warnings for 4.026 Jessica Clarke 2020-04-16 22:01:33 +01:00
  • 8de3cfffeb Remove debug print statements. jon 2021-03-10 17:03:35 +00:00
  • 6ef565e56c Fix bugs in previous commit due to test build not using performance counters. Jonathan Woodruff 2021-03-09 16:05:01 +00:00