19c93ae13SMarkus Armbruster #ifndef AARCH64_TARGET_SIGNAL_H
29c93ae13SMarkus Armbruster #define AARCH64_TARGET_SIGNAL_H
31744aea1SAndreas Schwab 
41744aea1SAndreas Schwab /* this struct defines a stack used during syscall handling */
51744aea1SAndreas Schwab 
61744aea1SAndreas Schwab typedef struct target_sigaltstack {
71744aea1SAndreas Schwab     abi_ulong ss_sp;
81744aea1SAndreas Schwab     abi_int ss_flags;
91744aea1SAndreas Schwab     abi_ulong ss_size;
101744aea1SAndreas Schwab } target_stack_t;
111744aea1SAndreas Schwab 
121744aea1SAndreas Schwab 
131744aea1SAndreas Schwab /*
141744aea1SAndreas Schwab  * sigaltstack controls
151744aea1SAndreas Schwab  */
161744aea1SAndreas Schwab #define TARGET_SS_ONSTACK 1
171744aea1SAndreas Schwab #define TARGET_SS_DISABLE 2
181744aea1SAndreas Schwab 
191744aea1SAndreas Schwab #define TARGET_MINSIGSTKSZ 2048
201744aea1SAndreas Schwab #define TARGET_SIGSTKSZ 8192
211744aea1SAndreas Schwab 
22e5171a9eSLaurent Vivier #include "../generic/signal.h"
23e5171a9eSLaurent Vivier 
245d70c351SRichard Henderson #define TARGET_SEGV_MTEAERR  8  /* Asynchronous ARM MTE error */
2561dbe037SRichard Henderson #define TARGET_SEGV_MTESERR  9  /* Synchronous ARM MTE exception */
2661dbe037SRichard Henderson 
27cb6ac802SLaurent Vivier #define TARGET_ARCH_HAS_SETUP_FRAME
28*c70887a3SRichard Henderson #define TARGET_ARCH_HAS_SIGTRAMP_PAGE 1
29*c70887a3SRichard Henderson 
309c93ae13SMarkus Armbruster #endif /* AARCH64_TARGET_SIGNAL_H */
31