From a6cbaa652ac8d41b5c9e0aac485c344f2e4a4f6e Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Tue, 30 Jun 1998 17:28:54 +0000 Subject: [PATCH] * mn10300_sim.h: Include bfd.h (struct state): Add more room for processor specific registers. start-sanitize-am33 (REG_E0): Define. end-sanitize-am33 --- sim/mn10300/.Sanitize | 28 ++++++++++++++++++++++++++++ sim/mn10300/ChangeLog | 8 ++++++++ sim/mn10300/mn10300_sim.h | 31 +++++++++++++++++++++---------- 3 files changed, 57 insertions(+), 10 deletions(-) diff --git a/sim/mn10300/.Sanitize b/sim/mn10300/.Sanitize index 4e4c763f83b..f5ed6787448 100644 --- a/sim/mn10300/.Sanitize +++ b/sim/mn10300/.Sanitize @@ -78,4 +78,32 @@ else done fi +am33_files="ChangeLog mn10300_sim.h" +if ( echo $* | grep keep\-am33 > /dev/null ) ; then + for i in $am33_files ; do + if test ! -d $i && (grep sanitize-am33 $i > /dev/null) ; then + if [ -n "${verbose}" ] ; then + echo Keeping am33 stuff in $i + fi + fi + done +else + for i in $am33_files ; do + if test ! -d $i && (grep sanitize-am33 $i > /dev/null) ; then + if [ -n "${verbose}" ] ; then + echo Removing traces of \"am33\" from $i... + fi + cp $i new + sed '/start\-sanitize\-am33/,/end-\sanitize\-am33/d' < $i > new + if [ -n "${safe}" -a ! -f .Recover/$i ] ; then + if [ -n "${verbose}" ] ; then + echo Caching $i in .Recover... + fi + mv $i .Recover + fi + mv new $i + fi + done +fi + # End of file. diff --git a/sim/mn10300/ChangeLog b/sim/mn10300/ChangeLog index dfd1d19e19f..17c3b5d7e7d 100644 --- a/sim/mn10300/ChangeLog +++ b/sim/mn10300/ChangeLog @@ -1,3 +1,11 @@ +Tue Jun 30 11:23:20 1998 Jeffrey A Law (law@cygnus.com) + + * mn10300_sim.h: Include bfd.h + (struct state): Add more room for processor specific registers. +start-sanitize-am33 + (REG_E0): Define. +end-sanitize-am33 + start-sanitize-am30 Thu Jun 25 10:12:03 1998 Joyce Janczyn diff --git a/sim/mn10300/mn10300_sim.h b/sim/mn10300/mn10300_sim.h index 7be5a7d0166..230a69c6378 100644 --- a/sim/mn10300/mn10300_sim.h +++ b/sim/mn10300/mn10300_sim.h @@ -5,6 +5,7 @@ #include "opcode/mn10300.h" #include #include "remote-sim.h" +#include "bfd.h" #ifndef INLINE #ifdef __GNUC__ @@ -69,8 +70,9 @@ struct simops struct _state { - reg_t regs[15]; /* registers, d0-d3, a0-a3, sp, pc, mdr, psw, - lir, lar, mdrq */ + reg_t regs[32]; /* registers, d0-d3, a0-a3, sp, pc, mdr, psw, + lir, lar, mdrq, plus some room for processor + specific regs. */ uint8 *mem; /* main memory */ int exception; int exited; @@ -79,13 +81,19 @@ struct _state extern uint32 OP[4]; extern struct simops Simops[]; -#define PC (State.regs[9]) +#define PC (State.regs[REG_PC]) +#define SP (State.regs[REG_SP]) #define PSW (State.regs[11]) #define PSW_Z 0x1 #define PSW_N 0x2 #define PSW_C 0x4 #define PSW_V 0x8 +#define PSW_IE LSBIT (11) +#define PSW_LM LSMASK (10, 8) + +#define EXTRACT_PSW_LM LSEXTRACTED16 (PSW, 10, 8) +#define INSERT_PSW_LM(l) LSINSERTED16 ((l), 10, 8) #define REG_D0 0 #define REG_A0 4 @@ -96,6 +104,9 @@ extern struct simops Simops[]; #define REG_LIR 12 #define REG_LAR 13 #define REG_MDRQ 14 +/* start-sanitize-am33 */ +#define REG_E0 15 +/* end-sanitize-am33 */ #if WITH_COMMON /* These definitions conflict with similar macros in common. */ @@ -337,10 +348,10 @@ void put_byte PARAMS ((uint8 *, uint8)); extern uint8 *map PARAMS ((SIM_ADDR addr)); -void genericAdd PARAMS ((unsigned long source, unsigned long destReg)); -void genericSub PARAMS ((unsigned long source, unsigned long destReg)); -void genericCmp PARAMS ((unsigned long leftOpnd, unsigned long rightOpnd)); -void genericOr PARAMS ((unsigned long source, unsigned long destReg)); -void genericXor PARAMS ((unsigned long source, unsigned long destReg)); -void genericBtst PARAMS ((unsigned long leftOpnd, unsigned long rightOpnd)); -void do_syscall PARAMS ((void)); +INLINE_SIM_MAIN (void) genericAdd PARAMS ((unsigned long source, unsigned long destReg)); +INLINE_SIM_MAIN (void) genericSub PARAMS ((unsigned long source, unsigned long destReg)); +INLINE_SIM_MAIN (void) genericCmp PARAMS ((unsigned long leftOpnd, unsigned long rightOpnd)); +INLINE_SIM_MAIN (void) genericOr PARAMS ((unsigned long source, unsigned long destReg)); +INLINE_SIM_MAIN (void) genericXor PARAMS ((unsigned long source, unsigned long destReg)); +INLINE_SIM_MAIN (void) genericBtst PARAMS ((unsigned long leftOpnd, unsigned long rightOpnd)); +INLINE_SIM_MAIN (void) do_syscall PARAMS ((void)); -- 2.30.2