+Wed Jun 21 15:03:49 1995 Steve Chamberlain <sac@slash.cygnus.com>
+
+ * interp.c: (SIGBUS, SIGTERM): Define if not.
+ (sim_memory_size): default to 2^19 on PCs.
+ (sim_resume): Poll for quits on win32.
+
+Wed May 24 16:22:48 1995 Jim Wilson <wilson@chestnut.cygnus.com>
+
+ * gencode.c (op_tab): Add SH3 support.
+
Wed May 24 14:07:11 1995 Steve Chamberlain <sac@slash.cygnus.com>
* gencode.c (tab): Add bsrf and braf.
X=
XL=
INCDIR = $(srcdir)/../../include
-CSEARCH = -I. -I$(srcdir) -I../../include -I../../bfd -I$(INCDIR) -I$(srcdir)/../../bfd -I$(srcdir)/../../gdb
+CSEARCH = -I. -I$(srcdir) -I../../include \
+ -I../../bfd -I$(INCDIR) -I$(srcdir)/../../bfd -I$(srcdir)/../../gdb -I$(srcdir)/../../newlib/libc/sys/sh
DEP = mkdep
#### host, target, and site specific Makefile frags come in here.
# indent table.c
gencode:gencode.c
- $(CC_FOR_BUILD) -o gencode $<
+ $(CC_FOR_BUILD) -o gencode $(srcdir)/gencode.c
#### host and target dependent Makefile fragments come in here.
#include <signal.h>
#include "sysdep.h"
-#include <sys/times.h>
-#include <sys/param.h>
+//#include <sys/times.h>
+//#include <sys/param.h>
#include "bfd.h"
#include "remote-sim.h"
-#include "../../newlib/libc/sys/sh/sys/syscall.h"
+#include <sys/syscall.h>
+
+#ifndef SIGBUS
+#define SIGBUS SIGSEGV
+#endif
+#ifndef SIGQUIT
+#define SIGQUIT SIGTERM
+#endif
+
#define O_RECOMPILE 85
#define DEFINE_TABLE
-/*#define ACE_FAST*/
#define DISASSEMBLER_TABLE
+
+
#define SBIT(x) ((x)&sbit)
#define R0 saved_state.asregs.regs[0]
#define Rn saved_state.asregs.regs[n]
}
asregs;
- int asints[28];
+ int asints[28];
} saved_state_type;
saved_state_type saved_state;
#define TL(x) if ((x) == prevlock) stalls++;
#define TB(x,y) if ((x) == prevlock || (y)==prevlock) stalls++;
-#ifdef __GO32__
+#if defined(__GO32__) || defined(WIN32)
int sim_memory_size = 19;
#else
int sim_memory_size = 24;
switch (regs[4])
{
-#ifndef __GO32__
+#if !defined(__GO32__) && !defined(WIN32)
case SYS_fork:
regs[0] = fork ();
}
else
{
+ long mach;
/* Add to MACH the sign extended product, and carry from low sum. */
- MACH += (-(prod < 0)) + ((unsigned long) sum < prod);
+ mach = MACH + (-(prod < 0)) + ((unsigned long) sum < prod);
+ /* Sign extend at 10:th bit in MACH. */
+ MACH = (mach & 0x1ff) | -(mach & 0x200);
}
MACL = sum;
}
}
-extern int target_byte_order;
+int target_byte_order;
static void
set_static_little_endian(x)
register int prevlock;
register int thislock;
register unsigned int doprofile;
-#ifdef __GO32__
+#if defined(__GO32__) || defined(WIN32)
register int pollcount = 0;
#endif
register int little_endian = target_byte_order == 1234;
}
}
#endif
+#if defined (WIN32)
+ pollcount++;
+ if (pollcount > 1000)
+ {
+ pollcount = 0;
+ if (win32pollquit())
+ {
+ control_c();
+ }
+ }
+#endif
#ifndef ACE_FAST
prevlock = thislock;
while (!saved_state.asregs.exception);
if (saved_state.asregs.exception == SIGILL
- || saved_state.asregs.exception == SIGBUS
- || (saved_state.asregs.exception == SIGTRAP && !step))
+ || saved_state.asregs.exception == SIGBUS)
{
pc -= 2;
}
{
/* nothing to do */
}
+