summaryrefslogtreecommitdiffstats
path: root/sys/amd64/amd64/mp_machdep.c
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2010-06-05 15:59:59 +0000
committerkib <kib@FreeBSD.org>2010-06-05 15:59:59 +0000
commit2d77212fe48ecc0a97a3c56ca4cb8dc37493a066 (patch)
treebcc333531405cbc8269cbb94116e1781440b2ed4 /sys/amd64/amd64/mp_machdep.c
parentfbdcfea8cb5a809b733223e1c53a383040e1dc4b (diff)
downloadFreeBSD-src-2d77212fe48ecc0a97a3c56ca4cb8dc37493a066.zip
FreeBSD-src-2d77212fe48ecc0a97a3c56ca4cb8dc37493a066.tar.gz
Introduce the x86 kernel interfaces to allow kernel code to use
FPU/SSE hardware. Caller should provide a save area that is chained into the stack of the areas; pcb save_area for usermode FPU state is on top. The pcb now contains a pointer to the current FPU saved area, used during FPUDNA handling and context switches. There is also a facility to allow the kernel thread to use pcb save_area. Change the dreaded warnings "npxdna in kernel mode!" into the panics when FPU usage is not registered. KPI discussed with: fabient Tested by: pho, fabient Hardware provided by: Sentex Communications MFC after: 1 month
Diffstat (limited to 'sys/amd64/amd64/mp_machdep.c')
-rw-r--r--sys/amd64/amd64/mp_machdep.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/amd64/amd64/mp_machdep.c b/sys/amd64/amd64/mp_machdep.c
index 4a44aba..5430b03 100644
--- a/sys/amd64/amd64/mp_machdep.c
+++ b/sys/amd64/amd64/mp_machdep.c
@@ -1247,7 +1247,7 @@ cpususpend_handler(void)
rf = intr_disable();
cr3 = rcr3();
- stopfpu = &stopxpcbs[cpu]->xpcb_pcb.pcb_save;
+ stopfpu = stopxpcbs[cpu]->xpcb_pcb.pcb_save;
if (savectx2(stopxpcbs[cpu])) {
fpugetregs(curthread, stopfpu);
wbinvd();
OpenPOWER on IntegriCloud