URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Go to most recent revision |
Show entire file |
Details |
Blame |
View Log
Rev 139 |
Rev 152 |
Line 101... |
Line 101... |
}
|
}
|
|
|
/* Handle OR1K exceptions. */
|
/* Handle OR1K exceptions. */
|
void except_handle(int except, unsigned long ea)
|
void except_handle(int except, unsigned long ea)
|
{
|
{
|
printf("Exception 0x%x (%s): ", except, EXCEPT_NAME(except));
|
|
printf("Iqueue[0].insn_addr: 0x%x Eff ADDR: 0x%x\n", iqueue[0].insn_addr, ea);
|
|
printf(" pc: 0x%x pcnext: 0x%x\n", pc, pcnext);
|
|
|
|
pending.valid = 1;
|
pending.valid = 1;
|
pending.type = except;
|
pending.type = except;
|
pending.address = ea;
|
pending.address = ea;
|
pending.saved = pc;
|
pending.saved = pc;
|
|
|
Line 117... |
Line 113... |
pending.valid = 0;
|
pending.valid = 0;
|
pending.type = 0;
|
pending.type = 0;
|
pending.address = 0;
|
pending.address = 0;
|
pending.saved = 0;
|
pending.saved = 0;
|
}
|
}
|
|
else
|
|
{
|
|
printf("Exception 0x%x (%s): ", except, EXCEPT_NAME(except));
|
|
printf("Iqueue[0].insn_addr: 0x%x Eff ADDR: 0x%x\n", iqueue[0].insn_addr, ea);
|
|
printf(" pc: 0x%x pcnext: 0x%x\n", pc, pcnext);
|
|
}
|
|
|
cycle_delay = 0; /* An exception stalls the CPU 0 clock cycles */
|
cycle_delay = 0; /* An exception stalls the CPU 0 clock cycles */
|
}
|
}
|
|
|
static void except_handle_backend(int except, unsigned long ea, unsigned long pc_saved)
|
static void except_handle_backend(int except, unsigned long ea, unsigned long pc_saved)
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.