allow implementing a_cas_p with pointer-sized ll/sc
[musl] / arch / aarch64 / bits / signal.h
index 95f252f..ef07cc9 100644 (file)
@@ -1,6 +1,11 @@
 #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
  || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 
+#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
+#define MINSIGSTKSZ 6144
+#define SIGSTKSZ 12288
+#endif
+
 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
 typedef unsigned long greg_t;
 typedef unsigned long gregset_t[34];
@@ -17,6 +22,23 @@ typedef struct sigcontext
        unsigned long sp, pc, pstate;
        long double __reserved[256];
 } mcontext_t;
+
+#define FPSIMD_MAGIC 0x46508001
+#define ESR_MAGIC 0x45535201
+struct _aarch64_ctx {
+       unsigned int magic;
+       unsigned int size;
+};
+struct fpsimd_context {
+       struct _aarch64_ctx head;
+       unsigned int fpsr;
+       unsigned int fpcr;
+       long double vregs[32];
+};
+struct esr_context {
+       struct _aarch64_ctx head;
+       unsigned long esr;
+};
 #else
 typedef struct {
        long double __regs[18+256];