Markus Armbruster | 3622634 | 2016-06-29 10:47:26 +0200 | [diff] [blame] | 1 | #ifndef S390X_TARGET_SYSCALL_H |
| 2 | #define S390X_TARGET_SYSCALL_H |
Lluís Vilanova | 460c579 | 2016-02-01 19:38:42 +0100 | [diff] [blame] | 3 | |
Ulrich Hecht | a4c075f | 2009-07-24 16:57:31 +0200 | [diff] [blame] | 4 | /* this typedef defines how a Program Status Word looks like */ |
| 5 | typedef 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 | |
| 17 | struct 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 Henderson | d5a103c | 2012-09-14 19:31:57 -0700 | [diff] [blame] | 22 | unsigned short ilen; |
Ulrich Hecht | a4c075f | 2009-07-24 16:57:31 +0200 | [diff] [blame] | 23 | unsigned short trap; |
| 24 | }; |
| 25 | |
| 26 | #define UNAME_MACHINE "s390x" |
Riku Voipio | cbc14e6 | 2014-02-19 14:50:41 +0200 | [diff] [blame] | 27 | #define UNAME_MINIMUM_RELEASE "2.6.32" |
Peter Maydell | 4ce6243 | 2013-07-16 18:44:57 +0100 | [diff] [blame] | 28 | |
Pavel Zbitskiy | 19a894b | 2014-01-11 13:34:09 +0400 | [diff] [blame] | 29 | #define TARGET_CLONE_BACKWARDS2 |
Tom Musta | 0903c8b | 2014-08-12 13:53:40 -0500 | [diff] [blame] | 30 | #define TARGET_MINSIGSTKSZ 2048 |
Tom Musta | 6f6a403 | 2014-08-12 13:53:42 -0500 | [diff] [blame] | 31 | #define TARGET_MLOCKALL_MCL_CURRENT 1 |
| 32 | #define TARGET_MLOCKALL_MCL_FUTURE 2 |
Lluís Vilanova | 460c579 | 2016-02-01 19:38:42 +0100 | [diff] [blame] | 33 | |
Markus Armbruster | 3622634 | 2016-06-29 10:47:26 +0200 | [diff] [blame] | 34 | #endif /* S390X_TARGET_SYSCALL_H */ |