xref: /qemu/linux-user/mips/target_syscall.h (revision 41fb4c14ee500125dc0ce6fb573cf84b8db29ed0)
13622634bSMarkus Armbruster #ifndef MIPS_TARGET_SYSCALL_H
23622634bSMarkus Armbruster #define MIPS_TARGET_SYSCALL_H
3048f6b4dSbellard 
4048f6b4dSbellard /* this struct defines the way the registers are stored on the
5048f6b4dSbellard    stack during a system call. */
6048f6b4dSbellard 
7048f6b4dSbellard struct target_pt_regs {
8048f6b4dSbellard 	/* Pad bytes for argument save space on the stack. */
9992f48a0Sblueswir1 	abi_ulong pad0[6];
10048f6b4dSbellard 
11048f6b4dSbellard 	/* Saved main processor registers. */
12992f48a0Sblueswir1 	abi_ulong regs[32];
13048f6b4dSbellard 
14048f6b4dSbellard 	/* Saved special registers. */
15992f48a0Sblueswir1 	abi_ulong cp0_status;
16992f48a0Sblueswir1 	abi_ulong lo;
17992f48a0Sblueswir1 	abi_ulong hi;
18992f48a0Sblueswir1 	abi_ulong cp0_badvaddr;
19992f48a0Sblueswir1 	abi_ulong cp0_cause;
20992f48a0Sblueswir1 	abi_ulong cp0_epc;
21048f6b4dSbellard };
22048f6b4dSbellard 
23048f6b4dSbellard #define UNAME_MACHINE "mips"
24cbc14e6fSRiku Voipio #define UNAME_MINIMUM_RELEASE "2.6.32"
254ce6243dSPeter Maydell 
264ce6243dSPeter Maydell #define TARGET_CLONE_BACKWARDS
27*02e5d7d7SFilip Bozuta #define TARGET_MCL_CURRENT 1
28*02e5d7d7SFilip Bozuta #define TARGET_MCL_FUTURE  2
29*02e5d7d7SFilip Bozuta #define TARGET_MCL_ONFAULT 4
30460c579fSLluís Vilanova 
31ee8e7614SPeter Maydell #define TARGET_FORCE_SHMLBA
32ee8e7614SPeter Maydell 
target_shmlba(CPUMIPSState * env)33ee8e7614SPeter Maydell static inline abi_ulong target_shmlba(CPUMIPSState *env)
34ee8e7614SPeter Maydell {
35ee8e7614SPeter Maydell     return 0x40000;
36ee8e7614SPeter Maydell }
37ee8e7614SPeter Maydell 
383622634bSMarkus Armbruster #endif /* MIPS_TARGET_SYSCALL_H */
39