summaryrefslogtreecommitdiff
path: root/sys/arch/sparc64/include
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/sparc64/include')
-rw-r--r--sys/arch/sparc64/include/cpu.h14
-rw-r--r--sys/arch/sparc64/include/proc.h1
2 files changed, 6 insertions, 9 deletions
diff --git a/sys/arch/sparc64/include/cpu.h b/sys/arch/sparc64/include/cpu.h
index 25ecdad817a..6331ae2761e 100644
--- a/sys/arch/sparc64/include/cpu.h
+++ b/sys/arch/sparc64/include/cpu.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: cpu.h,v 1.41 2007/09/04 20:36:52 kettenis Exp $ */
+/* $OpenBSD: cpu.h,v 1.42 2007/09/08 17:13:17 kettenis Exp $ */
/* $NetBSD: cpu.h,v 1.28 2001/06/14 22:56:58 thorpej Exp $ */
/*
@@ -159,13 +159,13 @@ struct clockframe {
void setsoftnet(void);
-extern int want_ast;
+#define aston(p) ((p)->p_md.md_astpending = 1)
/*
* Preempt the current process if in interrupt from user mode,
* or after the current trap/syscall if in system mode.
*/
-#define need_resched(ci) (ci->ci_want_resched = 1, want_ast = 1)
+extern void need_resched(struct cpu_info *);
/*
* This is used during profiling to integrate system time.
@@ -177,13 +177,9 @@ extern int want_ast;
* buffer pages are invalid. On the sparc, request an ast to send us
* through trap(), marking the proc as needing a profiling tick.
*/
-#define need_proftick(p) do { want_ast = 1; } while (0)
+#define need_proftick(p) aston(p)
-/*
- * Notify the current process (p) that it has a signal pending,
- * process as soon as possible.
- */
-#define signotify(p) (want_ast = 1)
+void signotify(struct proc *);
/*
* Only one process may own the FPU state.
diff --git a/sys/arch/sparc64/include/proc.h b/sys/arch/sparc64/include/proc.h
index a39c6f04f61..84d8a86f7ac 100644
--- a/sys/arch/sparc64/include/proc.h
+++ b/sys/arch/sparc64/include/proc.h
@@ -47,6 +47,7 @@ struct mdproc {
struct trapframe64 *md_tf; /* trap/syscall registers */
struct fpstate64 *md_fpstate; /* fpu state, if any; always resident */
u_long md_flags;
+ __volatile int md_astpending;
};
/* md_flags */