mirror of
https://github.com/mii443/qemu.git
synced 2025-08-22 23:25:48 +00:00
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>
This commit is contained in:
@ -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. */
|
||||
|
Reference in New Issue
Block a user