Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 7 Jun 2004 16:01:09 -0700
From:      David Schultz <das@FreeBSD.ORG>
To:        David Malone <dwmalone@maths.tcd.ie>
Cc:        cvs-all@FreeBSD.ORG
Subject:   Re: cvs commit: src/sys/amd64/amd64 fpu.c
Message-ID:  <20040607230109.GA1165@VARK.homeunix.com>
In-Reply-To: <20040607094321.GA32159@walton.maths.tcd.ie>
References:  <200406060916.i569G2m2097113@repoman.freebsd.org> <20040606091758.GA6354@VARK.homeunix.com> <20040607094321.GA32159@walton.maths.tcd.ie>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jun 07, 2004, David Malone wrote:
> On Sun, Jun 06, 2004 at 02:17:58AM -0700, David Schultz wrote:
> > It would be great if someone could pick this up and devise the
> > appropriate fix.  I want to see this bug fixed, but I don't have the
> > hardware to do amd64 kernel hacking.  I'm happy to help anyone who is
> > interested.
> 
> I think I've figured out the problem. On SMP systems, fpuinit() is
> called before enable_sse() for secondary processors. The ldmxcsr
> instruction counts as a sse instruction, so you get an illegal
> instruction fault. The patch below switches the order of fpuinit()
> and enable_sse() and fixes the problem on my system anyway.

Nice catch.  That would certainly explain the problem, and both of
the machines with reported problems (yours and sledge) are SMP.
Care to commit this?



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040607230109.GA1165>