aboutsummaryrefslogtreecommitdiff
path: root/libc/include/nios2-linux-gnu/sys
diff options
context:
space:
mode:
Diffstat (limited to 'libc/include/nios2-linux-gnu/sys')
-rw-r--r--libc/include/nios2-linux-gnu/sys/cachectl.h33
-rw-r--r--libc/include/nios2-linux-gnu/sys/ucontext.h61
-rw-r--r--libc/include/nios2-linux-gnu/sys/user.h58
3 files changed, 152 insertions, 0 deletions
diff --git a/libc/include/nios2-linux-gnu/sys/cachectl.h b/libc/include/nios2-linux-gnu/sys/cachectl.h
new file mode 100644
index 0000000000..e97c951ed1
--- /dev/null
+++ b/libc/include/nios2-linux-gnu/sys/cachectl.h
@@ -0,0 +1,33 @@
+/* cacheflush - flush contents of instruction and/or data cache.
+ Copyright (C) 2015-2019 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _SYS_CACHECTL_H
+#define _SYS_CACHECTL_H 1
+
+#include <features.h>
+
+__BEGIN_DECLS
+
+#ifdef __USE_MISC
+extern int cacheflush (void *__addr, const int __nbytes, const int __op) __THROW;
+#endif
+extern int _flush_cache (char *__addr, const int __nbytes, const int __op) __THROW;
+
+__END_DECLS
+
+#endif /* sys/cachectl.h */ \ No newline at end of file
diff --git a/libc/include/nios2-linux-gnu/sys/ucontext.h b/libc/include/nios2-linux-gnu/sys/ucontext.h
new file mode 100644
index 0000000000..2f46d5919f
--- /dev/null
+++ b/libc/include/nios2-linux-gnu/sys/ucontext.h
@@ -0,0 +1,61 @@
+/* ucontext_t definition, Nios II version.
+ Copyright (C) 2015-2019 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+/* System V/Nios II ABI compliant context switching support. */
+
+#ifndef _SYS_UCONTEXT_H
+#define _SYS_UCONTEXT_H 1
+
+#include <features.h>
+
+#include <bits/types/sigset_t.h>
+#include <bits/types/stack_t.h>
+
+
+/* These definitions must be in sync with the kernel. */
+
+#ifdef __USE_MISC
+# define MCONTEXT_VERSION 2
+#endif
+
+#ifdef __USE_MISC
+# define __ctx(fld) fld
+#else
+# define __ctx(fld) __ ## fld
+#endif
+
+/* Context to describe whole processor state. */
+typedef struct
+ {
+ int __ctx(version);
+ unsigned long __ctx(regs)[32];
+ } mcontext_t;
+
+/* Userlevel context. */
+typedef struct ucontext_t
+ {
+ unsigned long __ctx(uc_flags);
+ struct ucontext_t *uc_link;
+ stack_t uc_stack;
+ mcontext_t uc_mcontext;
+ sigset_t uc_sigmask;
+ } ucontext_t;
+
+#undef __ctx
+
+#endif /* sys/ucontext.h */ \ No newline at end of file
diff --git a/libc/include/nios2-linux-gnu/sys/user.h b/libc/include/nios2-linux-gnu/sys/user.h
new file mode 100644
index 0000000000..105c92aafe
--- /dev/null
+++ b/libc/include/nios2-linux-gnu/sys/user.h
@@ -0,0 +1,58 @@
+/* ptrace register data format definitions.
+ Copyright (C) 1998-2019 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ <http://www.gnu.org/licenses/>. */
+
+#ifndef _SYS_USER_H
+#define _SYS_USER_H 1
+
+/* The whole purpose of this file is for GDB and GDB only. Don't read
+ too much into it. Don't use it for anything other than GDB unless
+ you know what you are doing. */
+
+struct user_fpregs
+{
+};
+
+struct user_regs
+{
+ unsigned long int uregs[49];
+};
+
+struct user
+{
+ struct user_regs regs; /* General registers */
+ int u_fpvalid; /* True if math co-processor being used. */
+
+ unsigned long int u_tsize; /* Text segment size (pages). */
+ unsigned long int u_dsize; /* Data segment size (pages). */
+ unsigned long int u_ssize; /* Stack segment size (pages). */
+
+ unsigned long start_code; /* Starting virtual address of text. */
+ unsigned long start_stack; /* Starting virtual address of stack. */
+
+ long int signal; /* Signal that caused the core dump. */
+ int reserved; /* No longer used */
+ struct user_regs *u_ar0; /* help gdb to find the general registers. */
+
+ unsigned long magic; /* uniquely identify a core file */
+ char u_comm[32]; /* User command that was responsible */
+ int u_debugreg[8];
+ struct user_fpregs u_fp; /* Floating point registers */
+ struct user_fpregs *u_fp0; /* help gdb to find the FP registers. */
+};
+
+#endif /* sys/user.h */ \ No newline at end of file