summaryrefslogtreecommitdiff
path: root/sys/arch/hppa/include
diff options
context:
space:
mode:
authorJoel Sing <jsing@cvs.openbsd.org>2010-07-01 05:33:33 +0000
committerJoel Sing <jsing@cvs.openbsd.org>2010-07-01 05:33:33 +0000
commit6d53558da97510934264ff5994ddbc706ecb0664 (patch)
tree55c6e5e96188bb8ecbe159199da06c78f33a6443 /sys/arch/hppa/include
parent543df279f1604ffd36cf1931b8de8749f859609b (diff)
Create a struct to store FP state and include a pointer to the CPU that
currently holds the FPU context for this process. This will be soon used to implement FPU shootdowns on multiprocessor kernels. ok kettenis@
Diffstat (limited to 'sys/arch/hppa/include')
-rw-r--r--sys/arch/hppa/include/fpu.h12
-rw-r--r--sys/arch/hppa/include/pcb.h5
2 files changed, 13 insertions, 4 deletions
diff --git a/sys/arch/hppa/include/fpu.h b/sys/arch/hppa/include/fpu.h
index 65b3e519c69..162a6b62917 100644
--- a/sys/arch/hppa/include/fpu.h
+++ b/sys/arch/hppa/include/fpu.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: fpu.h,v 1.1 2010/06/29 04:03:22 jsing Exp $ */
+/* $OpenBSD: fpu.h,v 1.2 2010/07/01 05:33:32 jsing Exp $ */
/*
* Copyright (c) 2010 Joel Sing <jsing@openbsd.org>
@@ -19,7 +19,15 @@
#ifndef _MACHINE_FPU_H_
#define _MACHINE_FPU_H_
-void fpu_proc_save(struct proc *);
+#include <machine/cpu.h>
+#include <machine/reg.h>
+
+struct hppa_fpstate {
+ struct fpreg hfp_regs;
+ volatile struct cpu_info *hfp_cpu; /* CPU which FPU state is on. */
+};
+
void fpu_proc_flush(struct proc *);
+void fpu_proc_save(struct proc *);
#endif /* _MACHINE_FPU_H_ */
diff --git a/sys/arch/hppa/include/pcb.h b/sys/arch/hppa/include/pcb.h
index 392d217963c..456ea9dea59 100644
--- a/sys/arch/hppa/include/pcb.h
+++ b/sys/arch/hppa/include/pcb.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcb.h,v 1.13 2010/06/29 20:30:32 guenther Exp $ */
+/* $OpenBSD: pcb.h,v 1.14 2010/07/01 05:33:32 jsing Exp $ */
/*
* Copyright (c) 1999-2004 Michael Shalayeff
@@ -30,10 +30,11 @@
#ifndef _MACHINE_PCB_H_
#define _MACHINE_PCB_H_
+#include <machine/fpu.h>
#include <machine/reg.h>
struct pcb {
- struct fpreg *pcb_fpregs; /* not in the trapframe */
+ struct hppa_fpstate *pcb_fpstate; /* not in the trapframe */
u_int pcb_ksp; /* kernel sp for ctxsw */
u_int pcb_onfault; /* SW copy fault handler */