13622634bSMarkus Armbruster #ifndef S390X_TARGET_SYSCALL_H 23622634bSMarkus Armbruster #define S390X_TARGET_SYSCALL_H 3460c579fSLluís Vilanova 4460c579fSLluís Vilanova /* this typedef defines how a Program Status Word looks like */ 5460c579fSLluís Vilanova typedef struct { 6460c579fSLluís Vilanova abi_ulong mask; 7460c579fSLluís Vilanova abi_ulong addr; 8460c579fSLluís Vilanova } __attribute__ ((aligned(8))) target_psw_t; 9460c579fSLluís Vilanova 10460c579fSLluís Vilanova /* 11460c579fSLluís Vilanova * The pt_regs struct defines the way the registers are stored on 12460c579fSLluís Vilanova * the stack during a system call. 13460c579fSLluís Vilanova */ 14460c579fSLluís Vilanova 15460c579fSLluís Vilanova #define TARGET_NUM_GPRS 16 16460c579fSLluís Vilanova 17460c579fSLluís Vilanova struct target_pt_regs { 18460c579fSLluís Vilanova abi_ulong args[1]; 19460c579fSLluís Vilanova target_psw_t psw; 20460c579fSLluís Vilanova abi_ulong gprs[TARGET_NUM_GPRS]; 21460c579fSLluís Vilanova abi_ulong orig_gpr2; 22460c579fSLluís Vilanova unsigned short ilen; 23460c579fSLluís Vilanova unsigned short trap; 24460c579fSLluís Vilanova }; 25460c579fSLluís Vilanova 26460c579fSLluís Vilanova #define UNAME_MACHINE "s390x" 27460c579fSLluís Vilanova #define UNAME_MINIMUM_RELEASE "2.6.32" 28460c579fSLluís Vilanova 29460c579fSLluís Vilanova #define TARGET_CLONE_BACKWARDS2 30*02e5d7d7SFilip Bozuta #define TARGET_MCL_CURRENT 1 31*02e5d7d7SFilip Bozuta #define TARGET_MCL_FUTURE 2 32*02e5d7d7SFilip Bozuta #define TARGET_MCL_ONFAULT 4 33460c579fSLluís Vilanova 343622634bSMarkus Armbruster #endif /* S390X_TARGET_SYSCALL_H */ 35