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

Subversion Repositories or1k

[/] [or1k/] [tags/] [nog_patch_52/] [or1ksim/] [tick/] [tick.c] - Diff between revs 997 and 1319

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

Rev 997 Rev 1319
Line 64... Line 64...
      SCHED_ADD(tick_job, 0, runtime.sim.cycles + (ttmr & SPR_TTMR_PERIOD) - ttcr);
      SCHED_ADD(tick_job, 0, runtime.sim.cycles + (ttmr & SPR_TTMR_PERIOD) - ttcr);
    }
    }
  case 2:
  case 2:
    if (ttmr & SPR_TTMR_IE) {
    if (ttmr & SPR_TTMR_IE) {
      setsprbits(SPR_TTMR, SPR_TTMR_IP, 1);
      setsprbits(SPR_TTMR, SPR_TTMR_IP, 1);
      if ((mfspr(SPR_SR) & SPR_SR_TEE) == SPR_SR_TEE)
      /* be sure not to issue timer exception if an exception occured before it */
 
      if (((mfspr(SPR_SR) & SPR_SR_TEE) == SPR_SR_TEE) && (!pending.valid))
        except_handle(EXCEPT_TICK, mfspr(SPR_EEAR_BASE));
        except_handle(EXCEPT_TICK, mfspr(SPR_EEAR_BASE));
      else
      else
        /* If TEE is currently not set we have to pend tick exception
        /* If TEE is currently not set we have to pend tick exception
           by rescheduling. */
           by rescheduling. */
        SCHED_ADD(tick_job, 1, runtime.sim.cycles + 1);
        SCHED_ADD(tick_job, 1, runtime.sim.cycles + 1);

powered by: WebSVN 2.1.0

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