1/* 2 * PPC emulation for qemu: syscall definitions. 3 * 4 * Copyright (c) 2003 Jocelyn Mayer 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2 of the License, or (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, see <http://www.gnu.org/licenses/>. 18 */ 19 20#ifndef PPC_TARGET_SYSCALL_H 21#define PPC_TARGET_SYSCALL_H 22 23/* XXX: ABSOLUTELY BUGGY: 24 * for now, this is quite just a cut-and-paste from i386 target... 25 */ 26 27/* default linux values for the selectors */ 28#define __USER_DS (1) 29 30struct target_pt_regs { 31 abi_ulong gpr[32]; 32 abi_ulong nip; 33 abi_ulong msr; 34 abi_ulong orig_gpr3; /* Used for restarting system calls */ 35 abi_ulong ctr; 36 abi_ulong link; 37 abi_ulong xer; 38 abi_ulong ccr; 39#if defined(TARGET_PPC64) && !defined(TARGET_ABI32) 40 abi_ulong softe; 41#else 42 abi_ulong mq; /* 601 only (not used at present) */ 43#endif 44 /* Used on APUS to hold IPL value. */ 45 abi_ulong trap; /* Reason for being here */ 46 abi_ulong dar; /* Fault registers */ 47 abi_ulong dsisr; 48 abi_ulong result; /* Result of a system call */ 49}; 50 51/* ioctls */ 52struct target_revectored_struct { 53 abi_ulong __map[8]; /* 256 bits */ 54}; 55 56 57/* 58 * flags masks 59 */ 60 61#if defined(TARGET_PPC64) && !defined(TARGET_ABI32) 62#ifdef TARGET_WORDS_BIGENDIAN 63#define UNAME_MACHINE "ppc64" 64#else 65#define UNAME_MACHINE "ppc64le" 66#endif 67#else 68#define UNAME_MACHINE "ppc" 69#endif 70#define UNAME_MINIMUM_RELEASE "2.6.32" 71 72#define TARGET_CLONE_BACKWARDS 73 74#define TARGET_MINSIGSTKSZ 2048 75#define TARGET_MLOCKALL_MCL_CURRENT 0x2000 76#define TARGET_MLOCKALL_MCL_FUTURE 0x4000 77#define TARGET_WANT_NI_OLD_SELECT 78 79#endif /* PPC_TARGET_SYSCALL_H */ 80