diff options
author | Mike Frysinger <vapier@gentoo.org> | 2021-04-18 22:48:31 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2021-04-18 23:03:38 -0400 |
commit | f3d25569f113248ae34ac35e950378a90d332e64 (patch) | |
tree | d405b6cb96cbc4e8824c3adbd88b9500c127d5b1 | |
parent | b7c5246bbfad67b60a820db5e548e665171645ec (diff) | |
download | gdb-f3d25569f113248ae34ac35e950378a90d332e64.zip gdb-f3d25569f113248ae34ac35e950378a90d332e64.tar.gz gdb-f3d25569f113248ae34ac35e950378a90d332e64.tar.bz2 |
sim: moxie: switch syscalls to common nltvals
Rather than hand duplicate the syscall constants, switch to the
common nltvals framework. I made sure the constants have the
same values before & after too :).
-rw-r--r-- | sim/common/ChangeLog | 5 | ||||
-rwxr-xr-x | sim/common/gennltvals.py | 1 | ||||
-rw-r--r-- | sim/common/nltvals.def | 31 | ||||
-rw-r--r-- | sim/moxie/ChangeLog | 6 | ||||
-rw-r--r-- | sim/moxie/Makefile.in | 3 | ||||
-rw-r--r-- | sim/moxie/interp.c | 11 |
6 files changed, 52 insertions, 5 deletions
diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog index 20a4257..d62a40d 100644 --- a/sim/common/ChangeLog +++ b/sim/common/ChangeLog @@ -1,5 +1,10 @@ 2021-04-18 Mike Frysinger <vapier@gentoo.org> + * gennltvals.py (TARGETS): Add moxie. + * nltvals.def: Regenerate. + +2021-04-18 Mike Frysinger <vapier@gentoo.org> + * gennltvals.py (TARGET_DIRS, TARGETS): Add sh. * nltvals.def: Regenerate. diff --git a/sim/common/gennltvals.py b/sim/common/gennltvals.py index 5831607..cf23c39 100755 --- a/sim/common/gennltvals.py +++ b/sim/common/gennltvals.py @@ -68,6 +68,7 @@ TARGETS = { 'mcore', 'mn10200', 'mn10300', + 'moxie', 'msp430', 'pru', 'riscv', diff --git a/sim/common/nltvals.def b/sim/common/nltvals.def index 3b890af..27f1b0d 100644 --- a/sim/common/nltvals.def +++ b/sim/common/nltvals.def @@ -546,6 +546,37 @@ /* end mn10300 sys target macros */ #endif #endif +#ifdef NL_TARGET_moxie +#ifdef sys_defs +/* from syscall.h */ +/* begin moxie sys target macros */ + { "SYS_argc", 22 }, + { "SYS_argn", 24 }, + { "SYS_argnlen", 23 }, + { "SYS_argv", 13 }, + { "SYS_argvlen", 12 }, + { "SYS_chdir", 14 }, + { "SYS_chmod", 16 }, + { "SYS_close", 3 }, + { "SYS_exit", 1 }, + { "SYS_fstat", 10 }, + { "SYS_getpid", 8 }, + { "SYS_gettimeofday", 19 }, + { "SYS_kill", 9 }, + { "SYS_link", 21 }, + { "SYS_lseek", 6 }, + { "SYS_open", 2 }, + { "SYS_read", 4 }, + { "SYS_reconfig", 25 }, + { "SYS_stat", 15 }, + { "SYS_time", 18 }, + { "SYS_times", 20 }, + { "SYS_unlink", 7 }, + { "SYS_utime", 17 }, + { "SYS_write", 5 }, +/* end moxie sys target macros */ +#endif +#endif #ifdef NL_TARGET_msp430 #ifdef sys_defs /* from syscall.h */ diff --git a/sim/moxie/ChangeLog b/sim/moxie/ChangeLog index b6e91a2..9621907 100644 --- a/sim/moxie/ChangeLog +++ b/sim/moxie/ChangeLog @@ -1,5 +1,11 @@ 2021-04-18 Mike Frysinger <vapier@gentoo.org> + * Makefile.in (NL_TARGET): Define. + * interp.c: Include targ-vals.h. + (sim_engine_run): Change numeric literals to SYS_ constants. + +2021-04-18 Mike Frysinger <vapier@gentoo.org> + * configure: Regenerate. 2021-04-12 Mike Frysinger <vapier@gentoo.org> diff --git a/sim/moxie/Makefile.in b/sim/moxie/Makefile.in index bd58074..3d96188 100644 --- a/sim/moxie/Makefile.in +++ b/sim/moxie/Makefile.in @@ -15,6 +15,9 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. +# This selects the newlib/libgloss syscall definitions. +NL_TARGET = -DNL_TARGET_moxie + ## COMMON_PRE_CONFIG_FRAG DTC = @DTC@ diff --git a/sim/moxie/interp.c b/sim/moxie/interp.c index 5da13f7..417ff9e 100644 --- a/sim/moxie/interp.c +++ b/sim/moxie/interp.c @@ -33,6 +33,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include "sim-base.h" #include "sim-options.h" #include "sim-io.h" +#include "targ-vals.h" typedef int word; typedef unsigned int uword; @@ -932,13 +933,13 @@ sim_engine_run (SIM_DESC sd, cpu.asregs.sregs[3] = inum; switch (inum) { - case 0x1: /* SYS_exit */ + case TARGET_SYS_exit: { sim_engine_halt (sd, scpu, NULL, pc, sim_exited, cpu.asregs.regs[2]); break; } - case 0x2: /* SYS_open */ + case TARGET_SYS_open: { char fname[1024]; int mode = (int) convert_target_flags ((unsigned) cpu.asregs.regs[3]); @@ -951,7 +952,7 @@ sim_engine_run (SIM_DESC sd, cpu.asregs.regs[2] = fd; break; } - case 0x4: /* SYS_read */ + case TARGET_SYS_read: { int fd = cpu.asregs.regs[2]; unsigned len = (unsigned) cpu.asregs.regs[4]; @@ -962,7 +963,7 @@ sim_engine_run (SIM_DESC sd, free (buf); break; } - case 0x5: /* SYS_write */ + case TARGET_SYS_write: { char *str; /* String length is at 0x12($fp) */ @@ -975,7 +976,7 @@ sim_engine_run (SIM_DESC sd, cpu.asregs.regs[2] = count; break; } - case 0x7: /* SYS_unlink */ + case TARGET_SYS_unlink: { char fname[1024]; int fd; |