diff options
| author | John Baldwin <jhb@FreeBSD.org> | 2002-11-08 15:24:32 +0000 |
|---|---|---|
| committer | John Baldwin <jhb@FreeBSD.org> | 2002-11-08 15:24:32 +0000 |
| commit | 9f12a6a6065a907fe89b4024a83de751e2bff0c6 (patch) | |
| tree | 4922958633712e06ec6b194a43959f11c5ac238b | |
| parent | 5b5361f32cde9df4e9453bf81fa254026434cc8c (diff) | |
Notes
| -rw-r--r-- | sys/alpha/alpha/prom.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/sys/alpha/alpha/prom.c b/sys/alpha/alpha/prom.c index 4481a19bd013c..ba914c5f693bf 100644 --- a/sys/alpha/alpha/prom.c +++ b/sys/alpha/alpha/prom.c @@ -99,7 +99,9 @@ static int alpha_console; void init_bootstrap_console() { +#ifndef SIMOS char buf[4]; +#endif init_prom_interface(hwrpb); @@ -200,12 +202,14 @@ enter_prom() /* * SimOS console uses floating point. */ - if (curproc != PCPU_GET(fpcurproc)) { + if (curthread != PCPU_GET(fpcurthread)) { alpha_pal_wrfen(1); - if (PCPU_GET(fpcurproc)) - savefpstate(&PCPU_GET(fpcurproc)->p_addr->u_pcb.pcb_fp); - PCPU_SET(fpcurproc, curproc); - restorefpstate(&PCPU_GET(fpcurproc)->p_addr->u_pcb.pcb_fp); + if (PCPU_GET(fpcurthread)) { + savefpstate(&PCPU_GET(fpcurthread)->td_pcb->pcb_fp); + PCPU_GET(fpcurthread)->td_pcb->pcb_hw.apcb_flags &= ~ALPHA_PCB_FLAGS_FEN; + } + PCPU_SET(fpcurthread, curthread); + restorefpstate(&PCPU_GET(fpcurthread)->td_pcb->pcb_fp); } #endif if (!pmap_uses_prom_console()) |
