]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gdb/nat/aarch64-sve-linux-ptrace.h
Add Aarch64 SVE compatibility macros
[thirdparty/binutils-gdb.git] / gdb / nat / aarch64-sve-linux-ptrace.h
index 61f841466c8279c14322894e4cedbe3b6e39db4b..7f5a81f3252df76c517a10cdbad20be255107975 100644 (file)
 #ifndef AARCH64_SVE_LINUX_PTRACE_H
 #define AARCH64_SVE_LINUX_PTRACE_H
 
-/* Where indicated, this file contains defines and macros lifted directly from
-   the Linux kernel headers, with no modification.
-   Refer to Linux kernel documentation for details.  */
-
 #include <asm/sigcontext.h>
 #include <sys/utsname.h>
 #include <sys/ptrace.h>
 #include <asm/ptrace.h>
 
+#ifndef SVE_SIG_ZREGS_SIZE
+#include "aarch64-sve-linux-sigcontext.h"
+#endif
+
 /* Read VQ for the given tid using ptrace.  If SVE is not supported then zero
    is returned (on a system that supports SVE, then VQ cannot be zero).  */
 
 uint64_t aarch64_sve_get_vq (int tid);
 
-/* Structures and defines taken from sigcontext.h.  */
-
-#ifndef SVE_SIG_ZREGS_SIZE
-
-#define SVE_VQ_BYTES           16      /* number of bytes per quadword */
-
-#define SVE_VQ_MIN             1
-#define SVE_VQ_MAX             512
-
-#define SVE_VL_MIN             (SVE_VQ_MIN * SVE_VQ_BYTES)
-#define SVE_VL_MAX             (SVE_VQ_MAX * SVE_VQ_BYTES)
-
-#define SVE_NUM_ZREGS          32
-#define SVE_NUM_PREGS          16
-
-#define sve_vl_valid(vl) \
-       ((vl) % SVE_VQ_BYTES == 0 && (vl) >= SVE_VL_MIN && (vl) <= SVE_VL_MAX)
-
-#endif /* SVE_SIG_ZREGS_SIZE.  */
-
-
-/* Structures and defines taken from ptrace.h.  */
-
-#ifndef SVE_PT_SVE_ZREG_SIZE
-
-struct user_sve_header {
-       __u32 size; /* total meaningful regset content in bytes */
-       __u32 max_size; /* maxmium possible size for this thread */
-       __u16 vl; /* current vector length */
-       __u16 max_vl; /* maximum possible vector length */
-       __u16 flags;
-       __u16 __reserved;
-};
-
-#endif /* SVE_PT_SVE_ZREG_SIZE.  */
-
 #endif /* aarch64-sve-linux-ptrace.h */