#60 should fix the first instruction fetch privilege after interrupt
This commit is contained in:
parent
0c48729611
commit
391cff69d3
|
@ -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._
|
||||
|
||||
|
|
Loading…
Reference in New Issue