Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 09 May 2013 22:22:51 -0700
From:      Dennis Glatting <freebsd@pki2.com>
To:        Jim Ohlstein <jim@ohlste.in>
Cc:        Konstantin Belousov <kostikbel@gmail.com>, freebsd-stable@freebsd.org
Subject:   Re: Apparent regression in r250359
Message-ID:  <1368163371.96389.2.camel@btw.pki2.com>
In-Reply-To: <518BDA28.20603@ohlste.in>
References:  <518A880C.3090906@ohlste.in> <20130509053055.GM3047@kib.kiev.ua> <518BAEFB.5090204@ohlste.in> <20130509143038.GV3047@kib.kiev.ua> <518BC3E4.1030104@ohlste.in> <20130509160433.GW3047@kib.kiev.ua> <518BDA28.20603@ohlste.in>

next in thread | previous in thread | raw e-mail | index | archive | help
This patch allows my AMD CURRENT to complete boot without core dumping.
I was also able to recompile/reinstall lang/gcc48 without trouble.

My 9.1 systems are busy but I may be able to give it a try tomorrow.





On Thu, 2013-05-09 at 13:17 -0400, Jim Ohlstein wrote:
> On 05/09/13 12:04, Konstantin Belousov wrote:
> > On Thu, May 09, 2013 at 11:42:28AM -0400, Jim Ohlstein wrote:
> >> On 05/09/13 10:30, Konstantin Belousov wrote:
> >>> On Thu, May 09, 2013 at 10:13:15AM -0400, Jim Ohlstein wrote:
> >>>> # sysctl hw.model
> >>>> hw.model: AMD FX(tm)-8350 Eight-Core Processor
> >>> Ahh, so it seems that this is a CPU with the LWP.
> >>> Please try the patch at the end of message.
> >>
> >> Same error
> >>
> >>>
> >>> As another workaround, which does not disable AVX support, you
> >>> could try loader tunable hw.xsave_mask=0x7.
> >>
> >> This works
> >
> > Hm, I see another bug in the next line as well.  Could you try this
> > updated patch ?
> 
> This does work.
> 
> >
> > diff --git a/sys/amd64/amd64/fpu.c b/sys/amd64/amd64/fpu.c
> > index de79baa..9bc8a2f 100644
> > --- a/sys/amd64/amd64/fpu.c
> > +++ b/sys/amd64/amd64/fpu.c
> > @@ -687,8 +687,8 @@ fpugetregs(struct thread *td)
> >   		    offsetof(struct xstate_hdr, xstate_bv));
> >   		max_ext_n = flsl(xsave_mask);
> >   		for (i = 0; i < max_ext_n; i++) {
> > -			bit = 1 << i;
> > -			if ((*xstate_bv & bit) != 0)
> > +			bit = 1ULL << i;
> > +			if ((xsave_mask & bit) == 0 || (*xstate_bv & bit) != 0)
> >   				continue;
> >   			bcopy((char *)fpu_initialstate +
> >   			    xsave_area_desc[i].offset,
> >
> 
> 





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