aboutsummaryrefslogtreecommitdiff
path: root/linux-user/m68k
diff options
context:
space:
mode:
authorLaurent Vivier <laurent@vivier.eu>2019-05-24 18:20:49 +0200
committerLaurent Vivier <laurent@vivier.eu>2019-06-26 17:14:41 +0200
commitc6d0700f57b2c50229a27e31b9f99056a011215f (patch)
tree4d8c0973d5093a173a0cb7ad72c344dc701c377b /linux-user/m68k
parent808d77bc5f878a666035d478480b8ed229bd49fe (diff)
downloadqemu-c6d0700f57b2c50229a27e31b9f99056a011215f.zip
qemu-c6d0700f57b2c50229a27e31b9f99056a011215f.tar.gz
qemu-c6d0700f57b2c50229a27e31b9f99056a011215f.tar.bz2
linux-user/m68k: remove simulator syscall interface
This interface has been introduced in 2005 with the coldfire implementation (e6e5906b6e ColdFire target.) and looks like to do what the linux-user interface already does with the TRAP exception rather than the ILLEGAL exception. This interface has not been maintained since that. The semi-hosting interface is not removed so coldfire kernel with semi-hosting is always supported. Signed-off-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20190524162049.806-1-laurent@vivier.eu> Signed-off-by: Laurent Vivier <laurent@vivier.eu>
Diffstat (limited to 'linux-user/m68k')
-rw-r--r--linux-user/m68k/cpu_loop.c17
-rw-r--r--linux-user/m68k/target_syscall.h2
2 files changed, 1 insertions, 18 deletions
diff --git a/linux-user/m68k/cpu_loop.c b/linux-user/m68k/cpu_loop.c
index e8d39d1..c7a500b 100644
--- a/linux-user/m68k/cpu_loop.c
+++ b/linux-user/m68k/cpu_loop.c
@@ -28,7 +28,6 @@ void cpu_loop(CPUM68KState *env)
int trapnr;
unsigned int n;
target_siginfo_t info;
- TaskState *ts = cs->opaque;
for(;;) {
cpu_exec_start(cs);
@@ -37,26 +36,14 @@ void cpu_loop(CPUM68KState *env)
process_queued_cpu_work(cs);
switch(trapnr) {
- case EXCP_ILLEGAL:
- {
- if (ts->sim_syscalls) {
- uint16_t nr;
- get_user_u16(nr, env->pc + 2);
- env->pc += 4;
- do_m68k_simcall(env, nr);
- } else {
- goto do_sigill;
- }
- }
- break;
case EXCP_HALT_INSN:
/* Semihosing syscall. */
env->pc += 4;
do_m68k_semihosting(env, env->dregs[0]);
break;
+ case EXCP_ILLEGAL:
case EXCP_LINEA:
case EXCP_LINEF:
- do_sigill:
info.si_signo = TARGET_SIGILL;
info.si_errno = 0;
info.si_code = TARGET_ILL_ILLOPN;
@@ -80,7 +67,6 @@ void cpu_loop(CPUM68KState *env)
case EXCP_TRAP0:
{
abi_long ret;
- ts->sim_syscalls = 0;
n = env->dregs[0];
env->pc += 2;
ret = do_syscall(env,
@@ -154,7 +140,6 @@ void target_cpu_copy_regs(CPUArchState *env, struct target_pt_regs *regs)
env->aregs[7] = regs->usp;
env->sr = regs->sr;
- ts->sim_syscalls = 1;
ts->stack_base = info->start_stack;
ts->heap_base = info->brk;
/* This will be filled in on the first SYS_HEAPINFO call. */
diff --git a/linux-user/m68k/target_syscall.h b/linux-user/m68k/target_syscall.h
index 632ee4f..c0366b1 100644
--- a/linux-user/m68k/target_syscall.h
+++ b/linux-user/m68k/target_syscall.h
@@ -26,6 +26,4 @@ struct target_pt_regs {
#define TARGET_WANT_OLD_SYS_SELECT
-void do_m68k_simcall(CPUM68KState *, int);
-
#endif /* M68K_TARGET_SYSCALL_H */