64d9f4a111 
								
							 
						 
						
							
							
								
								Add tests for execution of mret and wfi in U mode  
							
							
							
						 
						
							2022-05-24 22:14:20 +01:00  
				
					
						
							
							
								 
						
							
								51750eb81d 
								
							 
						 
						
							
							
								
								Add mstatus.tw to control U-mode WFI, and prevent mret execution in U-mode.  
							
							
							
						 
						
							2022-05-24 21:12:44 +01:00  
				
					
						
							
							
								 
						
							
								10ca3aec80 
								
							 
						 
						
							
							
								
								Add U-mode and PMP to readme  
							
							
							
						 
						
							2022-05-24 20:41:25 +01:00  
				
					
						
							
							
								 
						
							
								20f06c4a02 
								
							 
						 
						
							
							
								
								Build tb with 4 PMP regions by default  
							
							
							
						 
						
							2022-05-24 20:06:57 +01:00  
				
					
						
							
							
								 
						
							
								7cfc976ef2 
								
							 
						 
						
							
							
								
								Set U RWX permission on all of memory in the U CSR readability test  
							
							
							
						 
						
							2022-05-24 19:58:12 +01:00  
				
					
						
							
							
								 
						
							
								c93228d13e 
								
							 
						 
						
							
							
								
								Integrate PMP, and fix a couple of PMP bugs  
							
							
							
						 
						
							2022-05-24 19:57:45 +01:00  
				
					
						
							
							
								 
						
							
								4878a752d6 
								
							 
						 
						
							
							
								
								Plumb privilege state through to the bus ports  
							
							
							
						 
						
							2022-05-24 18:24:34 +01:00  
				
					
						
							
							
								 
						
							
								cfed35b3da 
								
							 
						 
						
							
							
								
								Fix the stupid printf warning on x86-64 as well as arm64  
							
							
							
						 
						
							2022-05-24 18:22:25 +01:00  
				
					
						
							
							
								 
						
							
								f033cde874 
								
							 
						 
						
							
							
								
								Add test for readability of CSRs in U mode. Fix readback value of mstatus.mpp  
							
							
							
						 
						
							2022-05-24 17:30:24 +01:00  
				
					
						
							
							
								 
						
							
								ba81b533d2 
								
							 
						 
						
							
							
								
								Build core with U mode support for tb  
							
							
							
						 
						
							2022-05-24 16:44:22 +01:00  
				
					
						
							
							
								 
						
							
								0199f48087 
								
							 
						 
						
							
							
								
								Add read-only counter CSRs to readability/writability tests, and fix cycleh being unreadable when U mode is not implemented  
							
							
							
						 
						
							2022-05-24 16:44:03 +01:00  
				
					
						
							
							
								 
						
							
								d62861159f 
								
							 
						 
						
							
							
								
								First pass at U-mode CSR support. Bizarrely causes CXXRTL tb to not write to stdout when invoked by subprocess.run from Python.  
							
							
							
						 
						
							2022-05-24 16:17:54 +01:00  
				
					
						
							
							
								 
						
							
								4ba3f7ceb9 
								
							 
						 
						
							
							
								
								Fix format warning in tb.cpp on arm64  
							
							
							
						 
						
							2022-05-24 16:17:54 +01:00  
				
					
						
							
							
								 
						
							
								ef35dc859d 
								
							 
						 
						
							
							
								
								Add zicsr to march in makefiles  
							
							
							
						 
						
							2022-05-24 16:17:54 +01:00  
				
					
						
							
							
								 
						
							
								07d4b23a9a 
								
							 
						 
						
							
							
								
								Add option to pass test list to runtests  
							
							
							
						 
						
							2022-05-24 16:17:54 +01:00  
				
					
						
							
							
								 
						
							
								2df1179994 
								
							 
						 
						
							
							
								
								Wire privilege through from core to bus masters. Tied off inside core.  
							
							
							
						 
						
							2022-05-24 14:05:26 +01:00  
				
					
						
							
							
								 
						
							
								c0b5d73cbd 
								
							 
						 
						
							
							
								
								Typo in for loop, surprised Yosys accepted this  
							
							
							
						 
						
							2022-05-23 18:15:36 +01:00  
				
					
						
							
							
								 
						
							
								5466c8131e 
								
							 
						 
						
							
							
								
								Sketch in PMP implementation  
							
							
							
						 
						
							2022-05-23 18:06:23 +01:00  
				
					
						
							
							
								 
						
							
								06647b78c6 
								
							 
						 
						
							
							
								
								Fix IALIGN fault to trap on the control flow instruction instead of its target  
							
							
							
						 
						
							2022-05-23 16:25:43 +01:00  
				
					
						
							
							
								 
						
							
								da244f54c3 
								
							 
						 
						
							
							
								
								Remove unused FAKE_DUALPORT option from regfile  
							
							
							
						 
						
							2022-05-23 16:22:01 +01:00  
				
					
						
							
							
								 
						
							
								f849517202 
								
							 
						 
						
							
							
								
								Split CSR addresses into separate header file  
							
							
							
						 
						
							2022-05-23 15:54:37 +01:00  
				
					
						
							
							
								 
						
							
								5f4127948d 
								
							 
						 
						
							
							
								
								Add a parameter to control register file reset, instead of the weird ifdef tree  
							
							
							
						 
						
							2022-05-23 13:29:44 +01:00  
				
					
						
							
							
								 
						
							
								df0fd536eb 
								
							 
						 
						
							
							
								
								Fix IRQ priority to match the priv spec  
							
							
							
						 
						
							2022-05-23 12:56:37 +01:00  
				
					
						
							
							
								 
						
							
								96a9ee18e1 
								
							 
						 
						
							
							
								
								Add IALIGN exception to non-RVC implementations  
							
							
							
						 
						
							2022-05-23 12:47:48 +01:00  
				
					
						
							
							
								 
						
							
								c4e81922da 
								
							 
						 
						
							
							
								
								Don't store bit 1 of mepc on non-RVC implementations  
							
							
							
						 
						
							2022-05-23 12:27:07 +01:00  
				
					
						
							
							
								 
						
							
								31061bd472 
								
							 
						 
						
							
							
								
								Add Zbkb to bitmanip tests and regenerate vectors  
							
							
							
						 
						
							2022-05-21 17:15:46 +01:00  
				
					
						
							
							
								 
						
							
								210dbeae64 
								
							 
						 
						
							
							
								
								Correct the name and operation of the brev8 (formerly rev.b) instruction  
							
							
							
						 
						
							2022-05-20 15:28:18 +01:00  
				
					
						
							
							
								 
						
							
								a2582976fc 
								
							 
						 
						
							
							
								
								Fix opcodes for zip/unzip, which are wrong in the bitmanip copy of the Zbkb spec, but correct in the crypto copy of that spec  
							
							
							
						 
						
							2022-05-20 15:15:37 +01:00  
				
					
						
							
							
								 
						
							
								4ffe007a84 
								
							 
						 
						
							
							
								
								Add zicsr to march in bitmanip tests, so it builds on newer toolchains  
							
							
							
						 
						
							2022-05-20 01:32:21 +01:00  
				
					
						
							
							
								 
						
							
								43e0b1d16a 
								
							 
						 
						
							
							
								
								Implement Zbkb (untested)  
							
							
							
						 
						
							2022-05-06 17:36:25 +01:00  
				
					
						
							
							
								 
						
							
								4946248dc4 
								
							 
						 
						
							
							
								
								RVFI monitor: blank out instructions which experienced an instruction fetch fault.  
							
							... 
							
							
							
							(previous monitor logic was ok when fetch faults weren't implemented.
If the blanked instruction has side effects, these will break other test
properties, which we would detect.) 
							
						 
						
							2022-04-12 13:38:19 +01:00  
				
					
						
							
							
								 
						
							
								8a61fe5243 
								
							 
						 
						
							
							
								
								Fix RVFI monitor assuming rs2 data is equivalent to store data  
							
							... 
							
							
							
							(this used to be true, but was re-plumbed when optimising A extension implementation) 
							
						 
						
							2022-04-12 13:27:53 +01:00  
				
					
						
							
							
								 
						
							
								9e27db0884 
								
							 
						 
						
							
							
								
								Connect or tie off missing ports on RVFI wrapper  
							
							
							
						 
						
							2022-04-12 13:27:03 +01:00  
				
					
						
							
							
								 
						
							
								2c8f3974d0 
								
							 
						 
						
							
							
								
								Correctly implement fence.i as branch-to-next. Make Zifencei optional. Tighten up decode on fence and fence.i.  
							
							
							
						 
						
							2022-04-09 13:49:16 +01:00  
				
					
						
							
							
								 
						
							
								35651f52a7 
								
							 
						 
						
							
							
								
								Stronger property for correct predecode  
							
							
							
						 
						
							2022-04-05 08:18:00 +01:00  
				
					
						
							
							
								 
						
							
								20cf408632 
								
							 
						 
						
							
							
								
								Add fine (as well as coarse) register predecode, so that predecoded regnum can be used in bypass zeroing.  
							
							
							
						 
						
							2022-04-04 20:16:19 +01:00  
				
					
						
							
							
								 
						
							
								357efac66e 
								
							 
						 
						
							
							
								
								Don't decode unnecessary bits in register predecode logic  
							
							
							
						 
						
							2022-04-04 18:22:09 +01:00  
				
					
						
							
							
								 
						
							
								be80bd4c18 
								
							 
						 
						
							
							
								
								Radical opinion, we should have good performance by default, not bad  
							
							
							
						 
						
							2022-04-02 17:53:22 +01:00  
				
					
						
							
							
								 
						
							
								7dc5046505 
								
							 
						 
						
							
							
								
								Perf option for dedicated branch comparator  
							
							
							
						 
						
							2022-04-02 11:40:47 +01:00  
				
					
						
							
							
								 
						
							
								3c61fae9ef 
								
							 
						 
						
							
							
								
								Remove the halfword fetch thing, was only really useful on RISCBoy  
							
							
							
						 
						
							2022-04-02 10:54:16 +01:00  
				
					
						
							
							
								 
						
							
								7b8fe43c1c 
								
							 
						 
						
							
							
								
								Fix bad timing of predecoded regnum register update (thanks BMC)  
							
							
							
						 
						
							2022-04-02 10:11:55 +01:00  
				
					
						
							
							
								 
						
							
								b80b09afe5 
								
							 
						 
						
							
							
								
								Typo -- fully encode all 128 possible IRQs  
							
							
							
						 
						
							2022-03-15 09:01:55 +00:00  
				
					
						
							
							
								 
						
							
								b0b8703ea4 
								
							 
						 
						
							
							
								
								Support up to 128 IRQs  
							
							
							
						 
						
							2022-03-13 09:27:43 +00:00  
				
					
						
							
							
								 
						
							
								887c93dbf0 
								
							 
						 
						
							
							
								
								Reuse predecoded regnums for bypass mux (though can't be used for zeroing unfortunately)  
							
							
							
						 
						
							2022-03-02 18:35:16 +00:00  
				
					
						
							
							
								 
						
							
								96c69d0bb0 
								
							 
						 
						
							
							
								
								Cut in->out paths on debug halt/resume request  
							
							... 
							
							
							
							Should be harmless, because in practice these should always be driven from a register
in the DM, but still better to cut the path 
							
						 
						
							2022-03-01 21:14:49 +00:00  
				
					
						
							
							
								 
						
							
								5aca1381ac 
								
							 
						 
						
							
							
								
								Couple of fixups for rvpy which I forgot to commit at some point  
							
							
							
						 
						
							2022-03-01 20:27:18 +00:00  
				
					
						
							
							
								 
						
							
								8fbffbe133 
								
							 
						 
						
							
							
								
								Assign full width of fifo_valid in non-reset clause (cosmetic fix)  
							
							
							
						 
						
							2022-02-24 12:00:27 +00:00  
				
					
						
							
							
								 
						
							
								9ed99d8695 
								
							 
						 
						
							
							
								
								Use define to guard X-checks, instead of hot comments  
							
							
							
						 
						
							2022-02-24 10:35:16 +00:00  
				
					
						
							
							
								 
						
							
								bf15b6c49f 
								
							 
						 
						
							
							
								
								Fix forward reference to net  
							
							
							
						 
						
							2022-01-18 23:02:39 +00:00  
				
					
						
							
							
								 
						
							
								0a369efc06 
								
							 
						 
						
							
							
								
								Add single-port bus compliance. Fix adapter not re-arbitrating following an ERROR response, causing a squashed younger load-store to remain presented to the bus.  
							
							
							
						 
						
							2021-12-18 15:41:05 +00:00