OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_49/] [or1ksim/] [cpu/] [or1k/] [except.c] - Diff between revs 139 and 152

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)

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.