From e38330f8b00e641e397260e9cecb2070ac2d1477 Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sun, 28 Nov 2021 00:18:18 -0500 Subject: [PATCH] sim: iq2000/lm32/m32c/moxie/rx: switch to new target-newlib-syscall.h Use the new target-newlib-syscall.h to provide the target syscall defines. These code paths are written specifically for the newlib ABI rather than being generalized, so switching them to the defines rather than trying to go through the dynamic callback conversion seems like the best trade-off for now. Might have to reconsider this in the future. --- sim/iq2000/iq2000.c | 16 ++++++++-------- sim/lm32/traps.c | 4 ++-- sim/m32c/syscalls.c | 18 +++++++++--------- sim/moxie/interp.c | 12 ++++++------ sim/rx/syscalls.c | 20 ++++++++++---------- 5 files changed, 35 insertions(+), 35 deletions(-) diff --git a/sim/iq2000/iq2000.c b/sim/iq2000/iq2000.c index 362cc4acb19..88de5ac6f5c 100644 --- a/sim/iq2000/iq2000.c +++ b/sim/iq2000/iq2000.c @@ -27,7 +27,7 @@ #include "sim-signal.h" #include "cgen-mem.h" #include "cgen-ops.h" -#include "targ-vals.h" +#include "target-newlib-syscall.h" #include enum @@ -80,7 +80,7 @@ do_syscall (SIM_CPU *current_cpu, PCADDR pc) exit (1); } - case TARGET_SYS_write: + case TARGET_NEWLIB_SYS_write: buf = zalloc (PARM3); sim_read (CPU_STATE (current_cpu), CPU2DATA(PARM2), buf, PARM3); SET_H_GR (ret_reg, @@ -89,18 +89,18 @@ do_syscall (SIM_CPU *current_cpu, PCADDR pc) free (buf); break; - case TARGET_SYS_lseek: + case TARGET_NEWLIB_SYS_lseek: SET_H_GR (ret_reg, sim_io_lseek (CPU_STATE (current_cpu), PARM1, PARM2, PARM3)); break; - case TARGET_SYS_exit: + case TARGET_NEWLIB_SYS_exit: sim_engine_halt (CPU_STATE (current_cpu), current_cpu, NULL, pc, sim_exited, PARM1); break; - case TARGET_SYS_read: + case TARGET_NEWLIB_SYS_read: buf = zalloc (PARM3); SET_H_GR (ret_reg, sim_io_read (CPU_STATE (current_cpu), @@ -109,7 +109,7 @@ do_syscall (SIM_CPU *current_cpu, PCADDR pc) free (buf); break; - case TARGET_SYS_open: + case TARGET_NEWLIB_SYS_open: buf = fetch_str (current_cpu, pc, PARM1); SET_H_GR (ret_reg, sim_io_open (CPU_STATE (current_cpu), @@ -117,12 +117,12 @@ do_syscall (SIM_CPU *current_cpu, PCADDR pc) free (buf); break; - case TARGET_SYS_close: + case TARGET_NEWLIB_SYS_close: SET_H_GR (ret_reg, sim_io_close (CPU_STATE (current_cpu), PARM1)); break; - case TARGET_SYS_time: + case TARGET_NEWLIB_SYS_time: SET_H_GR (ret_reg, time (0)); break; diff --git a/sim/lm32/traps.c b/sim/lm32/traps.c index 77b4accef4e..87d21910645 100644 --- a/sim/lm32/traps.c +++ b/sim/lm32/traps.c @@ -28,7 +28,7 @@ #include "sim-signal.h" #include "sim-syscall.h" #include "lm32-sim.h" -#include "targ-vals.h" +#include "target-newlib-syscall.h" /* Handle invalid instructions. */ @@ -133,7 +133,7 @@ lm32bf_scall_insn (SIM_CPU * current_cpu, IADDR pc) host_callback *cb = STATE_CALLBACK (sd); if ((STATE_ENVIRONMENT (sd) != OPERATING_ENVIRONMENT) - || (GET_H_GR (8) == TARGET_SYS_exit)) + || (GET_H_GR (8) == TARGET_NEWLIB_SYS_exit)) { /* Delegate system call to host O/S. */ long result, result2; diff --git a/sim/m32c/syscalls.c b/sim/m32c/syscalls.c index e8d9d2e6cc7..e613e514082 100644 --- a/sim/m32c/syscalls.c +++ b/sim/m32c/syscalls.c @@ -32,7 +32,7 @@ along with this program. If not, see . */ #include "cpu.h" #include "mem.h" #include "syscalls.h" -#include "targ-vals.h" +#include "target-newlib-syscall.h" /* The current syscall callbacks we're using. */ static struct host_callback_struct *callbacks; @@ -185,7 +185,7 @@ m32c_syscall (int id) printf ("\033[31m/* SYSCALL(%d) = %s */\033[0m\n", id, callnames[id]); switch (id) { - case TARGET_SYS_exit: + case TARGET_NEWLIB_SYS_exit: { int ec = arg (2); if (verbose) @@ -194,7 +194,7 @@ m32c_syscall (int id) } break; - case TARGET_SYS_open: + case TARGET_NEWLIB_SYS_open: { int path = arg (PTRSZ); int oflags = arg (2); @@ -229,7 +229,7 @@ m32c_syscall (int id) } break; - case TARGET_SYS_close: + case TARGET_NEWLIB_SYS_close: { int fd = arg (2); @@ -245,7 +245,7 @@ m32c_syscall (int id) } break; - case TARGET_SYS_read: + case TARGET_NEWLIB_SYS_read: { int fd = arg (2); int addr = arg (PTRSZ); @@ -265,7 +265,7 @@ m32c_syscall (int id) } break; - case TARGET_SYS_write: + case TARGET_NEWLIB_SYS_write: { int fd = arg (2); int addr = arg (PTRSZ); @@ -288,11 +288,11 @@ m32c_syscall (int id) } break; - case TARGET_SYS_getpid: + case TARGET_NEWLIB_SYS_getpid: put_reg (r0, 42); break; - case TARGET_SYS_gettimeofday: + case TARGET_NEWLIB_SYS_gettimeofday: { int tvaddr = arg (PTRSZ); struct timeval tv; @@ -307,7 +307,7 @@ m32c_syscall (int id) } break; - case TARGET_SYS_kill: + case TARGET_NEWLIB_SYS_kill: { int pid = arg (2); int sig = arg (2); diff --git a/sim/moxie/interp.c b/sim/moxie/interp.c index 3aa6a3b10e0..228e23ce803 100644 --- a/sim/moxie/interp.c +++ b/sim/moxie/interp.c @@ -35,7 +35,7 @@ along with this program. If not, see . */ #include "sim-options.h" #include "sim-io.h" #include "sim-signal.h" -#include "targ-vals.h" +#include "target-newlib-syscall.h" typedef int word; typedef unsigned int uword; @@ -935,13 +935,13 @@ sim_engine_run (SIM_DESC sd, cpu.asregs.sregs[3] = inum; switch (inum) { - case TARGET_SYS_exit: + case TARGET_NEWLIB_SYS_exit: { sim_engine_halt (sd, scpu, NULL, pc, sim_exited, cpu.asregs.regs[2]); break; } - case TARGET_SYS_open: + case TARGET_NEWLIB_SYS_open: { char fname[1024]; int mode = (int) convert_target_flags ((unsigned) cpu.asregs.regs[3]); @@ -954,7 +954,7 @@ sim_engine_run (SIM_DESC sd, cpu.asregs.regs[2] = fd; break; } - case TARGET_SYS_read: + case TARGET_NEWLIB_SYS_read: { int fd = cpu.asregs.regs[2]; unsigned len = (unsigned) cpu.asregs.regs[4]; @@ -965,7 +965,7 @@ sim_engine_run (SIM_DESC sd, free (buf); break; } - case TARGET_SYS_write: + case TARGET_NEWLIB_SYS_write: { char *str; /* String length is at 0x12($fp) */ @@ -978,7 +978,7 @@ sim_engine_run (SIM_DESC sd, cpu.asregs.regs[2] = count; break; } - case TARGET_SYS_unlink: + case TARGET_NEWLIB_SYS_unlink: { char fname[1024]; int fd; diff --git a/sim/rx/syscalls.c b/sim/rx/syscalls.c index 1981b5d3c3e..a18c1047afa 100644 --- a/sim/rx/syscalls.c +++ b/sim/rx/syscalls.c @@ -32,7 +32,7 @@ along with this program. If not, see . */ #include "cpu.h" #include "mem.h" #include "syscalls.h" -#include "targ-vals.h" +#include "target-newlib-syscall.h" /* The current syscall callbacks we're using. */ static struct host_callback_struct *callbacks; @@ -146,10 +146,10 @@ rx_syscall (int id) argp = 0; stackp = 4; if (trace) - printf ("\033[31m/* SYSCALL(%d) = %s */\033[0m\n", id, id <= TARGET_SYS_link ? callnames[id] : "unknown"); + printf ("\033[31m/* SYSCALL(%d) = %s */\033[0m\n", id, id <= TARGET_NEWLIB_SYS_link ? callnames[id] : "unknown"); switch (id) { - case TARGET_SYS_exit: + case TARGET_NEWLIB_SYS_exit: { int ec = arg (); if (verbose) @@ -158,7 +158,7 @@ rx_syscall (int id) } break; - case TARGET_SYS_open: + case TARGET_NEWLIB_SYS_open: { int oflags, cflags; int path = arg (); @@ -200,7 +200,7 @@ rx_syscall (int id) } break; - case TARGET_SYS_close: + case TARGET_NEWLIB_SYS_close: { int fd = arg (); @@ -216,7 +216,7 @@ rx_syscall (int id) } break; - case TARGET_SYS_read: + case TARGET_NEWLIB_SYS_read: { int fd = arg (); int addr = arg (); @@ -236,7 +236,7 @@ rx_syscall (int id) } break; - case TARGET_SYS_write: + case TARGET_NEWLIB_SYS_write: { int fd = arg (); int addr = arg (); @@ -259,11 +259,11 @@ rx_syscall (int id) } break; - case TARGET_SYS_getpid: + case TARGET_NEWLIB_SYS_getpid: put_reg (1, 42); break; - case TARGET_SYS_gettimeofday: + case TARGET_NEWLIB_SYS_gettimeofday: { int tvaddr = arg (); struct timeval tv; @@ -278,7 +278,7 @@ rx_syscall (int id) } break; - case TARGET_SYS_kill: + case TARGET_NEWLIB_SYS_kill: { int pid = arg (); int sig = arg (); -- 2.30.2