#60 should fix the first instruction fetch privilege after interrupt

This commit is contained in:
Dolu1990 2019-03-29 09:02:44 +01:00
parent 0c48729611
commit 391cff69d3
1 changed files with 3 additions and 5 deletions

View File

@ -767,6 +767,9 @@ class CsrPlugin(config: CsrPluginConfig) extends Plugin[VexRiscv] with Exception
}
when(hadException || interruptJump){
//Avoid having the fetch confused by the incomming privilege switch
fetcher.haltIt()
jumpInterface.valid := True
jumpInterface.payload := (if(!xtvecModeGen) xtvec.base @@ "00" else (xtvec.mode === 0 || hadException) ? (xtvec.base @@ "00") | ((xtvec.base + trapCause) @@ "00") )
beforeLastStage.arbitration.flushAll := True
@ -800,11 +803,6 @@ class CsrPlugin(config: CsrPluginConfig) extends Plugin[VexRiscv] with Exception
}
}
//Avoid having the fetch confused by the incomming privilege switch
when(hadException){
fetcher.haltIt()
}
lastStage plug new Area{
import lastStage._