blob: 8d4f609eaa5d8698fa03c50cd2458f0fd58f4fce [file] [log] [blame]
Markus Armbruster36226342016-06-29 10:47:26 +02001#ifndef S390X_TARGET_SYSCALL_H
2#define S390X_TARGET_SYSCALL_H
Lluís Vilanova460c5792016-02-01 19:38:42 +01003
Ulrich Hechta4c075f2009-07-24 16:57:31 +02004/* this typedef defines how a Program Status Word looks like */
5typedef struct {
6 abi_ulong mask;
7 abi_ulong addr;
8} __attribute__ ((aligned(8))) target_psw_t;
9
10/*
11 * The pt_regs struct defines the way the registers are stored on
12 * the stack during a system call.
13 */
14
15#define TARGET_NUM_GPRS 16
16
17struct target_pt_regs {
18 abi_ulong args[1];
19 target_psw_t psw;
20 abi_ulong gprs[TARGET_NUM_GPRS];
21 abi_ulong orig_gpr2;
Richard Hendersond5a103c2012-09-14 19:31:57 -070022 unsigned short ilen;
Ulrich Hechta4c075f2009-07-24 16:57:31 +020023 unsigned short trap;
24};
25
26#define UNAME_MACHINE "s390x"
Riku Voipiocbc14e62014-02-19 14:50:41 +020027#define UNAME_MINIMUM_RELEASE "2.6.32"
Peter Maydell4ce62432013-07-16 18:44:57 +010028
Pavel Zbitskiy19a894b2014-01-11 13:34:09 +040029#define TARGET_CLONE_BACKWARDS2
Tom Musta0903c8b2014-08-12 13:53:40 -050030#define TARGET_MINSIGSTKSZ 2048
Tom Musta6f6a4032014-08-12 13:53:42 -050031#define TARGET_MLOCKALL_MCL_CURRENT 1
32#define TARGET_MLOCKALL_MCL_FUTURE 2
Lluís Vilanova460c5792016-02-01 19:38:42 +010033
Markus Armbruster36226342016-06-29 10:47:26 +020034#endif /* S390X_TARGET_SYSCALL_H */