コード例 #1
0
ファイル: ppc_stub.c プロジェクト: Joel397/Ongoing_work_files
int
put_register_as_bytes (regnames_t which, char *value)
{
 
    memcpy((char *)&_registers[hal_gdb_register_offsets[which]], value, REGSIZE(which));
    return(1);
}
コード例 #2
0
ファイル: ppc_stub.c プロジェクト: edgargrimberg/eCos_MPC8313
// Alter the contents of saved register WHICH to contain VALUE. This
// is only used for registers larger than sizeof(target_register_t).
// Return non-zero if it is a valid register.
int
put_register_as_bytes (regnames_t which, char *value)
{
  int offset = reg_offset(which);

  memcpy ((char *)_registers + offset, value, REGSIZE(which));
  return 1;
}
コード例 #3
0
ファイル: ppc_stub.c プロジェクト: edgargrimberg/eCos_MPC8313
// Store VALUE in the register corresponding to WHICH in the exception
// context.
void
put_register (regnames_t which, target_register_t value)
{
   int offset = reg_offset(which);

   if (REGSIZE(which) > sizeof(target_register_t))
   return;

   _registers[offset/sizeof(target_register_t)] = value;
}
コード例 #4
0
ファイル: ppc_stub.c プロジェクト: edgargrimberg/eCos_MPC8313
// Return the currently-saved value corresponding to register REG of
// the exception context.
target_register_t
get_register (regnames_t reg)
{
   target_register_t val;
   int offset = reg_offset(reg);

   if (REGSIZE(reg) > sizeof(target_register_t))
   return -1;

   val = _registers[offset/sizeof(target_register_t)];

   return val;
}
コード例 #5
0
    U_32  edi;
    uint16  ds;
    uint16  es;
    uint16  fs;
    uint16  gs;
    uint16  ss;
    uint16  cs;
    U_32  eip;
    U_32  eflags;
};

#define REGSIZE(_field_) ((jint)sizeof(((NcaiRegisters*)0)->_field_))
#define REGOFF(_field_) ((POINTER_SIZE_INT)&(((NcaiRegisters*)0)->_field_))

NcaiRegisterTableItem g_ncai_reg_table[] = {
    {"eax",     REGSIZE(eax),   REGOFF(eax)   },
    {"ebx",     REGSIZE(ebx),   REGOFF(ebx)   },
    {"ecx",     REGSIZE(ecx),   REGOFF(ecx)   },
    {"edx",     REGSIZE(edx),   REGOFF(edx)   },
    {"esp",     REGSIZE(esp),   REGOFF(esp)   },
    {"ebp",     REGSIZE(ebp),   REGOFF(ebp)   },
    {"esi",     REGSIZE(esi),   REGOFF(esi)   },
    {"edi",     REGSIZE(edi),   REGOFF(edi)   },
    {"ds",      REGSIZE(ds),    REGOFF(ds)    },
    {"es",      REGSIZE(es),    REGOFF(es)    },
    {"fs",      REGSIZE(fs),    REGOFF(fs)    },
    {"gs",      REGSIZE(gs),    REGOFF(gs)    },
    {"ss",      REGSIZE(ss),    REGOFF(ss)    },
    {"cs",      REGSIZE(cs),    REGOFF(cs)    },
    {"eip",     REGSIZE(eip),   REGOFF(eip)   },
    {"eflags",  REGSIZE(eflags),REGOFF(eflags)},