aboutsummaryrefslogtreecommitdiff
path: root/linux-headers/include/asm
diff options
context:
space:
mode:
authorPalmer Dabbelt <palmer@dabbelt.com>2016-01-20 11:35:52 -0800
committerPalmer Dabbelt <palmer@dabbelt.com>2016-01-20 11:37:32 -0800
commit680995ac4be045826d2050f9105c70a10db4a66f (patch)
tree5b6d65ad6fb86c6d3210bd869ceb5c2456d05d11 /linux-headers/include/asm
parent728afcddcb0526a0f6560c4032da82805f054d58 (diff)
downloadriscv-gnu-toolchain-680995ac4be045826d2050f9105c70a10db4a66f.zip
riscv-gnu-toolchain-680995ac4be045826d2050f9105c70a10db4a66f.tar.gz
riscv-gnu-toolchain-680995ac4be045826d2050f9105c70a10db4a66f.tar.bz2
Bump linux-headers
These are cached from riscv-linux and have gotten out of date. The breaking change was in asm/ptrace.h, but riscv-linux also got bumped so this is a big commit. This syncs from e1c1614e7bd2e053e88d0cb875e1a22b27df6e39 in riscv-linux.
Diffstat (limited to 'linux-headers/include/asm')
-rw-r--r--linux-headers/include/asm/ptrace.h54
-rw-r--r--linux-headers/include/asm/setup.h1
-rw-r--r--linux-headers/include/asm/sigcontext.h43
3 files changed, 53 insertions, 45 deletions
diff --git a/linux-headers/include/asm/ptrace.h b/linux-headers/include/asm/ptrace.h
index 5e2fbb6..0167fe6 100644
--- a/linux-headers/include/asm/ptrace.h
+++ b/linux-headers/include/asm/ptrace.h
@@ -1,19 +1,55 @@
#ifndef _ASM_RISCV_PTRACE_H
#define _ASM_RISCV_PTRACE_H
-/* Mirror pt_regs from ptrace.h */
+#ifndef __ASSEMBLY__
-typedef struct user_regs_struct {
+#include <linux/types.h>
+
+/* User-mode register state for core dumps, ptrace, sigcontext
+ *
+ * This decouples struct pt_regs from the userspace ABI.
+ * struct user_regs_struct must form a prefix of struct pt_regs.
+ */
+struct user_regs_struct {
unsigned long pc;
unsigned long ra;
- unsigned long s[12];
unsigned long sp;
- unsigned long tp;
- unsigned long v[2];
- unsigned long a[8];
- unsigned long t[5];
unsigned long gp;
- unsigned long status;
-} user_regs_struct;
+ unsigned long tp;
+ unsigned long t0;
+ unsigned long t1;
+ unsigned long t2;
+ unsigned long s0;
+ unsigned long s1;
+ unsigned long a0;
+ unsigned long a1;
+ unsigned long a2;
+ unsigned long a3;
+ unsigned long a4;
+ unsigned long a5;
+ unsigned long a6;
+ unsigned long a7;
+ unsigned long s2;
+ unsigned long s3;
+ unsigned long s4;
+ unsigned long s5;
+ unsigned long s6;
+ unsigned long s7;
+ unsigned long s8;
+ unsigned long s9;
+ unsigned long s10;
+ unsigned long s11;
+ unsigned long t3;
+ unsigned long t4;
+ unsigned long t5;
+ unsigned long t6;
+};
+
+struct user_fpregs_struct {
+ __u64 f[32];
+ __u32 fcsr;
+};
+
+#endif /* __ASSEMBLY__ */
#endif /* _ASM_RISCV_PTRACE_H */
diff --git a/linux-headers/include/asm/setup.h b/linux-headers/include/asm/setup.h
index 8ee375d..2fa6777 100644
--- a/linux-headers/include/asm/setup.h
+++ b/linux-headers/include/asm/setup.h
@@ -1,7 +1,6 @@
#ifndef _ASM_RISCV_SETUP_H
#define _ASM_RISCV_SETUP_H
-
#include <asm-generic/setup.h>
#endif /* _ASM_RISCV_SETUP_H */
diff --git a/linux-headers/include/asm/sigcontext.h b/linux-headers/include/asm/sigcontext.h
index c762962..1a65e11 100644
--- a/linux-headers/include/asm/sigcontext.h
+++ b/linux-headers/include/asm/sigcontext.h
@@ -1,43 +1,16 @@
#ifndef _ASM_RISCV_SIGCONTEXT_H
#define _ASM_RISCV_SIGCONTEXT_H
-/* This struct is saved by setup_frame in signal.c, to keep the current
- * context while a signal handler is executed. It is restored by sys_sigreturn.
- */
+#include <asm/ptrace.h>
+/* Signal context structure
+ *
+ * This contains the context saved before a signal handler is invoked;
+ * it is restored by sys_sigreturn / sys_rt_sigreturn.
+ */
struct sigcontext {
- unsigned long epc;
- unsigned long ra;
- unsigned long sp;
- unsigned long gp;
- unsigned long tp;
- unsigned long t0;
- unsigned long t1;
- unsigned long t2;
- unsigned long s0;
- unsigned long s1;
- unsigned long a0;
- unsigned long a1;
- unsigned long a2;
- unsigned long a3;
- unsigned long a4;
- unsigned long a5;
- unsigned long a6;
- unsigned long a7;
- unsigned long s2;
- unsigned long s3;
- unsigned long s4;
- unsigned long s5;
- unsigned long s6;
- unsigned long s7;
- unsigned long s8;
- unsigned long s9;
- unsigned long s10;
- unsigned long s11;
- unsigned long t3;
- unsigned long t4;
- unsigned long t5;
- unsigned long t6;
+ struct user_regs_struct sc_regs;
+ struct user_fpregs_struct sc_fpregs;
};
#endif /* _ASM_RISCV_SIGCONTEXT_H */