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.2/] [sim/] [or32/] [wrapper.c] - Diff between revs 531 and 565

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

Rev 531 Rev 565
Line 362... Line 362...
          int            len)
          int            len)
{
{
  int res = or1ksim_read_mem (mem, buf, len);
  int res = or1ksim_read_mem (mem, buf, len);
 
 
#ifdef OR32_SIM_DEBUG
#ifdef OR32_SIM_DEBUG
  printf ("Reading %d bytes from 0x%8p\n", len, (void *) mem);
  printf ("Reading %d bytes from %08p\n", len, (void *) mem);
#endif
#endif
 
 
  return  res;
  return  res;
 
 
}      /* sim_read () */
}      /* sim_read () */
Line 388... Line 388...
           SIM_ADDR             mem,
           SIM_ADDR             mem,
           const unsigned char *buf,
           const unsigned char *buf,
           int                  len)
           int                  len)
{
{
#ifdef OR32_SIM_DEBUG
#ifdef OR32_SIM_DEBUG
  printf ("Writing %d bytes to 0x%8p\n", len, (void *) mem);
  printf ("Writing %d bytes to %08p\n", len, (void *) mem);
#endif
#endif
 
 
  return  or1ksim_write_mem ((unsigned int) mem, buf, len);
  return  or1ksim_write_mem ((unsigned int) mem, buf, len);
 
 
}       /* sim_write () */
}       /* sim_write () */
Line 427... Line 427...
{
{
  unsigned long int  regval;
  unsigned long int  regval;
  int                res;
  int                res;
 
 
#ifdef OR32_SIM_DEBUG
#ifdef OR32_SIM_DEBUG
  printf ("sim_fetch_register (regno=%d\n) called\n", regno);
  printf ("sim_fetch_register (regno=%d) called\n", regno);
#endif
#endif
  if (4 != len)
  if (4 != len)
    {
    {
      fprintf (stderr, "Invalid register length %d\n", len);
      fprintf (stderr, "Invalid register length %d\n", len);
      return  0;
      return  0;
Line 646... Line 646...
     resumption NPC must be set to the PPC to allow re-execution of the
     resumption NPC must be set to the PPC to allow re-execution of the
     trapped instruction. */
     trapped instruction. */
  switch (res)
  switch (res)
    {
    {
    case OR1KSIM_RC_HALTED:
    case OR1KSIM_RC_HALTED:
 
 
 
#ifdef OR32_SIM_DEBUG
 
      (void) or1ksim_read_reg (OR32_NPC_REGNUM, &npc);
 
      printf ("  execution halted at 0x%08lx.\n", npc);
 
#endif
 
 
      sd->last_reason = sim_exited;
      sd->last_reason = sim_exited;
      (void) or1ksim_read_reg (OR32_FIRST_ARG_REGNUM, &retval);
      (void) or1ksim_read_reg (OR32_FIRST_ARG_REGNUM, &retval);
      sd->last_rc     = (unsigned int) retval;
      sd->last_rc     = (unsigned int) retval;
      sd->resume_npc  = OR32_RESET_EXCEPTION;
      sd->resume_npc  = OR32_RESET_EXCEPTION;
      cycles = (long int) (or1ksim_get_time_period ()
      cycles = (long int) (or1ksim_get_time_period ()
                           * (double) or1ksim_clock_rate());
                           * (double) or1ksim_clock_rate());
      break;
      break;
 
 
    case OR1KSIM_RC_BRKPT:
    case OR1KSIM_RC_BRKPT:
 
 
 
#ifdef OR32_SIM_DEBUG
 
      printf ("  execution hit breakpoint.\n");
 
#endif
 
 
      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. */
      /* This could have been a breakpoint or single step. */
      if (step)
      if (step)

powered by: WebSVN 2.1.0

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