2005-04-16 22:20:36 +00:00
|
|
|
/*
|
|
|
|
* This file contains the system call numbers.
|
2005-10-10 12:56:11 +00:00
|
|
|
*
|
|
|
|
* 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.
|
2005-04-16 22:20:36 +00:00
|
|
|
*/
|
2012-10-09 08:47:26 +00:00
|
|
|
#ifndef _ASM_POWERPC_UNISTD_H_
|
|
|
|
#define _ASM_POWERPC_UNISTD_H_
|
2005-10-10 12:56:11 +00:00
|
|
|
|
2012-10-09 08:47:26 +00:00
|
|
|
#include <uapi/asm/unistd.h>
|
2005-04-16 22:20:36 +00:00
|
|
|
|
2006-04-29 00:51:47 +00:00
|
|
|
|
powerpc: Add a proper syscall for switching endianness
We currently have a "special" syscall for switching endianness. This is
syscall number 0x1ebe, which is handled explicitly in the 64-bit syscall
exception entry.
That has a few problems, firstly the syscall number is outside of the
usual range, which confuses various tools. For example strace doesn't
recognise the syscall at all.
Secondly it's handled explicitly as a special case in the syscall
exception entry, which is complicated enough without it.
As a first step toward removing the special syscall, we need to add a
regular syscall that implements the same functionality.
The logic is simple, it simply toggles the MSR_LE bit in the userspace
MSR. This is the same as the special syscall, with the caveat that the
special syscall clobbers fewer registers.
This version clobbers r9-r12, XER, CTR, and CR0-1,5-7.
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2015-03-28 10:35:16 +00:00
|
|
|
#define __NR_syscalls 364
|
2005-04-16 22:20:36 +00:00
|
|
|
|
2005-10-10 12:56:11 +00:00
|
|
|
#define __NR__exit __NR_exit
|
|
|
|
#define NR_syscalls __NR_syscalls
|
|
|
|
|
|
|
|
#ifndef __ASSEMBLY__
|
2005-04-16 22:20:36 +00:00
|
|
|
|
2005-10-10 12:56:11 +00:00
|
|
|
#include <linux/types.h>
|
|
|
|
#include <linux/compiler.h>
|
|
|
|
#include <linux/linkage.h>
|
2005-04-16 22:20:36 +00:00
|
|
|
|
|
|
|
#define __ARCH_WANT_OLD_READDIR
|
|
|
|
#define __ARCH_WANT_STAT64
|
|
|
|
#define __ARCH_WANT_SYS_ALARM
|
|
|
|
#define __ARCH_WANT_SYS_GETHOSTNAME
|
2010-03-10 23:21:18 +00:00
|
|
|
#define __ARCH_WANT_SYS_IPC
|
2005-04-16 22:20:36 +00:00
|
|
|
#define __ARCH_WANT_SYS_PAUSE
|
|
|
|
#define __ARCH_WANT_SYS_SIGNAL
|
|
|
|
#define __ARCH_WANT_SYS_TIME
|
|
|
|
#define __ARCH_WANT_SYS_UTIME
|
|
|
|
#define __ARCH_WANT_SYS_WAITPID
|
|
|
|
#define __ARCH_WANT_SYS_SOCKETCALL
|
|
|
|
#define __ARCH_WANT_SYS_FADVISE64
|
|
|
|
#define __ARCH_WANT_SYS_GETPGRP
|
|
|
|
#define __ARCH_WANT_SYS_LLSEEK
|
|
|
|
#define __ARCH_WANT_SYS_NICE
|
|
|
|
#define __ARCH_WANT_SYS_OLD_GETRLIMIT
|
2010-03-10 23:21:21 +00:00
|
|
|
#define __ARCH_WANT_SYS_OLD_UNAME
|
2005-04-16 22:20:36 +00:00
|
|
|
#define __ARCH_WANT_SYS_OLDUMOUNT
|
|
|
|
#define __ARCH_WANT_SYS_SIGPENDING
|
|
|
|
#define __ARCH_WANT_SYS_SIGPROCMASK
|
2005-10-10 12:56:11 +00:00
|
|
|
#ifdef CONFIG_PPC32
|
|
|
|
#define __ARCH_WANT_OLD_STAT
|
|
|
|
#endif
|
|
|
|
#ifdef CONFIG_PPC64
|
|
|
|
#define __ARCH_WANT_COMPAT_SYS_TIME
|
2006-04-27 13:46:42 +00:00
|
|
|
#define __ARCH_WANT_SYS_NEWFSTATAT
|
2012-09-19 11:01:52 +00:00
|
|
|
#define __ARCH_WANT_COMPAT_SYS_SENDFILE
|
2005-10-10 12:56:11 +00:00
|
|
|
#endif
|
2012-10-27 03:08:25 +00:00
|
|
|
#define __ARCH_WANT_SYS_FORK
|
|
|
|
#define __ARCH_WANT_SYS_VFORK
|
|
|
|
#define __ARCH_WANT_SYS_CLONE
|
2005-04-16 22:20:36 +00:00
|
|
|
|
2005-10-10 12:56:11 +00:00
|
|
|
#endif /* __ASSEMBLY__ */
|
2007-05-10 15:13:04 +00:00
|
|
|
#endif /* _ASM_POWERPC_UNISTD_H_ */
|