Merge pull request #1003 from freechipsproject/ma-fetch
Don't write badaddr on misaligned fetch exceptions
This commit is contained in:
		@@ -520,7 +520,7 @@ class CSRFile(perfEventSets: EventSets = new EventSets(Seq()))(implicit p: Param
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  val epc = ~(~io.pc | (coreInstBytes-1))
 | 
					  val epc = ~(~io.pc | (coreInstBytes-1))
 | 
				
			||||||
  val write_badaddr = cause isOneOf (Causes.illegal_instruction, Causes.breakpoint,
 | 
					  val write_badaddr = cause isOneOf (Causes.illegal_instruction, Causes.breakpoint,
 | 
				
			||||||
    Causes.misaligned_load, Causes.misaligned_store, Causes.misaligned_fetch,
 | 
					    Causes.misaligned_load, Causes.misaligned_store,
 | 
				
			||||||
    Causes.load_access, Causes.store_access, Causes.fetch_access,
 | 
					    Causes.load_access, Causes.store_access, Causes.fetch_access,
 | 
				
			||||||
    Causes.load_page_fault, Causes.store_page_fault, Causes.fetch_page_fault)
 | 
					    Causes.load_page_fault, Causes.store_page_fault, Causes.fetch_page_fault)
 | 
				
			||||||
  val badaddr_value = Mux(write_badaddr, io.badaddr, 0.U)
 | 
					  val badaddr_value = Mux(write_badaddr, io.badaddr, 0.U)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user