Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 26 Sep 2019 11:20:51 -0600
From:      Alan Somers <asomers@freebsd.org>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        FreeBSD CURRENT <freebsd-current@freebsd.org>
Subject:   Re: panic: Unregistered use of FPU in kernel
Message-ID:  <CAOtMX2jTS%2Bu-Kw6=5oYQadnDBOBrVqH0Mvb-S8TNLcaswLgNSQ@mail.gmail.com>
In-Reply-To: <20190926170241.GG44691@kib.kiev.ua>
References:  <CAOtMX2gLM8uWuQEz3jq2S3i7BfhUq=y6EH4MCchdJDmnzRqGsA@mail.gmail.com> <20190926170241.GG44691@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Sep 26, 2019 at 11:02 AM Konstantin Belousov <kostikbel@gmail.com>
wrote:

> On Thu, Sep 26, 2019 at 09:45:43AM -0600, Alan Somers wrote:
> > The latest VM snapshot
> (FreeBSD-13.0-CURRENT-amd64-20190920-r352544.qcow2)
> > instapanics on boot:
> >
> > panic: Unregistered use of FPU in kernel
> >
> > stack trace:
> > ...
> > sse42_crc32c
> > readsuper
> > ffs_sbget
> > g_label_ufs_taste_common
> > g_label_taste
> > g_new_provider_event
> > g_run_events
> > fork_exit
> > ...
> >
> > Has anybody touched this area recently?  I'll try to narrow down the
> commit
> > range.
>
> Start with disassembling the faulting instruction.  I suspect that somehow
> vital compiler switches like -mno-sse got omitted in the build.
>

No problem with compiler switches here.  The C file uses inline assembly to
generate a crc32q instruction, in crc32_sse42.c:257.  But why would that
generate a floating point exception?  The instruction doesn't appear to be
using any floating point registers.  This is on a Kaby Lake CPU.

crc32q %rsi, %rbx



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOtMX2jTS%2Bu-Kw6=5oYQadnDBOBrVqH0Mvb-S8TNLcaswLgNSQ>