cris: Abort when a v10 takes interrupts while in a delayslot
This is an internal error as the CRISv10 should mask interrupts while executing delay slots. Bail out sooner rather than later. Signed-off-by: Edgar E. Iglesias <edgar.iglesias@xilinx.com>
This commit is contained in:
parent
fd5d5afad8
commit
d66433ffdc
@ -126,6 +126,11 @@ void crisv10_cpu_do_interrupt(CPUState *cs)
|
|||||||
env->exception_index,
|
env->exception_index,
|
||||||
cs->interrupt_request);
|
cs->interrupt_request);
|
||||||
|
|
||||||
|
if (env->dslot) {
|
||||||
|
/* CRISv10 never takes interrupts while in a delay-slot. */
|
||||||
|
cpu_abort(env, "CRIS: Interrupt on delay-slot\n");
|
||||||
|
}
|
||||||
|
|
||||||
assert(!(env->pregs[PR_CCS] & PFIX_FLAG));
|
assert(!(env->pregs[PR_CCS] & PFIX_FLAG));
|
||||||
switch (env->exception_index) {
|
switch (env->exception_index) {
|
||||||
case EXCP_BREAK:
|
case EXCP_BREAK:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user