bsd-user/mips*: Remove mips support
FreeBSD is dropping support for mips starting with FreeBSD 14. mips support has been removed from the bsd-user fork because updating it for new signal requirements will take too much time. Remove it here since it is a distraction. Signed-off-by: Warner Losh <imp@bsdimp.com> Acked-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
parent
7d4ae4d497
commit
73d72229fc
@ -1,69 +0,0 @@
|
|||||||
/*
|
|
||||||
* mips sysarch() system call emulation
|
|
||||||
*
|
|
||||||
* Copyright (c) 2013 Stacey D. Son
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef BSD_USER_ARCH_SYSARCH_H_
|
|
||||||
#define BSD_USER_ARCH_SYSARCH_H_
|
|
||||||
|
|
||||||
#include "target_syscall.h"
|
|
||||||
#include "target_arch.h"
|
|
||||||
|
|
||||||
static inline abi_long do_freebsd_arch_sysarch(CPUMIPSState *env, int op,
|
|
||||||
abi_ulong parms)
|
|
||||||
{
|
|
||||||
int ret = 0;
|
|
||||||
|
|
||||||
switch (op) {
|
|
||||||
case TARGET_MIPS_SET_TLS:
|
|
||||||
target_cpu_set_tls(env, parms);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case TARGET_MIPS_GET_TLS:
|
|
||||||
if (put_user(target_cpu_get_tls(env), parms, abi_ulong)) {
|
|
||||||
ret = -TARGET_EFAULT;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
ret = -TARGET_EINVAL;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void do_freebsd_arch_print_sysarch(
|
|
||||||
const struct syscallname *name, abi_long arg1, abi_long arg2,
|
|
||||||
abi_long arg3, abi_long arg4, abi_long arg5, abi_long arg6)
|
|
||||||
{
|
|
||||||
|
|
||||||
switch (arg1) {
|
|
||||||
case TARGET_MIPS_SET_TLS:
|
|
||||||
gemu_log("%s(SET_TLS, 0x" TARGET_ABI_FMT_lx ")", name->name, arg2);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case TARGET_MIPS_GET_TLS:
|
|
||||||
gemu_log("%s(GET_TLS, 0x" TARGET_ABI_FMT_lx ")", name->name, arg2);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
gemu_log("UNKNOWN OP: %d, " TARGET_ABI_FMT_lx ")", (int)arg1, arg2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /*!BSD_USER_ARCH_SYSARCH_H_ */
|
|
@ -1,52 +0,0 @@
|
|||||||
/*
|
|
||||||
* mips system call definitions
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
#ifndef _MIPS_SYSCALL_H_
|
|
||||||
#define _MIPS_SYSCALL_H_
|
|
||||||
|
|
||||||
/*
|
|
||||||
* struct target_pt_regs defines the way the registers are stored on the stack
|
|
||||||
* during a system call.
|
|
||||||
*/
|
|
||||||
|
|
||||||
struct target_pt_regs {
|
|
||||||
/* Saved main processor registers. */
|
|
||||||
abi_ulong regs[32];
|
|
||||||
|
|
||||||
/* Saved special registers. */
|
|
||||||
abi_ulong cp0_status;
|
|
||||||
abi_ulong lo;
|
|
||||||
abi_ulong hi;
|
|
||||||
abi_ulong cp0_badvaddr;
|
|
||||||
abi_ulong cp0_cause;
|
|
||||||
abi_ulong cp0_epc;
|
|
||||||
};
|
|
||||||
|
|
||||||
#if defined(TARGET_WORDS_BIGENDIAN)
|
|
||||||
#define UNAME_MACHINE "mips"
|
|
||||||
#else
|
|
||||||
#define UNAME_MACHINE "mipsel"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define TARGET_HW_MACHINE "mips"
|
|
||||||
#define TARGET_HW_MACHINE_ARCH UNAME_MACHINE
|
|
||||||
|
|
||||||
/* sysarch() commands */
|
|
||||||
#define TARGET_MIPS_SET_TLS 1
|
|
||||||
#define TARGET_MIPS_GET_TLS 2
|
|
||||||
|
|
||||||
#endif /* !_MIPS_SYSCALL_H_ */
|
|
@ -1,69 +0,0 @@
|
|||||||
/*
|
|
||||||
* mips64 sysarch() system call emulation
|
|
||||||
*
|
|
||||||
* Copyright (c) 2013 Stacey D. Son
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef BSD_USER_ARCH_SYSARCH_H_
|
|
||||||
#define BSD_USER_ARCH_SYSARCH_H_
|
|
||||||
|
|
||||||
#include "target_syscall.h"
|
|
||||||
#include "target_arch.h"
|
|
||||||
|
|
||||||
static inline abi_long do_freebsd_arch_sysarch(CPUMIPSState *env, int op,
|
|
||||||
abi_ulong parms)
|
|
||||||
{
|
|
||||||
int ret = 0;
|
|
||||||
|
|
||||||
switch (op) {
|
|
||||||
case TARGET_MIPS_SET_TLS:
|
|
||||||
target_cpu_set_tls(env, parms);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case TARGET_MIPS_GET_TLS:
|
|
||||||
if (put_user(target_cpu_get_tls(env), parms, abi_ulong)) {
|
|
||||||
ret = -TARGET_EFAULT;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
ret = -TARGET_EINVAL;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void do_freebsd_arch_print_sysarch(
|
|
||||||
const struct syscallname *name, abi_long arg1, abi_long arg2,
|
|
||||||
abi_long arg3, abi_long arg4, abi_long arg5, abi_long arg6)
|
|
||||||
{
|
|
||||||
|
|
||||||
switch (arg1) {
|
|
||||||
case TARGET_MIPS_SET_TLS:
|
|
||||||
gemu_log("%s(SET_TLS, 0x" TARGET_ABI_FMT_lx ")", name->name, arg2);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case TARGET_MIPS_GET_TLS:
|
|
||||||
gemu_log("%s(GET_TLS, 0x" TARGET_ABI_FMT_lx ")", name->name, arg2);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
gemu_log("UNKNOWN OP: %d, " TARGET_ABI_FMT_lx ")", (int)arg1, arg2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /*!BSD_USER_ARCH_SYSARCH_H_ */
|
|
@ -1,53 +0,0 @@
|
|||||||
/*
|
|
||||||
* mips64 system call definitions
|
|
||||||
*
|
|
||||||
*
|
|
||||||
* This program is free software; you can redistribute it and/or modify
|
|
||||||
* it under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* This program is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
#ifndef _MIPS64_SYSCALL_H_
|
|
||||||
#define _MIPS64_SYSCALL_H_
|
|
||||||
|
|
||||||
/*
|
|
||||||
* struct target_pt_regs defines the way the registers are stored on the stack
|
|
||||||
* during a system call.
|
|
||||||
*/
|
|
||||||
|
|
||||||
struct target_pt_regs {
|
|
||||||
/* Saved main processor registers. */
|
|
||||||
abi_ulong regs[32];
|
|
||||||
|
|
||||||
/* Saved special registers. */
|
|
||||||
abi_ulong cp0_status;
|
|
||||||
abi_ulong lo;
|
|
||||||
abi_ulong hi;
|
|
||||||
abi_ulong cp0_badvaddr;
|
|
||||||
abi_ulong cp0_cause;
|
|
||||||
abi_ulong cp0_epc;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
#if defined(TARGET_WORDS_BIGENDIAN)
|
|
||||||
#define UNAME_MACHINE "mips64"
|
|
||||||
#else
|
|
||||||
#define UNAME_MACHINE "mips64el"
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#define TARGET_HW_MACHINE "mips"
|
|
||||||
#define TARGET_HW_MACHINE_ARCH UNAME_MACHINE
|
|
||||||
|
|
||||||
/* sysarch() commands */
|
|
||||||
#define TARGET_MIPS_SET_TLS 1
|
|
||||||
#define TARGET_MIPS_GET_TLS 2
|
|
||||||
|
|
||||||
#endif /* !_MIPS64_SYSCALL_H_ */
|
|
Loading…
x
Reference in New Issue
Block a user