dcache_flush();
if ( regs_changed ){
- nindy_store_registers ();
+ nindy_store_registers (-1);
regs_changed = 0;
}
have_regs = 0;
immediate_quit--;
} else {
/* Get out of loop */
- supply_register (IP_REGNUM, &ip_value);
- supply_register (FP_REGNUM, &fp_value);
- supply_register (SP_REGNUM, &sp_value);
+ supply_register (IP_REGNUM,
+ (char *)&ip_value);
+ supply_register (FP_REGNUM,
+ (char *)&fp_value);
+ supply_register (SP_REGNUM,
+ (char *)&sp_value);
break;
}
}
bcopy (®isters[REGISTER_BYTE (PCW_REGNUM)], nindy_regs.pcw_acw, 2*4);
bcopy (®isters[REGISTER_BYTE (IP_REGNUM)], nindy_regs.ip, 1*4);
bcopy (®isters[REGISTER_BYTE (TCW_REGNUM)], nindy_regs.tcw, 1*4);
- /* Float regs. Only works on IEEE_FLOAT hosts. */
+ /* Float regs. Only works on IEEE_FLOAT hosts. FIXME! */
for (regnum = FP0_REGNUM; regnum < FP0_REGNUM + 4; regnum++) {
ieee_extended_to_double (&ext_format_i960,
®isters[REGISTER_BYTE (regnum)], &dub);
/* FIXME-someday, the arguments to unpack_double are backward.
It expects a target double and returns a host; we pass the opposite.
This mostly works but not quite. */
- dub = unpack_double (builtin_type_double, &dub, &inv);
+ dub = unpack_double (builtin_type_double, (char *)&dub, &inv);
/* dub now in target byte order */
bcopy ((char *)&dub, &nindy_regs.fp_as_double[8 * (regnum - FP0_REGNUM)],
8);
of this with a RETURN. This is useful when e.g. simply examining
an i960 object file on the host system. */
+void
nindy_before_main_loop ()
{
char ttyname[100];
#define BEFORE_MAIN_LOOP_HOOK \
nindy_before_main_loop();
+extern void
+nindy_before_main_loop(); /* In remote-nindy.c */
+
/* Address of end of stack space.
* This probably doesn't matter for nindy, because it's only used
* in manipulation of core files, which we don't support.
#define FRAME_CHAIN_VALID(chain, thisframe) \
nindy_frame_chain_valid (chain, thisframe)
-extern int nindy_frame_chain_valid(); /* See nindy-tdep.c */
+extern int
+nindy_frame_chain_valid(); /* See nindy-tdep.c */
/* Sequence of bytes for breakpoint instruction */