* interp.c: (SIGBUS, SIGTERM): Define if not.
(sim_memory_size): default to 2^19 on PCs. (sim_resume): Poll for quits on win32.
This commit is contained in:
parent
652970ff68
commit
edf6a84356
|
@ -1,3 +1,13 @@
|
||||||
|
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>
|
Wed May 24 14:07:11 1995 Steve Chamberlain <sac@slash.cygnus.com>
|
||||||
|
|
||||||
* gencode.c (tab): Add bsrf and braf.
|
* gencode.c (tab): Add bsrf and braf.
|
||||||
|
|
|
@ -68,7 +68,8 @@ XL=-lX11
|
||||||
X=
|
X=
|
||||||
XL=
|
XL=
|
||||||
INCDIR = $(srcdir)/../../include
|
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
|
DEP = mkdep
|
||||||
|
|
||||||
#### host, target, and site specific Makefile frags come in here.
|
#### host, target, and site specific Makefile frags come in here.
|
||||||
|
@ -95,7 +96,7 @@ table.c:gencode
|
||||||
# indent table.c
|
# indent table.c
|
||||||
|
|
||||||
gencode:gencode.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.
|
#### host and target dependent Makefile fragments come in here.
|
||||||
|
|
|
@ -20,16 +20,25 @@
|
||||||
|
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
#include "sysdep.h"
|
#include "sysdep.h"
|
||||||
#include <sys/times.h>
|
//#include <sys/times.h>
|
||||||
#include <sys/param.h>
|
//#include <sys/param.h>
|
||||||
#include "bfd.h"
|
#include "bfd.h"
|
||||||
#include "remote-sim.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 O_RECOMPILE 85
|
||||||
#define DEFINE_TABLE
|
#define DEFINE_TABLE
|
||||||
/*#define ACE_FAST*/
|
|
||||||
#define DISASSEMBLER_TABLE
|
#define DISASSEMBLER_TABLE
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define SBIT(x) ((x)&sbit)
|
#define SBIT(x) ((x)&sbit)
|
||||||
#define R0 saved_state.asregs.regs[0]
|
#define R0 saved_state.asregs.regs[0]
|
||||||
#define Rn saved_state.asregs.regs[n]
|
#define Rn saved_state.asregs.regs[n]
|
||||||
|
@ -142,7 +151,7 @@ typedef union
|
||||||
|
|
||||||
}
|
}
|
||||||
asregs;
|
asregs;
|
||||||
int asints[28];
|
int asints[28];
|
||||||
|
|
||||||
} saved_state_type;
|
} saved_state_type;
|
||||||
saved_state_type saved_state;
|
saved_state_type saved_state;
|
||||||
|
@ -305,7 +314,7 @@ int empty[16];
|
||||||
#define TL(x) if ((x) == prevlock) stalls++;
|
#define TL(x) if ((x) == prevlock) stalls++;
|
||||||
#define TB(x,y) if ((x) == prevlock || (y)==prevlock) stalls++;
|
#define TB(x,y) if ((x) == prevlock || (y)==prevlock) stalls++;
|
||||||
|
|
||||||
#ifdef __GO32__
|
#if defined(__GO32__) || defined(WIN32)
|
||||||
int sim_memory_size = 19;
|
int sim_memory_size = 19;
|
||||||
#else
|
#else
|
||||||
int sim_memory_size = 24;
|
int sim_memory_size = 24;
|
||||||
|
@ -467,7 +476,7 @@ trap (i, regs, memory, maskl, maskw, little_endian)
|
||||||
switch (regs[4])
|
switch (regs[4])
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifndef __GO32__
|
#if !defined(__GO32__) && !defined(WIN32)
|
||||||
|
|
||||||
case SYS_fork:
|
case SYS_fork:
|
||||||
regs[0] = fork ();
|
regs[0] = fork ();
|
||||||
|
@ -758,8 +767,11 @@ macw (regs, memory, n, m)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
long mach;
|
||||||
/* Add to MACH the sign extended product, and carry from low sum. */
|
/* 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;
|
MACL = sum;
|
||||||
}
|
}
|
||||||
|
@ -796,7 +808,7 @@ sim_size (power)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
extern int target_byte_order;
|
int target_byte_order;
|
||||||
|
|
||||||
static void
|
static void
|
||||||
set_static_little_endian(x)
|
set_static_little_endian(x)
|
||||||
|
@ -885,7 +897,7 @@ sim_resume (step, siggnal)
|
||||||
register int prevlock;
|
register int prevlock;
|
||||||
register int thislock;
|
register int thislock;
|
||||||
register unsigned int doprofile;
|
register unsigned int doprofile;
|
||||||
#ifdef __GO32__
|
#if defined(__GO32__) || defined(WIN32)
|
||||||
register int pollcount = 0;
|
register int pollcount = 0;
|
||||||
#endif
|
#endif
|
||||||
register int little_endian = target_byte_order == 1234;
|
register int little_endian = target_byte_order == 1234;
|
||||||
|
@ -961,6 +973,17 @@ sim_resume (step, siggnal)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
#if defined (WIN32)
|
||||||
|
pollcount++;
|
||||||
|
if (pollcount > 1000)
|
||||||
|
{
|
||||||
|
pollcount = 0;
|
||||||
|
if (win32pollquit())
|
||||||
|
{
|
||||||
|
control_c();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef ACE_FAST
|
#ifndef ACE_FAST
|
||||||
prevlock = thislock;
|
prevlock = thislock;
|
||||||
|
@ -989,8 +1012,7 @@ sim_resume (step, siggnal)
|
||||||
while (!saved_state.asregs.exception);
|
while (!saved_state.asregs.exception);
|
||||||
|
|
||||||
if (saved_state.asregs.exception == SIGILL
|
if (saved_state.asregs.exception == SIGILL
|
||||||
|| saved_state.asregs.exception == SIGBUS
|
|| saved_state.asregs.exception == SIGBUS)
|
||||||
|| (saved_state.asregs.exception == SIGTRAP && !step))
|
|
||||||
{
|
{
|
||||||
pc -= 2;
|
pc -= 2;
|
||||||
}
|
}
|
||||||
|
@ -1163,3 +1185,4 @@ sim_kill ()
|
||||||
{
|
{
|
||||||
/* nothing to do */
|
/* nothing to do */
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue