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

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [gdb-7.2/] [gdb/] [gdbserver/] [linux-or32-low.c] - Diff between revs 447 and 453

Show entire file | Details | Blame | View Log

Rev 447 Rev 453
Line 106... Line 106...
  gdbserver_expedite_regs = expedite_regs_or32;
  gdbserver_expedite_regs = expedite_regs_or32;
  gdbserver_xmltarget     = NULL;
  gdbserver_xmltarget     = NULL;
}
}
 
 
 
 
 
/*! Some useful GDB register numbers. */
 
#define GDB_REGNUM_R0    0
 
#define GDB_REGNUM_R31  31
 
#define GDB_REGNUM_PPC  32
 
#define GDB_REGNUM_NPC  33
 
#define GDB_REGNUM_SR   34
 
 
/*! This is the number of *GDB* registers. I.e. r0-r31, PPC, NPC and SR. */
/*! This is the number of *GDB* registers. I.e. r0-r31, PPC, NPC and SR. */
#define or32_num_regs  35
#define or32_num_regs  (GDB_REGNUM_SR + 1)
 
 
 
 
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/*!Provide the ptrace "address" of a register.
/*!Provide the ptrace "address" of a register.
 
 
Line 128... Line 135...
 
 
 
 
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/*!Predicate to indicate if a register can be read.
/*!Predicate to indicate if a register can be read.
 
 
   For now, we believe all OR32 registers are readable.
   We mark r0 as not readable.
 
 
   @param[in] regno  Register to read.
   @param[in] regno  Register to read.
 
 
   @return  Non-zero (TRUE) if the register can be read, zero (FALSE)
   @return  Non-zero (TRUE) if the register can be read, zero (FALSE)
            otherwise.                                                        */
            otherwise.                                                        */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
static int
static int
or32_cannot_fetch_register (int  regno)
or32_cannot_fetch_register (int  regno)
{
{
  return (regno >= or32_num_regs);
  return (GDB_REGNUM_R0 == regno) || (regno >= or32_num_regs);
 
 
}       /* or32_cannot_fetch_register () */
}       /* or32_cannot_fetch_register () */
 
 
 
 
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
/*!Predicate to indicate if a register can be written.
/*!Predicate to indicate if a register can be written.
 
 
   For now, we believe all OR32 registers are writable.
   We mark r0 and the SR as not writeable.
 
 
   @param[in] regno  Register to write.
   @param[in] regno  Register to write.
 
 
   @return  Non-zero (TRUE) if the register can be written, zero (FALSE)
   @return  Non-zero (TRUE) if the register can be written, zero (FALSE)
            otherwise.                                                        */
            otherwise.                                                        */
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */
static int
static int
or32_cannot_store_register (int  regno)
or32_cannot_store_register (int  regno)
{
{
  return (regno >= or32_num_regs);
  return (GDB_REGNUM_R0 == regno) || (GDB_REGNUM_SR == regno) ||
 
         (regno >= or32_num_regs);
 
 
}       /* or32_cannot_store_register () */
}       /* or32_cannot_store_register () */
 
 
 
 
/* -------------------------------------------------------------------------- */
/* -------------------------------------------------------------------------- */

powered by: WebSVN 2.1.0

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