summaryrefslogblamecommitdiffstats
path: root/linux-user/sparc/target_signal.h
blob: 467abea49ef08d93f0dc9e59c2c26f1a8b40601a (plain) (tree)
1
2
3
4
5
6
7
8

                             





                                                              


                          
                 










                                     






                              
                                                                  



                                   
                                   
                                  
#ifndef SPARC_TARGET_SIGNAL_H
#define SPARC_TARGET_SIGNAL_H

#include "cpu.h"

/* this struct defines a stack used during syscall handling */

typedef struct target_sigaltstack {
	abi_ulong ss_sp;
	abi_long ss_flags;
	abi_ulong ss_size;
} target_stack_t;


/*
 * sigaltstack controls
 */
#define TARGET_SS_ONSTACK	1
#define TARGET_SS_DISABLE	2

#define TARGET_MINSIGSTKSZ	4096
#define TARGET_SIGSTKSZ		16384

#ifndef UREG_I6
#define UREG_I6        6
#endif
#ifndef UREG_FP
#define UREG_FP        UREG_I6
#endif

static inline abi_ulong get_sp_from_cpustate(CPUSPARCState *state)
{
    return state->regwptr[UREG_FP];
}

#define TARGET_ARCH_HAS_SETUP_FRAME
#endif /* SPARC_TARGET_SIGNAL_H */