summaryrefslogtreecommitdiffstats
path: root/sys/sys
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2017-07-21 18:06:57 +0000
committerLuiz Souza <luiz@netgate.com>2018-02-19 14:38:58 -0300
commit5dad0dd804a33b8a372d49fa342b24c67b1c2fb3 (patch)
treedcd2066d75216c10efafd5b88288a142e2ab0bd6 /sys/sys
parentba6ece08e939b4f3d25e9e81956e8d622ed1fc2e (diff)
downloadFreeBSD-src-5dad0dd804a33b8a372d49fa342b24c67b1c2fb3.zip
FreeBSD-src-5dad0dd804a33b8a372d49fa342b24c67b1c2fb3.tar.gz
MFC r319873:
Move struct syscall_args syscall arguments parameters container into struct thread. (cherry picked from commit 985b26c6741218c134a15526fd32b736bd73fa8a)
Diffstat (limited to 'sys/sys')
-rw-r--r--sys/sys/proc.h9
-rw-r--r--sys/sys/sysent.h3
2 files changed, 7 insertions, 5 deletions
diff --git a/sys/sys/proc.h b/sys/sys/proc.h
index d32807a..11947db6 100644
--- a/sys/sys/proc.h
+++ b/sys/sys/proc.h
@@ -142,6 +142,7 @@ struct pargs {
* j - locked by proc slock
* k - only accessed by curthread
* k*- only accessed by curthread and from an interrupt
+ * kx- only accessed by curthread and by debugger
* l - the attaching proc or attaching proc parent
* m - Giant
* n - not locked, lazy
@@ -295,8 +296,8 @@ struct thread {
u_char td_pri_class; /* (t) Scheduling class. */
u_char td_user_pri; /* (t) User pri from estcpu and nice. */
u_char td_base_user_pri; /* (t) Base user pri */
- u_int td_dbg_sc_code; /* (c) Syscall code to debugger. */
- u_int td_dbg_sc_narg; /* (c) Syscall arg count to debugger.*/
+ u_int td_padding3;
+ u_int td_padding4;
uintptr_t td_rb_list; /* (k) Robust list head. */
uintptr_t td_rbp_list; /* (k) Robust priv list head. */
uintptr_t td_rb_inact; /* (k) Current in-action mutex loc. */
@@ -343,6 +344,8 @@ struct thread {
sbintime_t td_sleeptimo; /* (t) Sleep timeout. */
sigqueue_t td_sigqueue; /* (c) Sigs arrived, not delivered. */
#define td_siglist td_sigqueue.sq_signals
+ struct syscall_args td_sa; /* (kx) Syscall parameters. Copied on
+ fork for child tracing. */
};
struct thread0_storage {
@@ -1051,7 +1054,7 @@ void userret(struct thread *, struct trapframe *);
void cpu_exit(struct thread *);
void exit1(struct thread *, int, int) __dead2;
void cpu_copy_thread(struct thread *td, struct thread *td0);
-int cpu_fetch_syscall_args(struct thread *td, struct syscall_args *sa);
+int cpu_fetch_syscall_args(struct thread *td);
void cpu_fork(struct thread *, struct proc *, struct thread *, int);
void cpu_fork_kthread_handler(struct thread *, void (*)(void *), void *);
void cpu_set_syscall_retval(struct thread *, int);
diff --git a/sys/sys/sysent.h b/sys/sys/sysent.h
index 8313fc0..f1f4590 100644
--- a/sys/sys/sysent.h
+++ b/sys/sys/sysent.h
@@ -119,8 +119,7 @@ struct sysentvec {
u_long *sv_maxssiz;
u_int sv_flags;
void (*sv_set_syscall_retval)(struct thread *, int);
- int (*sv_fetch_syscall_args)(struct thread *, struct
- syscall_args *);
+ int (*sv_fetch_syscall_args)(struct thread *);
const char **sv_syscallnames;
vm_offset_t sv_timekeep_base;
vm_offset_t sv_shared_page_base;
OpenPOWER on IntegriCloud