
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, write to the Free Software 18: * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19: */ 20: 21: /* XXX: ABSOLUTELY BUGGY: 22: * for now, this is quite just a cut-and-paste from i386 target... 23: */ 24: 25: /* default linux values for the selectors */ 26: #define __USER_DS (1) 27: 28: struct target_pt_regs { 29: abi_ulong gpr[32]; 30: abi_ulong nip; 31: abi_ulong msr; 32: abi_ulong orig_gpr3; /* Used for restarting system calls */ 33: abi_ulong ctr; 34: abi_ulong link; 35: abi_ulong xer; 36: abi_ulong ccr; 37: #if defined(TARGET_PPC64) && !defined(TARGET_ABI32) 38: abi_ulong softe; 39: #else 40: abi_ulong mq; /* 601 only (not used at present) */ 41: #endif 42: /* Used on APUS to hold IPL value. */ 43: abi_ulong trap; /* Reason for being here */ 44: abi_ulong dar; /* Fault registers */ 45: abi_ulong dsisr; 46: abi_ulong result; /* Result of a system call */ 47: }; 48: 49: /* ioctls */ 50: struct target_revectored_struct { 51: abi_ulong __map[8]; /* 256 bits */ 52: }; 53: 54: /* 55: * flags masks 56: */ 57: 58: #if defined(TARGET_PPC64) && !defined(TARGET_ABI32) 59: #define UNAME_MACHINE "ppc64" 60: #else 61: #define UNAME_MACHINE "ppc" 62: #endif