View | Details | Raw Unified | Return to bug 57250
Collapse All | Expand All

(-)src/sys/amd64/amd64/machdep.c (-2 / +6 lines)
Lines 1413-1420 set_fpregs_xmm(struct fpreg *fpregs, str Link Here
1413
int
1413
int
1414
fill_fpregs(struct thread *td, struct fpreg *fpregs)
1414
fill_fpregs(struct thread *td, struct fpreg *fpregs)
1415
{
1415
{
1416
	struct savefpu sv_xmm;
1416
1417
1417
	fill_fpregs_xmm(&td->td_pcb->pcb_save, fpregs);
1418
  	npxgetregs(td, &sv_xmm);
1419
	fill_fpregs_xmm(&sv_xmm, fpregs);
1418
	return (0);
1420
	return (0);
1419
}
1421
}
1420
1422
Lines 1422-1429 fill_fpregs(struct thread *td, struct fp Link Here
1422
int
1424
int
1423
set_fpregs(struct thread *td, struct fpreg *fpregs)
1425
set_fpregs(struct thread *td, struct fpreg *fpregs)
1424
{
1426
{
1427
	struct savefpu sv_xmm;
1425
1428
1426
	set_fpregs_xmm(fpregs, &td->td_pcb->pcb_save);
1429
	set_fpregs_xmm(fpregs, &sv_xmm);
1430
  	npxsetregs(td, &sv_xmm);
1427
	return (0);
1431
	return (0);
1428
}
1432
}
1429
1433
(-)src/sys/amd64/isa/npx.c (-1 / +1 lines)
Lines 646-652 npxsetregs(td, addr) Link Here
646
		intr_restore(s);
646
		intr_restore(s);
647
		bcopy(addr, &td->td_pcb->pcb_save, sizeof(*addr));
647
		bcopy(addr, &td->td_pcb->pcb_save, sizeof(*addr));
648
	}
648
	}
649
	curthread->td_pcb->pcb_flags |= PCB_NPXINITDONE;
649
	td->td_pcb->pcb_flags |= PCB_NPXINITDONE;
650
}
650
}
651
651
652
static device_method_t npx_methods[] = {
652
static device_method_t npx_methods[] = {

Return to bug 57250