summaryrefslogtreecommitdiffstats
path: root/sys/gnu/i386/fpemul
diff options
context:
space:
mode:
Diffstat (limited to 'sys/gnu/i386/fpemul')
-rw-r--r--sys/gnu/i386/fpemul/fpu_entry.c8
-rw-r--r--sys/gnu/i386/fpemul/fpu_system.h2
2 files changed, 5 insertions, 5 deletions
diff --git a/sys/gnu/i386/fpemul/fpu_entry.c b/sys/gnu/i386/fpemul/fpu_entry.c
index 77cee77..ec75bee 100644
--- a/sys/gnu/i386/fpemul/fpu_entry.c
+++ b/sys/gnu/i386/fpemul/fpu_entry.c
@@ -211,10 +211,10 @@ math_emulate(struct trapframe * tframe)
REENTRANT_CHECK(ON);
#endif /* PARANOID */
- if ((((struct pcb *) curproc->p_addr)->pcb_flags & FP_SOFTFP) == 0) {
+ if ((curthread->td_pcb->pcb_flags & FP_SOFTFP) == 0) {
finit();
control_word = __INITIAL_NPXCW__;
- ((struct pcb *) curproc->p_addr)->pcb_flags |= FP_SOFTFP;
+ curthread->td_pcb->pcb_flags |= FP_SOFTFP;
}
FPU_info = tframe;
FPU_ORIG_EIP = FPU_EIP; /* --pink-- */
@@ -232,10 +232,10 @@ math_emulate(struct trapframe * tframe)
#endif
FPU_lookahead = FPU_LOOKAHEAD;
- PROC_LOCK(curproc);
+ PROC_LOCK(curthread->td_proc);
if (curproc->p_flag & P_TRACED)
FPU_lookahead = 0;
- PROC_UNLOCK(curproc);
+ PROC_UNLOCK(curthread->td_proc);
do_another_FPU_instruction:
diff --git a/sys/gnu/i386/fpemul/fpu_system.h b/sys/gnu/i386/fpemul/fpu_system.h
index a77f0c2..f4927c8 100644
--- a/sys/gnu/i386/fpemul/fpu_system.h
+++ b/sys/gnu/i386/fpemul/fpu_system.h
@@ -69,7 +69,7 @@
#include <linux/kernel.h>
*/
-#define I387 (*(union i387_union *)&(((struct pcb *)curproc->p_addr)->pcb_save.sv_87))
+#define I387 (*(union i387_union *)&(curthread->td_pcb->pcb_save.sv_87))
#define FPU_info (I387.soft.frame)
#define FPU_CS (*(unsigned short *) &(FPU_info->tf_cs))
OpenPOWER on IntegriCloud