|
|
1.1 root 1: /*
2: * PPC emulation for qemu: syscall definitions.
1.1.1.2 root 3: *
1.1 root 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
1.1.1.4 ! root 17: * License along with this library; if not, see <http://www.gnu.org/licenses/>.
1.1 root 18: */
19:
20: /* XXX: ABSOLUTELY BUGGY:
21: * for now, this is quite just a cut-and-paste from i386 target...
22: */
23:
24: /* default linux values for the selectors */
25: #define __USER_DS (1)
26:
27: struct target_pt_regs {
1.1.1.2 root 28: abi_ulong gpr[32];
29: abi_ulong nip;
30: abi_ulong msr;
31: abi_ulong orig_gpr3; /* Used for restarting system calls */
32: abi_ulong ctr;
33: abi_ulong link;
34: abi_ulong xer;
35: abi_ulong ccr;
36: #if defined(TARGET_PPC64) && !defined(TARGET_ABI32)
37: abi_ulong softe;
38: #else
39: abi_ulong mq; /* 601 only (not used at present) */
40: #endif
1.1 root 41: /* Used on APUS to hold IPL value. */
1.1.1.2 root 42: abi_ulong trap; /* Reason for being here */
43: abi_ulong dar; /* Fault registers */
44: abi_ulong dsisr;
45: abi_ulong result; /* Result of a system call */
1.1 root 46: };
47:
48: /* ioctls */
49: struct target_revectored_struct {
1.1.1.2 root 50: abi_ulong __map[8]; /* 256 bits */
1.1 root 51: };
52:
1.1.1.4 ! root 53: /* Nasty hack: define a fake errno value for use by sigreturn. */
! 54: #define TARGET_QEMU_ESIGRETURN 255
! 55:
1.1 root 56: /*
57: * flags masks
58: */
59:
1.1.1.2 root 60: #if defined(TARGET_PPC64) && !defined(TARGET_ABI32)
61: #define UNAME_MACHINE "ppc64"
62: #else
1.1 root 63: #define UNAME_MACHINE "ppc"
1.1.1.2 root 64: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.