Andrew Waterman 
							
						 
					 
					
						
						
							
						
						7871ec82c4 
					 
					
						
						
							
							Guarantee probe forward progress during LR storm  
						
						
						
						
					 
					
						2017-04-18 00:47:58 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						debcbca7de 
					 
					
						
						
							
							Make PMP tolerant to PA size << VA size  
						
						
						
						
					 
					
						2017-04-17 10:28:33 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						a454edaaf7 
					 
					
						
						
							
							Treat exceptions as steps for the purposes of single-stepping  
						
						
						
						
					 
					
						2017-04-17 10:28:33 -07:00 
						 
				 
			
				
					
						
							
							
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						2f22fca615 
					 
					
						
						
							
							rocket: reverse input edge for better output  
						
						
						
						
					 
					
						2017-04-14 18:09:14 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						fdfcffb0b2 
					 
					
						
						
							
							Catch bad physical address MSBs when VA size > PA size  
						
						
						
						
					 
					
						2017-04-14 01:03:11 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						6fbbccca3e 
					 
					
						
						
							
							Improve Seq indexing QoR  
						
						
						
						
					 
					
						2017-04-14 01:03:11 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						d203c4c654 
					 
					
						
						
							
							Check AMO operation legality in TLB  
						
						
						
						
					 
					
						2017-04-14 01:03:11 -07:00 
						 
				 
			
				
					
						
							
							
								Yunsup Lee 
							
						 
					 
					
						
						
							
						
						6359ff96e5 
					 
					
						
						
							
							Several ScratchpadSlavePort bug fixes ( #676 )  
						
						... 
						
						
						
						* only replicate scratch slave d-channel resp when AMO req
* dtim: port can't support put partial mask with holes
* dtim: use \!isRead instead of isAMO
* Fix ScratchpadSlavePort looking at wrong Acquire message
Rename acq to a in the helper method.
Delete isRead and isWrite altogether. 
						
						
					 
					
						2017-04-13 23:25:51 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						b9e042d2bf 
					 
					
						
						
							
							Unconditionally write badaddr, possibly to zero  
						
						... 
						
						
						
						59d33f6b83 
					
						2017-04-12 13:35:02 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						470c6711a7 
					 
					
						
						
							
							Do some CSE by hand, per @terpstra  
						
						
						
						
					 
					
						2017-04-10 22:38:25 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						a43bf2feae 
					 
					
						
						
							
							Add vectored interrupt support  
						
						... 
						
						
						
						4dcaa944baba6d88466a 
					
						2017-04-08 00:29:45 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						c861c4925e 
					 
					
						
						
							
							Don't signal access exceptions on invalid PTEs  
						
						... 
						
						
						
						The PPN should not be interpreted in this case. 
						
						
					 
					
						2017-04-05 21:46:55 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						2e09253d26 
					 
					
						
						
							
							Revive I$ parity option  
						
						... 
						
						
						
						Pipeline the parity check into the second stage, so that the data
RAM access + parity check do not become the critical path. 
						
						
					 
					
						2017-04-05 21:46:55 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						43917dd59f 
					 
					
						
						
							
							Get I$ s1_kill signal off the critical path  
						
						
						
						
					 
					
						2017-04-05 21:46:55 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						744fb2e4b9 
					 
					
						
						
							
							Cut imem.resp.ready critical path with a flow queue  
						
						... 
						
						
						
						This is only necessary for RVC, where the decode latency is much higher. 
						
						
					 
					
						2017-04-05 21:46:55 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						3e72f9779f 
					 
					
						
						
							
							Handle single-step with a pipeline stall, not a flush  
						
						... 
						
						
						
						The pipeline flush approach broke when I changed the pipeline stage
the flush happens from 
						
						
					 
					
						2017-04-05 19:52:44 -07:00 
						 
				 
			
				
					
						
							
							
								solomatnikov 
							
						 
					 
					
						
						
							
						
						127f121ef2 
					 
					
						
						
							
							Preserve id_do_fence ( #651 )  
						
						
						
						
					 
					
						2017-04-05 08:29:45 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						19f0ae64a0 
					 
					
						
						
							
							Only set id_reg_fence when AMO/FENCE is actually executed  
						
						... 
						
						
						
						This is a performance bug, not a correctness bug.  But randomly stalling
because of garbage bits coming out of the I$ should be avoided.
h/t @solomatnikov 
						
						
					 
					
						2017-04-03 21:13:52 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						410e9cf736 
					 
					
						
						
							
							I$ bugfix, to be reworked  
						
						
						
						
					 
					
						2017-03-31 12:17:41 -07:00 
						 
				 
			
				
					
						
							
							
								Henry Cook 
							
						 
					 
					
						
						
							
						
						b9550e8523 
					 
					
						
						
							
							Merge branch 'master' into name-rams  
						
						
						
						
					 
					
						2017-03-30 17:36:01 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						a8a2ee711c 
					 
					
						
						
							
							Give I$ RAMs consistent names  
						
						
						
						
					 
					
						2017-03-30 15:50:54 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						2720095b8e 
					 
					
						
						
							
							Give D$ RAMs consistent names  
						
						
						
						
					 
					
						2017-03-30 15:49:14 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						70e7e90c02 
					 
					
						
						
							
							Remove splitMetadata option from L1 caches  
						
						... 
						
						
						
						This is a property of the specific cache microarchitecture, not actually
an independently tunable knob. 
						
						
					 
					
						2017-03-30 15:48:55 -07:00 
						 
				 
			
				
					
						
							
							
								Megan Wachs 
							
						 
					 
					
						
						
							
						
						9de06f8c83 
					 
					
						
						
							
							Merge remote-tracking branch 'origin/master' into debug_v013_pr  
						
						
						
						
					 
					
						2017-03-30 08:01:11 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						fd39eadcd6 
					 
					
						
						
							
							New PMP encoding  
						
						
						
						
					 
					
						2017-03-30 00:36:23 -07:00 
						 
				 
			
				
					
						
							
							
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						2f2b472098 
					 
					
						
						
							
							rocket: split the interrupt controller into its own node  
						
						
						
						
					 
					
						2017-03-30 00:36:23 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						3546c8d133 
					 
					
						
						
							
							If any PMPs are supported, all CSRs exist  
						
						
						
						
					 
					
						2017-03-30 00:36:23 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						8f73a58d90 
					 
					
						
						
							
							Report access exception, not page fault, if page-table walk fails  
						
						
						
						
					 
					
						2017-03-30 00:36:23 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						25232070ec 
					 
					
						
						
							
							Don't redundantly set resp_ae in PTW  
						
						
						
						
					 
					
						2017-03-30 00:36:23 -07:00 
						 
				 
			
				
					
						
							
							
								Henry Cook 
							
						 
					 
					
						
						
							
						
						d3bc99e253 
					 
					
						
						
							
							get local interrupts out of the tile  
						
						
						
						
					 
					
						2017-03-30 00:36:23 -07:00 
						 
				 
			
				
					
						
							
							
								solomatnikov 
							
						 
					 
					
						
						
							
						
						0b9fc94421 
					 
					
						
						
							
							Assertion for back-to-back uncached and cached ops ( #631 )  
						
						
						
						
					 
					
						2017-03-29 23:07:17 -07:00 
						 
				 
			
				
					
						
							
							
								Megan Wachs 
							
						 
					 
					
						
						
							
						
						d8033b20fc 
					 
					
						
						
							
							Merge remote-tracking branch 'origin/master' into debug_v013_pr  
						
						
						
						
					 
					
						2017-03-29 14:58:04 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						44fb3be7d0 
					 
					
						
						
							
							Fix MMIO/cache refill concurrency bug in DCache  
						
						... 
						
						
						
						There's a structural hazard on s2_req, so disallow cache refill initiation
while any MMIO loads are in flight. 
						
						
					 
					
						2017-03-28 17:16:29 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						4215f480ef 
					 
					
						
						
							
							Write instruction to badaddr on illegal instruction traps  
						
						
						
						
					 
					
						2017-03-28 00:56:14 -07:00 
						 
				 
			
				
					
						
							
							
								Megan Wachs 
							
						 
					 
					
						
						
							
						
						bb64c92906 
					 
					
						
						
							
							csr: Bring functionality in line with v13 spec. ebreak does not cause exception in Debug Mode, it just starts at Debug ROM again.  
						
						
						
						
					 
					
						2017-03-27 21:21:48 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						05cbdced78 
					 
					
						
						
							
							Work around zero-entry vec issue in Chisel  
						
						
						
						
					 
					
						2017-03-27 17:57:26 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						d42d8aaea7 
					 
					
						
						
							
							Make SEIP writable  
						
						
						
						
					 
					
						2017-03-27 16:37:09 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						c7c357e716 
					 
					
						
						
							
							Add local interrupts to core (but not yet to coreplex)  
						
						
						
						
					 
					
						2017-03-27 16:37:09 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						069858a20c 
					 
					
						
						
							
							rocket: separate page faults from physical memory access exceptions  
						
						
						
						
					 
					
						2017-03-27 16:37:09 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						ea0714bfcb 
					 
					
						
						
							
							rocket: hard-wire UXL/SXL fields to 0  
						
						... 
						
						
						
						a2a3346e73 
					
						2017-03-27 16:37:09 -07:00 
						 
				 
			
				
					
						
							
							
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						75eba294ec 
					 
					
						
						
							
							DCache: Release from the correct ID as well  
						
						
						
						
					 
					
						2017-03-27 16:30:46 -07:00 
						 
				 
			
				
					
						
							
							
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						4959771c97 
					 
					
						
						
							
							Revert "For D$, use source 0 through N-1 for MMIO, not 1 through N"  
						
						... 
						
						
						
						This reverts commit 0538dc77ce 
						
						
					 
					
						2017-03-27 16:30:46 -07:00 
						 
				 
			
				
					
						
							
							
								Wesley W. Terpstra 
							
						 
					 
					
						
						
							
						
						fa7ead6357 
					 
					
						
						
							
							Revert "Use Reg(Vec) instead of Seq(Reg) for DCache MMIO"  
						
						... 
						
						
						
						This reverts commit fb6498f2c3 
						
						
					 
					
						2017-03-27 16:30:46 -07:00 
						 
				 
			
				
					
						
							
							
								Megan Wachs 
							
						 
					 
					
						
						
							
						
						08c4f7cea6 
					 
					
						
						
							
							RocketTile: Create a wrapper for SyncRocketTile as well ( #616 )  
						
						... 
						
						
						
						* RocketTile: Create a wrapper for SyncRocketTile as well
There is no guarantee that debugInterrupt is synchronous
to tlClk, even though it is true in the current implementation.
It will not be true in future implementations, as decoupling
this allows the debugInterrupt to be asserted across tlClk
gating/reset scenarios.
Therefore, even for SyncRocketTile, the debug interrupt needs to be
synchronized to coreClk, and for RationalRocketTile, 1 cycle
of synchronization is not sufficient.
Even though other interrupts may be synchronized, we just
synchronize them all to simplify the code at the expense of
a few cycles latency.
It could still be nice to use a parameter vs hard coding "3".
* RocketTile: Actually use the SyncRocketTile wrapper to get properly synchronized resets. 
						
						
					 
					
						2017-03-27 02:45:37 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						5d1165c850 
					 
					
						
						
							
							Express PMP mask generator using a carry chain  
						
						... 
						
						
						
						This allows it to be optimized like an adder, improving QoR when it
is on the critical path. 
						
						
					 
					
						2017-03-26 14:20:16 -07:00 
						 
				 
			
				
					
						
							
							
								Henry Cook 
							
						 
					 
					
						
						
							
						
						996a31364a 
					 
					
						
						
							
							rocket: remove hard-coded paddrBits ( #610 )  
						
						... 
						
						
						
						Fall back on global variable but check that it is compatible with memory as seen from rocket's tilelink master port. 
						
						
					 
					
						2017-03-24 22:30:18 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						17b1ee3037 
					 
					
						
						
							
							Default to 8 PMPs; support 0 PMPs  
						
						
						
						
					 
					
						2017-03-24 16:39:52 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						97006ab396 
					 
					
						
						
							
							Don't modulate PMP privilege on passsthrough when !usingVM  
						
						
						
						
					 
					
						2017-03-24 16:39:52 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						3f0d2fe826 
					 
					
						
						
							
							Instantiate PTW unconditionally  
						
						... 
						
						
						
						This keeps the PMP datapaths intact.  The PTW itself will get optimized
away for the !usingVM case. 
						
						
					 
					
						2017-03-24 16:39:52 -07:00 
						 
				 
			
				
					
						
							
							
								Andrew Waterman 
							
						 
					 
					
						
						
							
						
						30415215b8 
					 
					
						
						
							
							Don't check for exceptions on ScratchpadSlavePort accesses  
						
						
						
						
					 
					
						2017-03-24 16:39:52 -07:00