Some of them use guard symbol TARGET_SYSCALL_H, but we also have CRIS_SYSCALL_H, MICROBLAZE_SYSCALLS_H, TILEGX_SYSCALLS_H and __UC32_SYSCALL_H__. They all upset scripts/clean-header-guards.pl. Reuse of the same guard symbol TARGET_SYSCALL_H in multiple headers is okay as long as they cannot be included together. The script can't tell, so it warns. The script dislikes the other guard symbols, too. They don't match their file name (they should, to make guard collisions less likely), and __UC32_SYSCALL_H__ is a reserved identifier. Clean them all up: use guard symbol $target_TARGET_SYSCALL_H for linux-user/$target/target_sycall.h. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Richard Henderson <rth@twiddle.net>
79 lines
2 KiB
C
79 lines
2 KiB
C
/*
|
|
* 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 PPC_TARGET_SYSCALL_H
|
|
#define PPC_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 */
|
|
};
|
|
|
|
|
|
/*
|
|
* 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 /* PPC_TARGET_SYSCALL_H */
|