13622634bSMarkus Armbruster #ifndef ARM_TARGET_SYSCALL_H 23622634bSMarkus Armbruster #define ARM_TARGET_SYSCALL_H 32c0262afSbellard 42c0262afSbellard /* this struct defines the way the registers are stored on the 52c0262afSbellard stack during a system call. */ 62c0262afSbellard 7167e4cdcSPeter Maydell /* uregs[0..15] are r0 to r15; uregs[16] is CPSR; uregs[17] is ORIG_r0 */ 82c0262afSbellard struct target_pt_regs { 9992f48a0Sblueswir1 abi_long uregs[18]; 102c0262afSbellard }; 112c0262afSbellard 122c0262afSbellard #define ARM_SYSCALL_BASE 0x900000 13192c7bd9Sbellard #define ARM_THUMB_SYSCALL 0 146f1f31c0Sbellard 15fbb4a2e3Spbrook #define ARM_NR_BASE 0xf0000 16d5355087SHunter Laux #define ARM_NR_breakpoint (ARM_NR_BASE + 1) 17fbb4a2e3Spbrook #define ARM_NR_cacheflush (ARM_NR_BASE + 2) 18fbb4a2e3Spbrook #define ARM_NR_set_tls (ARM_NR_BASE + 5) 1962aaa514SChristophe Lyon #define ARM_NR_get_tls (ARM_NR_BASE + 6) 20cf720db3Sbellard 21cf720db3Sbellard #if defined(TARGET_WORDS_BIGENDIAN) 2299c475abSbellard #define UNAME_MACHINE "armv5teb" 23cf720db3Sbellard #else 2499c475abSbellard #define UNAME_MACHINE "armv5tel" 25cf720db3Sbellard #endif 26cbc14e6fSRiku Voipio #define UNAME_MINIMUM_RELEASE "2.6.32" 274ce6243dSPeter Maydell 284ce6243dSPeter Maydell #define TARGET_CLONE_BACKWARDS 290903c8beSTom Musta 300903c8beSTom Musta #define TARGET_MINSIGSTKSZ 2048 31*02e5d7d7SFilip Bozuta #define TARGET_MCL_CURRENT 1 32*02e5d7d7SFilip Bozuta #define TARGET_MCL_FUTURE 2 33*02e5d7d7SFilip Bozuta #define TARGET_MCL_ONFAULT 4 34*02e5d7d7SFilip Bozuta 355457dc9eSLaurent Vivier #define TARGET_WANT_OLD_SYS_SELECT 36460c579fSLluís Vilanova 37ee8e7614SPeter Maydell #define TARGET_FORCE_SHMLBA 38ee8e7614SPeter Maydell 39ee8e7614SPeter Maydell static inline abi_ulong target_shmlba(CPUARMState *env) 40ee8e7614SPeter Maydell { 41ee8e7614SPeter Maydell return 4 * 4096; 42ee8e7614SPeter Maydell } 43ee8e7614SPeter Maydell 443622634bSMarkus Armbruster #endif /* ARM_TARGET_SYSCALL_H */ 45