Line 303... |
Line 303... |
error ("can't read register %d (%s)", regnum, REGISTER_NAME (regnum));
|
error ("can't read register %d (%s)", regnum, REGISTER_NAME (regnum));
|
|
|
flt = unpack_double (builtin_type_float, raw_buffer, &inv1);
|
flt = unpack_double (builtin_type_float, raw_buffer, &inv1);
|
doub = unpack_double (builtin_type_double, raw_buffer, &inv3);
|
doub = unpack_double (builtin_type_double, raw_buffer, &inv3);
|
|
|
printf_filtered (inv1 ? " %-5s flt: <invalid float>" :
|
if (inv1)
|
" %-5s flt:%-17.9g", REGISTER_NAME (regnum), flt);
|
printf_filtered (" %-5s flt: <invalid float>", REGISTER_NAME (regnum));
|
|
else
|
|
printf_filtered (" %-5s flt:%-17.9g", REGISTER_NAME (regnum), flt);
|
printf_filtered (inv3 ? " dbl: <invalid double> " :
|
printf_filtered (inv3 ? " dbl: <invalid double> " :
|
" dbl: %-24.17g ", doub);
|
" dbl: %-24.17g ", doub);
|
|
|
/* pad small registers */
|
/* pad small registers */
|
for (byte = 0; byte < (OR1K_GPR_REGSIZE - REGISTER_VIRTUAL_SIZE (regnum)); byte++)
|
for (byte = 0; byte < (OR1K_GPR_REGSIZE - REGISTER_VIRTUAL_SIZE (regnum)); byte++)
|
Line 984... |
Line 986... |
}
|
}
|
|
|
/* SPR register info. */
|
/* SPR register info. */
|
|
|
void
|
void
|
info_spr_command (char *args, int from_tty)
|
info_spr_command (args, from_tty)
|
|
char *args;
|
|
int from_tty;
|
{
|
{
|
int group, index;
|
int group, index;
|
parse_spr_params (args, &group, &index);
|
parse_spr_params (args, &group, &index);
|
if (index >= 0)
|
if (index >= 0)
|
{
|
{
|
Line 999... |
Line 1003... |
}
|
}
|
|
|
/* Set SPR register. */
|
/* Set SPR register. */
|
|
|
void
|
void
|
spr_command (char *args, int from_tty)
|
spr_command (args, from_tty)
|
|
char *args;
|
|
int from_tty;
|
{
|
{
|
int group, index;
|
int group, index;
|
char *nargs = parse_spr_params (args, &group, &index);
|
char *nargs = parse_spr_params (args, &group, &index);
|
if (index >= 0)
|
if (index >= 0)
|
{
|
{
|
Line 1031... |
Line 1037... |
}
|
}
|
|
|
/* Calls extended command on target. */
|
/* Calls extended command on target. */
|
|
|
void
|
void
|
sim_command (char *args, int from_tty)
|
sim_command (args, from_tty)
|
|
char *args;
|
|
int from_tty;
|
{
|
{
|
or1k_sim_cmd (args, from_tty);
|
or1k_sim_cmd (args, from_tty);
|
}
|
}
|
|
|
|
int
|
|
or1k_parse_any (exp)
|
|
union exp_element *exp;
|
|
{
|
|
if (exp->opcode == BINOP_LOGICAL_AND)
|
|
{
|
|
//!!!
|
|
}
|
|
}
|
|
|
/* ARGSUSED */
|
/* ARGSUSED */
|
/* accessflag: hw_write: watch write,
|
/* accessflag: hw_write: watch write,
|
hw_read: watch read,
|
hw_read: watch read,
|
hw_access: watch access (read or write) */
|
hw_access: watch access (read or write) */
|
static void
|
static void
|
Line 1053... |
Line 1071... |
/* Parse arguments. */
|
/* Parse arguments. */
|
exp = parse_exp_1 (&arg, 0, 0);
|
exp = parse_exp_1 (&arg, 0, 0);
|
|
|
dump_prefix_expression (exp, gdb_stdout, "expr1");
|
dump_prefix_expression (exp, gdb_stdout, "expr1");
|
|
|
|
if (or1k_parse_any (&exp->elts[0]))
|
|
{
|
|
//!!!
|
|
printf_unfiltered ("Watchpoint successfully allocated.");
|
|
}
|
|
else
|
|
printf_unfiltered ("Not enough resources to set specified watchpoint.");
|
/* Now we have to find out if given prefix expression matches
|
/* Now we have to find out if given prefix expression matches
|
our HW based support. It may take up to
|
our HW based support. It may take up to
|
or1k_implementation.num_matchpoints - or1k_implementation.num_used_matchpoints. */
|
or1k_implementation.num_matchpoints - or1k_implementation.num_used_matchpoints. */
|
nfree = or1k_implementation.num_matchpoints - or1k_implementation.num_used_matchpoints;
|
nfree = or1k_implementation.num_matchpoints - or1k_implementation.num_used_matchpoints;
|
//printf_unfiltered ("%s\n", exp->elts[1].internalvar->name);
|
//printf_unfiltered ("%s\n", exp->elts[1].internalvar->name);
|