Stuart Henderson <s...@spacehopper.org> writes: > On 2017/10/21 12:04, Tim Stewart wrote: >> *49727 296965 0 0 7 0x14200 crynlk > > aha, it was that one. Try this diff on top. > > Index: fpu.c > =================================================================== > RCS file: /cvs/src/sys/arch/amd64/amd64/fpu.c,v > retrieving revision 1.38 > diff -u -p -r1.38 fpu.c > --- fpu.c 14 Oct 2017 04:44:43 -0000 1.38 > +++ fpu.c 21 Oct 2017 16:16:14 -0000 > @@ -347,7 +347,7 @@ void > fpu_kernel_enter(void) > { > struct cpu_info *ci = curcpu(); > - uint32_t cw; > + struct savefpu *sfp; > int s; > > /* > @@ -376,10 +376,11 @@ fpu_kernel_enter(void) > > /* Initialize the FPU */ > fninit(); > - cw = __INITIAL_NPXCW__; > - fldcw(&cw); > - cw = __INITIAL_MXCSR__; > - ldmxcsr(&cw); > + sfp = &proc0.p_addr->u_pcb.pcb_savefpu; > + memset(&sfp->fp_fxsave, 0, sizeof(sfp->fp_fxsave)); > + sfp->fp_fxsave.fx_fcw = __INITIAL_NPXCW__; > + sfp->fp_fxsave.fx_mxcsr = __INITIAL_MXCSR__; > + fxrstor(&sfp->fp_fxsave); > } > > void
I've been running with this additional patch for a couple of hours and the hang has not reappeared. I'll keep the system active and confirm thta everything looks good tomorrow. I swear I've seen this patch before on a list but can't find the original. Can someone give me or point me at some context, so I know what I've just done? :) Thanks! -TimS -- Tim Stewart ----------- Mail: t...@stoo.org Matrix: @tim:stoo.org