summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Xu <davidxu@FreeBSD.org>2003-06-28 06:34:08 +0000
committerDavid Xu <davidxu@FreeBSD.org>2003-06-28 06:34:08 +0000
commitb8f480ab94a392e86e754215b911d269f45a45be (patch)
tree033c1141141e4c9dd02b4566a65e6f6af162351b
parentcf260fe35a587a367bdbad190485c8290941ea93 (diff)
Notes
-rw-r--r--sys/alpha/alpha/machdep.c19
-rw-r--r--sys/amd64/amd64/machdep.c19
-rw-r--r--sys/i386/i386/machdep.c20
-rw-r--r--sys/ia64/ia64/machdep.c19
-rw-r--r--sys/pc98/i386/machdep.c20
-rw-r--r--sys/pc98/pc98/machdep.c20
-rw-r--r--sys/powerpc/aim/machdep.c19
-rw-r--r--sys/powerpc/powerpc/machdep.c19
-rw-r--r--sys/sparc64/sparc64/machdep.c19
9 files changed, 174 insertions, 0 deletions
diff --git a/sys/alpha/alpha/machdep.c b/sys/alpha/alpha/machdep.c
index 6056c2e5a9a8..d0013a95ea82 100644
--- a/sys/alpha/alpha/machdep.c
+++ b/sys/alpha/alpha/machdep.c
@@ -1462,6 +1462,25 @@ sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code)
}
/*
+ * Build siginfo_t for SA thread
+ */
+void
+thread_siginfo(int sig, u_long code, siginfo_t *si)
+{
+ struct proc *p;
+ struct thread *td;
+
+ td = curthread;
+ p = td->td_proc;
+ PROC_LOCK_ASSERT(p, MA_OWNED);
+
+ bzero(si, sizeof(*si));
+ si->si_signo = sig;
+ si->si_code = code;
+ /* XXXKSE fill other fields */
+}
+
+/*
* System call to cleanup state after a signal
* has been taken. Reset signal mask and
* stack state from context left by sendsig (above).
diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c
index 47f4b79eec73..005e10e27fff 100644
--- a/sys/amd64/amd64/machdep.c
+++ b/sys/amd64/amd64/machdep.c
@@ -300,6 +300,25 @@ sendsig(catcher, sig, mask, code)
}
/*
+ * Build siginfo_t for SA thread
+ */
+void
+thread_siginfo(int sig, u_long code, siginfo_t *si)
+{
+ struct proc *p;
+ struct thread *td;
+
+ td = curthread;
+ p = td->td_proc;
+ PROC_LOCK_ASSERT(p, MA_OWNED);
+
+ bzero(si, sizeof(*si));
+ si->si_signo = sig;
+ si->si_code = code;
+ /* XXXKSE fill other fields */
+}
+
+/*
* System call to cleanup state after a signal
* has been taken. Reset signal mask and
* stack state from context left by sendsig (above).
diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c
index 0719362e6c65..4b0eeeae4bc9 100644
--- a/sys/i386/i386/machdep.c
+++ b/sys/i386/i386/machdep.c
@@ -631,6 +631,26 @@ sendsig(catcher, sig, mask, code)
}
/*
+ * Build siginfo_t for SA thread
+ */
+void
+thread_siginfo(int sig, u_long code, siginfo_t *si)
+{
+ struct proc *p;
+ struct thread *td;
+
+ td = curthread;
+ p = td->td_proc;
+ PROC_LOCK_ASSERT(p, MA_OWNED);
+
+ bzero(si, sizeof(*si));
+ si->si_signo = sig;
+ si->si_code = code;
+ si->si_addr = (void *)td->td_frame->tf_err;
+ /* XXXKSE fill other fields */
+}
+
+/*
* System call to cleanup state after a signal
* has been taken. Reset signal mask and
* stack state from context left by sendsig (above).
diff --git a/sys/ia64/ia64/machdep.c b/sys/ia64/ia64/machdep.c
index 90bed549a93d..fbc9fa5428bc 100644
--- a/sys/ia64/ia64/machdep.c
+++ b/sys/ia64/ia64/machdep.c
@@ -938,6 +938,25 @@ sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code)
}
/*
+ * Build siginfo_t for SA thread
+ */
+void
+thread_siginfo(int sig, u_long code, siginfo_t *si)
+{
+ struct proc *p;
+ struct thread *td;
+
+ td = curthread;
+ p = td->td_proc;
+ PROC_LOCK_ASSERT(p, MA_OWNED);
+
+ bzero(si, sizeof(*si));
+ si->si_signo = sig;
+ si->si_code = code;
+ /* XXXKSE fill other fields */
+}
+
+/*
* System call to cleanup state after a signal
* has been taken. Reset signal mask and
* stack state from context left by sendsig (above).
diff --git a/sys/pc98/i386/machdep.c b/sys/pc98/i386/machdep.c
index 396d20a6eca9..e1d5f081235b 100644
--- a/sys/pc98/i386/machdep.c
+++ b/sys/pc98/i386/machdep.c
@@ -687,6 +687,26 @@ sendsig(catcher, sig, mask, code)
}
/*
+ * Build siginfo_t for SA thread
+ */
+void
+thread_siginfo(int sig, u_long code, siginfo_t *si)
+{
+ struct proc *p;
+ struct thread *td;
+
+ td = curthread;
+ p = td->td_proc;
+ PROC_LOCK_ASSERT(p, MA_OWNED);
+
+ bzero(si, sizeof(*si));
+ si->si_signo = sig;
+ si->si_code = code;
+ si->si_addr = (void *)td->td_frame->tf_err;
+ /* XXXKSE fill other fields */
+}
+
+/*
* System call to cleanup state after a signal
* has been taken. Reset signal mask and
* stack state from context left by sendsig (above).
diff --git a/sys/pc98/pc98/machdep.c b/sys/pc98/pc98/machdep.c
index 396d20a6eca9..e1d5f081235b 100644
--- a/sys/pc98/pc98/machdep.c
+++ b/sys/pc98/pc98/machdep.c
@@ -687,6 +687,26 @@ sendsig(catcher, sig, mask, code)
}
/*
+ * Build siginfo_t for SA thread
+ */
+void
+thread_siginfo(int sig, u_long code, siginfo_t *si)
+{
+ struct proc *p;
+ struct thread *td;
+
+ td = curthread;
+ p = td->td_proc;
+ PROC_LOCK_ASSERT(p, MA_OWNED);
+
+ bzero(si, sizeof(*si));
+ si->si_signo = sig;
+ si->si_code = code;
+ si->si_addr = (void *)td->td_frame->tf_err;
+ /* XXXKSE fill other fields */
+}
+
+/*
* System call to cleanup state after a signal
* has been taken. Reset signal mask and
* stack state from context left by sendsig (above).
diff --git a/sys/powerpc/aim/machdep.c b/sys/powerpc/aim/machdep.c
index f9b3c5dddcab..e1f77dd1a8f9 100644
--- a/sys/powerpc/aim/machdep.c
+++ b/sys/powerpc/aim/machdep.c
@@ -505,6 +505,25 @@ sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code)
mtx_lock(&psp->ps_mtx);
}
+/*
+ * Build siginfo_t for SA thread
+ */
+void
+thread_siginfo(int sig, u_long code, siginfo_t *si)
+{
+ struct proc *p;
+ struct thread *td;
+
+ td = curthread;
+ p = td->td_proc;
+ PROC_LOCK_ASSERT(p, MA_OWNED);
+
+ bzero(si, sizeof(*si));
+ si->si_signo = sig;
+ si->si_code = code;
+ /* XXXKSE fill other fields */
+}
+
int
sigreturn(struct thread *td, struct sigreturn_args *uap)
{
diff --git a/sys/powerpc/powerpc/machdep.c b/sys/powerpc/powerpc/machdep.c
index f9b3c5dddcab..e1f77dd1a8f9 100644
--- a/sys/powerpc/powerpc/machdep.c
+++ b/sys/powerpc/powerpc/machdep.c
@@ -505,6 +505,25 @@ sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code)
mtx_lock(&psp->ps_mtx);
}
+/*
+ * Build siginfo_t for SA thread
+ */
+void
+thread_siginfo(int sig, u_long code, siginfo_t *si)
+{
+ struct proc *p;
+ struct thread *td;
+
+ td = curthread;
+ p = td->td_proc;
+ PROC_LOCK_ASSERT(p, MA_OWNED);
+
+ bzero(si, sizeof(*si));
+ si->si_signo = sig;
+ si->si_code = code;
+ /* XXXKSE fill other fields */
+}
+
int
sigreturn(struct thread *td, struct sigreturn_args *uap)
{
diff --git a/sys/sparc64/sparc64/machdep.c b/sys/sparc64/sparc64/machdep.c
index 2135b6dd5ad0..fd7d7a40cacd 100644
--- a/sys/sparc64/sparc64/machdep.c
+++ b/sys/sparc64/sparc64/machdep.c
@@ -488,6 +488,25 @@ sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code)
mtx_lock(&psp->ps_mtx);
}
+/*
+ * Build siginfo_t for SA thread
+ */
+void
+thread_siginfo(int sig, u_long code, siginfo_t *si)
+{
+ struct proc *p;
+ struct thread *td;
+
+ td = curthread;
+ p = td->td_proc;
+ PROC_LOCK_ASSERT(p, MA_OWNED);
+
+ bzero(si, sizeof(*si));
+ si->si_signo = sig;
+ si->si_code = code;
+ /* XXXKSE fill other fields */
+}
+
#ifndef _SYS_SYSPROTO_H_
struct sigreturn_args {
ucontext_t *ucp;