OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-7.1/] [sim/] [or32/] [wrapper.c] - Diff between revs 232 and 237

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

Rev 232 Rev 237
Line 566... Line 566...
  /* Set debug unit to handle TRAP exceptions */
  /* Set debug unit to handle TRAP exceptions */
  (void) or1ksim_read_spr (OR32_SPR_DSR, &dsr);
  (void) or1ksim_read_spr (OR32_SPR_DSR, &dsr);
  dsr |= OR32_SPR_DSR_TE;
  dsr |= OR32_SPR_DSR_TE;
  (void) or1ksim_write_spr (OR32_SPR_DSR, dsr);
  (void) or1ksim_write_spr (OR32_SPR_DSR, dsr);
 
 
  /* Set the single step trigger in Debug Mode Register 1 if we are stepping. */
  /* Set the single step trigger in Debug Mode Register 1 if we are
 
     stepping. Otherwise clear it! */
  if (step)
  if (step)
    {
    {
      (void) or1ksim_read_spr (OR32_SPR_DMR1, &dmr1);
      (void) or1ksim_read_spr (OR32_SPR_DMR1, &dmr1);
      dmr1 |= OR32_SPR_DMR1_ST;
      dmr1 |= OR32_SPR_DMR1_ST;
      (void) or1ksim_write_spr (OR32_SPR_DMR1, dmr1);
      (void) or1ksim_write_spr (OR32_SPR_DMR1, dmr1);
    }
    }
 
  else
 
    {
 
      (void) or1ksim_read_spr (OR32_SPR_DMR1, &dmr1);
 
      dmr1 &= ~OR32_SPR_DMR1_ST;
 
      (void) or1ksim_write_spr (OR32_SPR_DMR1, dmr1);
 
    }
 
 
  /* Set the NPC if it has changed */
  /* Set the NPC if it has changed */
  (void) or1ksim_read_reg (OR32_NPC_REGNUM, &npc);
  (void) or1ksim_read_reg (OR32_NPC_REGNUM, &npc);
 
 
  if (npc != sd->resume_npc)
  if (npc != sd->resume_npc)
Line 601... Line 608...
      break;
      break;
 
 
    case OR1KSIM_RC_BRKPT:
    case OR1KSIM_RC_BRKPT:
      sd->last_reason = sim_stopped;
      sd->last_reason = sim_stopped;
      sd->last_rc     = TARGET_SIGNAL_TRAP;
      sd->last_rc     = TARGET_SIGNAL_TRAP;
 
 
 
      /* This could have been a breakpoint or single step. */
 
      if (step)
 
        {
 
          (void) or1ksim_read_reg (OR32_NPC_REGNUM, &(sd->resume_npc));
 
        }
 
      else
 
        {
      (void) or1ksim_read_reg (OR32_PPC_REGNUM, &(sd->resume_npc));
      (void) or1ksim_read_reg (OR32_PPC_REGNUM, &(sd->resume_npc));
 
        }
 
 
      break;
      break;
 
 
    case OR1KSIM_RC_OK:
    case OR1KSIM_RC_OK:
      /* Should not happen */
      /* Should not happen */
      fprintf (stderr, "Ooops. Didn't expect OK return from Or1ksim.\n");
      fprintf (stderr, "Ooops. Didn't expect OK return from Or1ksim.\n");

powered by: WebSVN 2.1.0

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