diff options
Diffstat (limited to 'gdb/nat/aarch64-sve-linux-ptrace.h')
-rw-r--r-- | gdb/nat/aarch64-sve-linux-ptrace.h | 44 |
1 files changed, 4 insertions, 40 deletions
diff --git a/gdb/nat/aarch64-sve-linux-ptrace.h b/gdb/nat/aarch64-sve-linux-ptrace.h index 61f8414..7f5a81f 100644 --- a/gdb/nat/aarch64-sve-linux-ptrace.h +++ b/gdb/nat/aarch64-sve-linux-ptrace.h @@ -20,54 +20,18 @@ #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 */ |