URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 703 |
Rev 997 |
Line 57... |
Line 57... |
pending.address = ea;
|
pending.address = ea;
|
if (delay_insn)
|
if (delay_insn)
|
pending.saved = pc - 4;
|
pending.saved = pc - 4;
|
else
|
else
|
pending.saved = pc;
|
pending.saved = pc;
|
if (config.sim.verbose) printf("Exception 0x%x (%s) at 0x%x, EA: 0x%x, ppc: 0x%x, npc: 0x%x\n",
|
if (config.sim.verbose) PRINTF("Exception 0x%x (%s) at 0x%x, EA: 0x%x, ppc: 0x%x, npc: 0x%x\n",
|
except, EXCEPT_NAME(except), iqueue[0].insn_addr, ea, pc, pcnext);
|
except, EXCEPT_NAME(except), iqueue[0].insn_addr, ea, pc, pcnext);
|
}
|
}
|
}
|
}
|
|
|
/* Actually handles exception */
|
/* Actually handles exception */
|
Line 71... |
Line 71... |
fprintf(stderr, "WARNING: No exception processing while ONLY_VIRTUAL_MACHINE is defined.\n");
|
fprintf(stderr, "WARNING: No exception processing while ONLY_VIRTUAL_MACHINE is defined.\n");
|
cont_run = 0;
|
cont_run = 0;
|
#else
|
#else
|
|
|
if (delay_insn) {
|
if (delay_insn) {
|
if (config.sim.verbose) printf("INFO: Exception during execution of delay slot insn.\n");
|
if (config.sim.verbose) PRINTF("INFO: Exception during execution of delay slot insn.\n");
|
pc -= 4;
|
pc -= 4;
|
}
|
}
|
|
|
pc_saved = pc & ~0x3;
|
pc_saved = pc & ~0x3;
|
if (except == EXCEPT_ILLEGAL)
|
if (except == EXCEPT_ILLEGAL)
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.