diff options
author | Lluís Vilanova <vilanova@ac.upc.edu> | 2016-02-01 19:38:42 +0100 |
---|---|---|
committer | Riku Voipio <riku.voipio@linaro.org> | 2016-02-23 21:25:09 +0200 |
commit | 460c579f3ddc71bcf34128d4b3d1e1debdd93f73 (patch) | |
tree | 2e06b867f1e5c67b30fce4700b18e7bd50616138 /linux-user/ppc/target_syscall.h | |
parent | 5089c7ce82a49e6a97c5cf3db57a89bca8ed25d8 (diff) |
build: [linux-user] Rename "syscall.h" to "target_syscall.h" in target directories
This fixes double-definitions in linux-user builds when using the UST
tracing backend (which indirectly includes the system's "syscall.h").
Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
Diffstat (limited to 'linux-user/ppc/target_syscall.h')
-rw-r--r-- | linux-user/ppc/target_syscall.h | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/linux-user/ppc/target_syscall.h b/linux-user/ppc/target_syscall.h new file mode 100644 index 0000000000..35cab59462 --- /dev/null +++ b/linux-user/ppc/target_syscall.h @@ -0,0 +1,80 @@ +/* + * PPC emulation for qemu: syscall definitions. + * + * Copyright (c) 2003 Jocelyn Mayer + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef TARGET_SYSCALL_H +#define TARGET_SYSCALL_H + +/* XXX: ABSOLUTELY BUGGY: + * for now, this is quite just a cut-and-paste from i386 target... + */ + +/* default linux values for the selectors */ +#define __USER_DS (1) + +struct target_pt_regs { + abi_ulong gpr[32]; + abi_ulong nip; + abi_ulong msr; + abi_ulong orig_gpr3; /* Used for restarting system calls */ + abi_ulong ctr; + abi_ulong link; + abi_ulong xer; + abi_ulong ccr; +#if defined(TARGET_PPC64) && !defined(TARGET_ABI32) + abi_ulong softe; +#else + abi_ulong mq; /* 601 only (not used at present) */ +#endif + /* Used on APUS to hold IPL value. */ + abi_ulong trap; /* Reason for being here */ + abi_ulong dar; /* Fault registers */ + abi_ulong dsisr; + abi_ulong result; /* Result of a system call */ +}; + +/* ioctls */ +struct target_revectored_struct { + abi_ulong __map[8]; /* 256 bits */ +}; + +/* Nasty hack: define a fake errno value for use by sigreturn. */ +#define TARGET_QEMU_ESIGRETURN 255 + +/* + * flags masks + */ + +#if defined(TARGET_PPC64) && !defined(TARGET_ABI32) +#ifdef TARGET_WORDS_BIGENDIAN +#define UNAME_MACHINE "ppc64" +#else +#define UNAME_MACHINE "ppc64le" +#endif +#else +#define UNAME_MACHINE "ppc" +#endif +#define UNAME_MINIMUM_RELEASE "2.6.32" + +#define TARGET_CLONE_BACKWARDS + +#define TARGET_MINSIGSTKSZ 2048 +#define TARGET_MLOCKALL_MCL_CURRENT 0x2000 +#define TARGET_MLOCKALL_MCL_FUTURE 0x4000 + +#endif /* TARGET_SYSCALL_H */ |