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

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_33/] [or1ksim/] [cpu/] [or1k/] [sprs.c] - Diff between revs 242 and 255

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 242 Rev 255
Line 105... Line 105...
      extern unsigned long pc;
      extern unsigned long pc;
      extern unsigned long pcnext;
      extern unsigned long pcnext;
      extern int delay_insn;
      extern int delay_insn;
      extern unsigned long pcdelay;
      extern unsigned long pcdelay;
 
 
      sprs[SPR_PC] = value;
 
 
 
      /* The debugger has redirected us to a new address */
      /* The debugger has redirected us to a new address */
      /* This is usually done to reissue an instruction
      /* This is usually done to reissue an instruction
         which just caused a breakpoint exception. */
         which just caused a breakpoint exception. */
      pcnext = value;
      pcnext = value;
 
 
Line 120... Line 118...
      /* Clear any pending delay slot jumps also */
      /* Clear any pending delay slot jumps also */
      delay_insn = 0;
      delay_insn = 0;
      pcdelay = value + 4;
      pcdelay = value + 4;
    }
    }
    break;
    break;
  default:
        }
 
 
    if (regno < MAX_SPRS)
    if (regno < MAX_SPRS)
      sprs[regno] = value;
      sprs[regno] = value;
    else {
    else {
      printf("\nABORT: write out of SPR range %08X\n", regno);
      printf("\nABORT: write out of SPR range %08X\n", regno);
      cont_run = 0;
      cont_run = 0;
    }
    }
  }
  }
}
 
 
 
/* Get a specific SPR. */
/* Get a specific SPR. */
inline sprword
inline sprword
mfspr_(const int regno)
mfspr_(const int regno)
{
{

powered by: WebSVN 2.1.0

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