diff options
author | Joel Sing <jsing@cvs.openbsd.org> | 2010-07-01 05:33:33 +0000 |
---|---|---|
committer | Joel Sing <jsing@cvs.openbsd.org> | 2010-07-01 05:33:33 +0000 |
commit | 6d53558da97510934264ff5994ddbc706ecb0664 (patch) | |
tree | 55c6e5e96188bb8ecbe159199da06c78f33a6443 /sys/arch/hppa/include | |
parent | 543df279f1604ffd36cf1931b8de8749f859609b (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.h | 12 | ||||
-rw-r--r-- | sys/arch/hppa/include/pcb.h | 5 |
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 */ |