#ifdef HAVE_PRCTL
# include <sys/prctl.h>
-static const struct xlat prctl_options[] = {
-#ifdef PR_MAXPROCS
- XLAT(PR_MAXPROCS),
-#endif
-#ifdef PR_ISBLOCKED
- XLAT(PR_ISBLOCKED),
-#endif
-#ifdef PR_SETSTACKSIZE
- XLAT(PR_SETSTACKSIZE),
-#endif
-#ifdef PR_GETSTACKSIZE
- XLAT(PR_GETSTACKSIZE),
-#endif
-#ifdef PR_MAXPPROCS
- XLAT(PR_MAXPPROCS),
-#endif
-#ifdef PR_UNBLKONEXEC
- XLAT(PR_UNBLKONEXEC),
-#endif
-#ifdef PR_ATOMICSIM
- XLAT(PR_ATOMICSIM),
-#endif
-#ifdef PR_SETEXITSIG
- XLAT(PR_SETEXITSIG),
-#endif
-#ifdef PR_RESIDENT
- XLAT(PR_RESIDENT),
-#endif
-#ifdef PR_ATTACHADDR
- XLAT(PR_ATTACHADDR),
-#endif
-#ifdef PR_DETACHADDR
- XLAT(PR_DETACHADDR),
-#endif
-#ifdef PR_TERMCHILD
- XLAT(PR_TERMCHILD),
-#endif
-#ifdef PR_GETSHMASK
- XLAT(PR_GETSHMASK),
-#endif
-#ifdef PR_GETNSHARE
- XLAT(PR_GETNSHARE),
-#endif
-#ifdef PR_COREPID
- XLAT(PR_COREPID),
-#endif
-#ifdef PR_ATTACHADDRPERM
- XLAT(PR_ATTACHADDRPERM),
-#endif
-#ifdef PR_PTHREADEXIT
- XLAT(PR_PTHREADEXIT),
-#endif
-
-#ifdef PR_SET_PDEATHSIG
- XLAT(PR_SET_PDEATHSIG),
-#endif
-#ifdef PR_GET_PDEATHSIG
- XLAT(PR_GET_PDEATHSIG),
-#endif
-#ifdef PR_GET_DUMPABLE
- XLAT(PR_GET_DUMPABLE),
-#endif
-#ifdef PR_SET_DUMPABLE
- XLAT(PR_SET_DUMPABLE),
-#endif
-#ifdef PR_GET_UNALIGN
- XLAT(PR_GET_UNALIGN),
-#endif
-#ifdef PR_SET_UNALIGN
- XLAT(PR_SET_UNALIGN),
-#endif
-#ifdef PR_GET_KEEPCAPS
- XLAT(PR_GET_KEEPCAPS),
-#endif
-#ifdef PR_SET_KEEPCAPS
- XLAT(PR_SET_KEEPCAPS),
-#endif
-#ifdef PR_GET_FPEMU
- XLAT(PR_GET_FPEMU),
-#endif
-#ifdef PR_SET_FPEMU
- XLAT(PR_SET_FPEMU),
-#endif
-#ifdef PR_GET_FPEXC
- XLAT(PR_GET_FPEXC),
-#endif
-#ifdef PR_SET_FPEXC
- XLAT(PR_SET_FPEXC),
-#endif
-#ifdef PR_GET_TIMING
- XLAT(PR_GET_TIMING),
-#endif
-#ifdef PR_SET_TIMING
- XLAT(PR_SET_TIMING),
-#endif
-#ifdef PR_SET_NAME
- XLAT(PR_SET_NAME),
-#endif
-#ifdef PR_GET_NAME
- XLAT(PR_GET_NAME),
-#endif
-#ifdef PR_GET_ENDIAN
- XLAT(PR_GET_ENDIAN),
-#endif
-#ifdef PR_SET_ENDIAN
- XLAT(PR_SET_ENDIAN),
-#endif
-#ifdef PR_GET_SECCOMP
- XLAT(PR_GET_SECCOMP),
-#endif
-#ifdef PR_SET_SECCOMP
- XLAT(PR_SET_SECCOMP),
-#endif
-#ifdef PR_CAPBSET_READ
- XLAT(PR_CAPBSET_READ),
-#endif
-#ifdef PR_CAPBSET_DROP
- XLAT(PR_CAPBSET_DROP),
-#endif
-#ifdef PR_GET_TSC
- XLAT(PR_GET_TSC),
-#endif
-#ifdef PR_SET_TSC
- XLAT(PR_SET_TSC),
-#endif
-#ifdef PR_GET_SECUREBITS
- XLAT(PR_GET_SECUREBITS),
-#endif
-#ifdef PR_SET_SECUREBITS
- XLAT(PR_SET_SECUREBITS),
-#endif
-#ifdef PR_SET_TIMERSLACK
- XLAT(PR_SET_TIMERSLACK),
-#endif
-#ifdef PR_GET_TIMERSLACK
- XLAT(PR_GET_TIMERSLACK),
-#endif
-#ifdef PR_TASK_PERF_EVENTS_DISABLE
- XLAT(PR_TASK_PERF_EVENTS_DISABLE),
-#endif
-#ifdef PR_TASK_PERF_EVENTS_ENABLE
- XLAT(PR_TASK_PERF_EVENTS_ENABLE),
-#endif
-#ifdef PR_MCE_KILL
- XLAT(PR_MCE_KILL),
-#endif
-#ifdef PR_MCE_KILL_GET
- XLAT(PR_MCE_KILL_GET),
-#endif
-#ifdef PR_SET_MM
- XLAT(PR_SET_MM),
-#endif
-#ifdef PR_SET_PTRACER
- XLAT(PR_SET_PTRACER),
-#endif
-#ifdef PR_SET_CHILD_SUBREAPER
- XLAT(PR_SET_CHILD_SUBREAPER),
-#endif
-#ifdef PR_GET_CHILD_SUBREAPER
- XLAT(PR_GET_CHILD_SUBREAPER),
-#endif
-#ifdef PR_SET_NO_NEW_PRIVS
- XLAT(PR_SET_NO_NEW_PRIVS),
-#endif
-#ifdef PR_GET_NO_NEW_PRIVS
- XLAT(PR_GET_NO_NEW_PRIVS),
-#endif
-#ifdef PR_GET_TID_ADDRESS
- XLAT(PR_GET_TID_ADDRESS),
-#endif
- XLAT_END
-};
+#include "xlat/prctl_options.h"
static const char *
unalignctl_string(unsigned int ctl)
int
sys_prctl(struct tcb *tcp)
{
- int i;
+ unsigned int i;
if (entering(tcp)) {
printxval(prctl_options, tcp->u_arg[0], "PR_???");
sys_sethostname(struct tcb *tcp)
{
if (entering(tcp)) {
- printpathn(tcp, tcp->u_arg[0], tcp->u_arg[1]);
+ printstr(tcp, tcp->u_arg[0], tcp->u_arg[1]);
tprintf(", %lu", tcp->u_arg[1]);
}
return 0;
if (syserror(tcp))
tprintf("%#lx", tcp->u_arg[0]);
else
- printpath(tcp, tcp->u_arg[0]);
+ printstr(tcp, tcp->u_arg[0], -1);
tprintf(", %lu", tcp->u_arg[1]);
}
return 0;
sys_setdomainname(struct tcb *tcp)
{
if (entering(tcp)) {
- printpathn(tcp, tcp->u_arg[0], tcp->u_arg[1]);
+ printstr(tcp, tcp->u_arg[0], tcp->u_arg[1]);
tprintf(", %lu", tcp->u_arg[1]);
}
return 0;
#define CLONE_NEWNET 0x40000000 /* New network namespace */
#define CLONE_IO 0x80000000 /* Clone io context */
-static const struct xlat clone_flags[] = {
- XLAT(CLONE_VM),
- XLAT(CLONE_FS),
- XLAT(CLONE_FILES),
- XLAT(CLONE_SIGHAND),
- XLAT(CLONE_IDLETASK),
- XLAT(CLONE_PTRACE),
- XLAT(CLONE_VFORK),
- XLAT(CLONE_PARENT),
- XLAT(CLONE_THREAD),
- XLAT(CLONE_NEWNS),
- XLAT(CLONE_SYSVSEM),
- XLAT(CLONE_SETTLS),
- XLAT(CLONE_PARENT_SETTID),
- XLAT(CLONE_CHILD_CLEARTID),
- XLAT(CLONE_UNTRACED),
- XLAT(CLONE_CHILD_SETTID),
- XLAT(CLONE_STOPPED),
- XLAT(CLONE_NEWUTS),
- XLAT(CLONE_NEWIPC),
- XLAT(CLONE_NEWUSER),
- XLAT(CLONE_NEWPID),
- XLAT(CLONE_NEWNET),
- XLAT(CLONE_IO),
- XLAT_END
-};
+#include "xlat/clone_flags.h"
#if defined I386 || defined X86_64 || defined X32
-# include <asm/ldt.h>
-# ifdef HAVE_STRUCT_USER_DESC
-# define modify_ldt_ldt_s user_desc
-# endif
-extern void print_ldt_entry();
+extern void print_user_desc(struct tcb *, long);
#endif /* I386 || X86_64 || X32 */
#if defined IA64
if (current_personality == 1)
# endif
{
- struct modify_ldt_ldt_s copy;
- if (umove(tcp, tcp->u_arg[ARG_TLS], ©) != -1) {
- tprintf(", {entry_number:%d, ",
- copy.entry_number);
- if (!verbose(tcp))
- tprints("...}");
- else
- print_ldt_entry(©);
- }
+ tprints(", tls=");
+ print_user_desc(tcp, tcp->u_arg[ARG_TLS]);
}
+# ifndef I386
else
+# endif
#endif /* I386 || X86_64 || X32 */
tprintf(", tls=%#lx", tcp->u_arg[ARG_TLS]);
}
}
int
-sys_unshare(struct tcb *tcp)
+sys_setns(struct tcb *tcp)
{
- if (entering(tcp))
- printflags(clone_flags, tcp->u_arg[0], "CLONE_???");
+ if (entering(tcp)) {
+ printfd(tcp, tcp->u_arg[0]);
+ tprints(", ");
+ printflags(clone_flags, tcp->u_arg[1], "CLONE_???");
+ }
return 0;
}
int
-sys_fork(struct tcb *tcp)
+sys_unshare(struct tcb *tcp)
{
- if (exiting(tcp))
- return RVAL_UDECIMAL;
+ if (entering(tcp))
+ printflags(clone_flags, tcp->u_arg[0], "CLONE_???");
return 0;
}
int
-sys_vfork(struct tcb *tcp)
+sys_fork(struct tcb *tcp)
{
if (exiting(tcp))
return RVAL_UDECIMAL;
char data[sizeof(long)];
} cp;
const char *sep;
- int n = 0;
+ unsigned int n = 0;
unsigned wordsize = current_wordsize;
cp.p64 = 1;
#define __WCLONE 0x80000000
#endif
-static const struct xlat wait4_options[] = {
- XLAT(WNOHANG),
-#ifndef WSTOPPED
- XLAT(WUNTRACED),
-#endif
-#ifdef WEXITED
- XLAT(WEXITED),
-#endif
-#ifdef WTRAPPED
- XLAT(WTRAPPED),
-#endif
-#ifdef WSTOPPED
- XLAT(WSTOPPED),
-#endif
-#ifdef WCONTINUED
- XLAT(WCONTINUED),
-#endif
-#ifdef WNOWAIT
- XLAT(WNOWAIT),
-#endif
-#ifdef __WCLONE
- XLAT(__WCLONE),
-#endif
-#ifdef __WALL
- XLAT(__WALL),
-#endif
-#ifdef __WNOTHREAD
- XLAT(__WNOTHREAD),
-#endif
- XLAT_END
-};
+#include "xlat/wait4_options.h"
#if !defined WCOREFLAG && defined WCOREFLG
# define WCOREFLAG WCOREFLG
}
#endif
-static const struct xlat waitid_types[] = {
- XLAT(P_PID),
-#ifdef P_PPID
- XLAT(P_PPID),
-#endif
- XLAT(P_PGID),
-#ifdef P_SID
- XLAT(P_SID),
-#endif
-#ifdef P_CID
- XLAT(P_CID),
-#endif
-#ifdef P_UID
- XLAT(P_UID),
-#endif
-#ifdef P_GID
- XLAT(P_GID),
-#endif
- XLAT(P_ALL),
-#ifdef P_LWPID
- XLAT(P_LWPID),
-#endif
- XLAT_END
-};
+#include "xlat/waitid_types.h"
int
sys_waitid(struct tcb *tcp)
return 0;
}
-static const struct xlat ptrace_cmds[] = {
- XLAT(PTRACE_TRACEME),
- XLAT(PTRACE_PEEKTEXT),
- XLAT(PTRACE_PEEKDATA),
- XLAT(PTRACE_PEEKUSER),
- XLAT(PTRACE_POKETEXT),
- XLAT(PTRACE_POKEDATA),
- XLAT(PTRACE_POKEUSER),
- XLAT(PTRACE_CONT),
- XLAT(PTRACE_KILL),
- XLAT(PTRACE_SINGLESTEP),
- XLAT(PTRACE_ATTACH),
- XLAT(PTRACE_DETACH),
-#ifdef PTRACE_GETREGS
- XLAT(PTRACE_GETREGS),
-#endif
-#ifdef PTRACE_SETREGS
- XLAT(PTRACE_SETREGS),
-#endif
-#ifdef PTRACE_GETFPREGS
- XLAT(PTRACE_GETFPREGS),
-#endif
-#ifdef PTRACE_SETFPREGS
- XLAT(PTRACE_SETFPREGS),
-#endif
-#ifdef PTRACE_GETFPXREGS
- XLAT(PTRACE_GETFPXREGS),
-#endif
-#ifdef PTRACE_SETFPXREGS
- XLAT(PTRACE_SETFPXREGS),
-#endif
-#ifdef PTRACE_GETVRREGS
- XLAT(PTRACE_GETVRREGS),
-#endif
-#ifdef PTRACE_SETVRREGS
- XLAT(PTRACE_SETVRREGS),
-#endif
-#ifdef PTRACE_SETOPTIONS
- XLAT(PTRACE_SETOPTIONS),
-#endif
-#ifdef PTRACE_GETEVENTMSG
- XLAT(PTRACE_GETEVENTMSG),
-#endif
-#ifdef PTRACE_GETSIGINFO
- XLAT(PTRACE_GETSIGINFO),
-#endif
-#ifdef PTRACE_SETSIGINFO
- XLAT(PTRACE_SETSIGINFO),
-#endif
-#ifdef PTRACE_GETREGSET
- XLAT(PTRACE_GETREGSET),
-#endif
-#ifdef PTRACE_SETREGSET
- XLAT(PTRACE_SETREGSET),
-#endif
-#ifdef PTRACE_SET_SYSCALL
- XLAT(PTRACE_SET_SYSCALL),
-#endif
-#ifdef PTRACE_SEIZE
- XLAT(PTRACE_SEIZE),
-#endif
-#ifdef PTRACE_INTERRUPT
- XLAT(PTRACE_INTERRUPT),
-#endif
-#ifdef PTRACE_LISTEN
- XLAT(PTRACE_LISTEN),
-#endif
- XLAT(PTRACE_SYSCALL),
-
- XLAT_END
-};
-
-#ifdef PTRACE_SETOPTIONS
-static const struct xlat ptrace_setoptions_flags[] = {
-# ifdef PTRACE_O_TRACESYSGOOD
- XLAT(PTRACE_O_TRACESYSGOOD),
-# endif
-# ifdef PTRACE_O_TRACEFORK
- XLAT(PTRACE_O_TRACEFORK),
-# endif
-# ifdef PTRACE_O_TRACEVFORK
- XLAT(PTRACE_O_TRACEVFORK),
-# endif
-# ifdef PTRACE_O_TRACECLONE
- XLAT(PTRACE_O_TRACECLONE),
-# endif
-# ifdef PTRACE_O_TRACEEXEC
- XLAT(PTRACE_O_TRACEEXEC),
-# endif
-# ifdef PTRACE_O_TRACEVFORKDONE
- XLAT(PTRACE_O_TRACEVFORKDONE),
-# endif
-# ifdef PTRACE_O_TRACEEXIT
- XLAT(PTRACE_O_TRACEEXIT),
-# endif
-# ifdef PTRACE_O_TRACESECCOMP
- XLAT(PTRACE_O_TRACESECCOMP),
-# endif
-# ifdef PTRACE_O_EXITKILL
- XLAT(PTRACE_O_EXITKILL),
-# endif
- XLAT_END
-};
-#endif /* PTRACE_SETOPTIONS */
-
-static const struct xlat nt_descriptor_types[] = {
-#ifdef NT_PRSTATUS
- XLAT(NT_PRSTATUS),
-#endif
-#ifdef NT_FPREGSET
- XLAT(NT_FPREGSET),
-#endif
-#ifdef NT_PRPSINFO
- XLAT(NT_PRPSINFO),
-#endif
-#ifdef NT_PRXREG
- XLAT(NT_PRXREG),
-#endif
-#ifdef NT_TASKSTRUCT
- XLAT(NT_TASKSTRUCT),
-#endif
-#ifdef NT_PLATFORM
- XLAT(NT_PLATFORM),
-#endif
-#ifdef NT_AUXV
- XLAT(NT_AUXV),
-#endif
-#ifdef NT_GWINDOWS
- XLAT(NT_GWINDOWS),
-#endif
-#ifdef NT_ASRS
- XLAT(NT_ASRS),
-#endif
-#ifdef NT_PSTATUS
- XLAT(NT_PSTATUS),
-#endif
-#ifdef NT_PSINFO
- XLAT(NT_PSINFO),
-#endif
-#ifdef NT_PRCRED
- XLAT(NT_PRCRED),
-#endif
-#ifdef NT_UTSNAME
- XLAT(NT_UTSNAME),
-#endif
-#ifdef NT_LWPSTATUS
- XLAT(NT_LWPSTATUS),
-#endif
-#ifdef NT_LWPSINFO
- XLAT(NT_LWPSINFO),
-#endif
-#ifdef NT_PRFPXREG
- XLAT(NT_PRFPXREG),
-#endif
-#ifdef NT_PRXFPREG
- XLAT(NT_PRXFPREG),
-#endif
-#ifdef NT_PPC_VMX
- XLAT(NT_PPC_VMX),
-#endif
-#ifdef NT_PPC_SPE
- XLAT(NT_PPC_SPE),
-#endif
-#ifdef NT_PPC_VSX
- XLAT(NT_PPC_VSX),
-#endif
-#ifdef NT_386_TLS
- XLAT(NT_386_TLS),
-#endif
-#ifdef NT_386_IOPERM
- XLAT(NT_386_IOPERM),
-#endif
-#ifdef NT_X86_XSTATE
- XLAT(NT_X86_XSTATE),
-#endif
- XLAT_END
-};
+#include "xlat/ptrace_cmds.h"
+#include "xlat/ptrace_setoptions_flags.h"
+#include "xlat/nt_descriptor_types.h"
#define uoff(member) offsetof(struct user, member)
{ 4*33, "sr" },
#endif
#ifdef XTENSA
+ { REG_A_BASE, "a0" },
+ { REG_A_BASE+1, "a1" },
+ { REG_A_BASE+2, "a2" },
+ { REG_A_BASE+3, "a3" },
+ { REG_A_BASE+4, "a4" },
+ { REG_A_BASE+5, "a5" },
+ { REG_A_BASE+6, "a6" },
+ { REG_A_BASE+7, "a7" },
+ { REG_A_BASE+8, "a8" },
+ { REG_A_BASE+9, "a9" },
+ { REG_A_BASE+10, "a10" },
+ { REG_A_BASE+11, "a11" },
+ { REG_A_BASE+12, "a12" },
+ { REG_A_BASE+13, "a13" },
+ { REG_A_BASE+14, "a14" },
+ { REG_A_BASE+15, "a15" },
+ { REG_PC, "pc" },
{ SYSCALL_NR, "syscall_nr" },
{ REG_AR_BASE, "ar0" },
{ REG_AR_BASE+1, "ar1" },
{ REG_WB, "wb" },
{ REG_WS, "ws" },
{ REG_PS, "ps" },
- { REG_PC, "pc" },
- { REG_A_BASE, "a0" },
- { REG_A_BASE+1, "a1" },
- { REG_A_BASE+2, "a2" },
- { REG_A_BASE+3, "a3" },
- { REG_A_BASE+4, "a4" },
- { REG_A_BASE+5, "a5" },
- { REG_A_BASE+6, "a6" },
- { REG_A_BASE+7, "a7" },
- { REG_A_BASE+8, "a8" },
- { REG_A_BASE+9, "a9" },
- { REG_A_BASE+10, "a10" },
- { REG_A_BASE+11, "a11" },
- { REG_A_BASE+12, "a12" },
- { REG_A_BASE+13, "a13" },
- { REG_A_BASE+14, "a14" },
- { REG_A_BASE+15, "a15" },
#endif
/* Other fields in "struct user" */
sys_ptrace(struct tcb *tcp)
{
const struct xlat *x;
- long addr;
+ unsigned long addr;
if (entering(tcp)) {
printxval(ptrace_cmds, tcp->u_arg[0], "PTRACE_???");
#ifndef FUTEX_CMP_REQUEUE_PI_PRIVATE
# define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | FUTEX_PRIVATE_FLAG)
#endif
-static const struct xlat futexops[] = {
- XLAT(FUTEX_WAIT),
- XLAT(FUTEX_WAKE),
- XLAT(FUTEX_FD),
- XLAT(FUTEX_REQUEUE),
- XLAT(FUTEX_CMP_REQUEUE),
- XLAT(FUTEX_WAKE_OP),
- XLAT(FUTEX_LOCK_PI),
- XLAT(FUTEX_UNLOCK_PI),
- XLAT(FUTEX_TRYLOCK_PI),
- XLAT(FUTEX_WAIT_BITSET),
- XLAT(FUTEX_WAKE_BITSET),
- XLAT(FUTEX_WAIT_REQUEUE_PI),
- XLAT(FUTEX_CMP_REQUEUE_PI),
- XLAT(FUTEX_WAIT_PRIVATE),
- XLAT(FUTEX_WAKE_PRIVATE),
- XLAT(FUTEX_FD|FUTEX_PRIVATE_FLAG),
- XLAT(FUTEX_REQUEUE_PRIVATE),
- XLAT(FUTEX_CMP_REQUEUE_PRIVATE),
- XLAT(FUTEX_WAKE_OP_PRIVATE),
- XLAT(FUTEX_LOCK_PI_PRIVATE),
- XLAT(FUTEX_UNLOCK_PI_PRIVATE),
- XLAT(FUTEX_TRYLOCK_PI_PRIVATE),
- XLAT(FUTEX_WAIT_BITSET_PRIVATE),
- XLAT(FUTEX_WAKE_BITSET_PRIVATE),
- XLAT(FUTEX_WAIT_REQUEUE_PI_PRIVATE),
- XLAT(FUTEX_CMP_REQUEUE_PI_PRIVATE),
- XLAT(FUTEX_WAIT_BITSET|FUTEX_CLOCK_REALTIME),
- XLAT(FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME),
- XLAT(FUTEX_WAIT_REQUEUE_PI|FUTEX_CLOCK_REALTIME),
- XLAT(FUTEX_WAIT_REQUEUE_PI_PRIVATE|FUTEX_CLOCK_REALTIME),
- XLAT_END
-};
+#include "xlat/futexops.h"
#ifndef FUTEX_OP_SET
# define FUTEX_OP_SET 0
# define FUTEX_OP_ADD 1
# define FUTEX_OP_CMP_GT 4
# define FUTEX_OP_CMP_GE 5
#endif
-static const struct xlat futexwakeops[] = {
- XLAT(FUTEX_OP_SET),
- XLAT(FUTEX_OP_ADD),
- XLAT(FUTEX_OP_OR),
- XLAT(FUTEX_OP_ANDN),
- XLAT(FUTEX_OP_XOR),
- XLAT_END
-};
-static const struct xlat futexwakecmps[] = {
- XLAT(FUTEX_OP_CMP_EQ),
- XLAT(FUTEX_OP_CMP_NE),
- XLAT(FUTEX_OP_CMP_LT),
- XLAT(FUTEX_OP_CMP_LE),
- XLAT(FUTEX_OP_CMP_GT),
- XLAT(FUTEX_OP_CMP_GE),
- XLAT_END
-};
+#include "xlat/futexwakeops.h"
+#include "xlat/futexwakecmps.h"
int
sys_futex(struct tcb *tcp)
return 0;
}
-static const struct xlat schedulers[] = {
- XLAT(SCHED_OTHER),
- XLAT(SCHED_RR),
- XLAT(SCHED_FIFO),
- XLAT_END
-};
+#include "xlat/schedulers.h"
int
sys_sched_getscheduler(struct tcb *tcp)
#if defined X86_64 || defined X32
# include <asm/prctl.h>
-static const struct xlat archvals[] = {
- XLAT(ARCH_SET_GS),
- XLAT(ARCH_SET_FS),
- XLAT(ARCH_GET_FS),
- XLAT(ARCH_GET_GS),
- XLAT_END
-};
+#include "xlat/archvals.h"
int
sys_arch_prctl(struct tcb *tcp)