blob: 35cab5946257aa49432b0257d0a38211dc3a2511 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
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 */
|