summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/kern/kern_kse.c10
-rw-r--r--sys/kern/kern_thread.c10
2 files changed, 20 insertions, 0 deletions
diff --git a/sys/kern/kern_kse.c b/sys/kern/kern_kse.c
index 8324773..08fd626 100644
--- a/sys/kern/kern_kse.c
+++ b/sys/kern/kern_kse.c
@@ -171,7 +171,11 @@ void
thread_getcontext(struct thread *td, ucontext_t *uc)
{
+# XXX this is declared in a MD include file, i386/include/ucontext.h but
+# is used in MI code.
+#ifdef __i386__
get_mcontext(td, &uc->uc_mcontext);
+#endif
uc->uc_sigmask = td->td_proc->p_sigmask;
}
@@ -185,7 +189,13 @@ thread_setcontext(struct thread *td, ucontext_t *uc)
{
int ret;
+# XXX this is declared in a MD include file, i386/include/ucontext.h but
+# is used in MI code.
+#ifdef __i386__
ret = set_mcontext(td, &uc->uc_mcontext);
+#else
+ ret = ENOSYS;
+#endif
if (ret == 0) {
SIG_CANTMASK(uc->uc_sigmask);
PROC_LOCK(td->td_proc);
diff --git a/sys/kern/kern_thread.c b/sys/kern/kern_thread.c
index 8324773..08fd626 100644
--- a/sys/kern/kern_thread.c
+++ b/sys/kern/kern_thread.c
@@ -171,7 +171,11 @@ void
thread_getcontext(struct thread *td, ucontext_t *uc)
{
+# XXX this is declared in a MD include file, i386/include/ucontext.h but
+# is used in MI code.
+#ifdef __i386__
get_mcontext(td, &uc->uc_mcontext);
+#endif
uc->uc_sigmask = td->td_proc->p_sigmask;
}
@@ -185,7 +189,13 @@ thread_setcontext(struct thread *td, ucontext_t *uc)
{
int ret;
+# XXX this is declared in a MD include file, i386/include/ucontext.h but
+# is used in MI code.
+#ifdef __i386__
ret = set_mcontext(td, &uc->uc_mcontext);
+#else
+ ret = ENOSYS;
+#endif
if (ret == 0) {
SIG_CANTMASK(uc->uc_sigmask);
PROC_LOCK(td->td_proc);
OpenPOWER on IntegriCloud