Re: SSE register return with SSE disabled on AMD64

From: Peter Wemm <peter_at_wemm.org>
Date: Sat, 19 Sep 2009 21:41:02 -0700
On Sat, Sep 19, 2009 at 3:19 PM, Barney Cordoba
<barney_cordoba_at_yahoo.com> wrote:
>
>
> --- On Sat, 9/19/09, Ivan Voras <ivoras_at_freebsd.org> wrote:
>
>> From: Ivan Voras <ivoras_at_freebsd.org>
>> Subject: Re: SSE register return with SSE disabled on AMD64
>> To: freebsd-current_at_freebsd.org
>> Date: Saturday, September 19, 2009, 4:52 PM
>> Barney Cordoba wrote:
>> > What causes the error:
>> >
>> > "SSE register return with SSE disabled"
>> >
>> > Im getting it with seemingly simple math. Its in a
>> module so I can
>> > change the switches.
>>
>> Module, as in "kernel module"? Floating point math, and I
>> believe by
>> extension SSE and others, are not allowed in the kernel.
>>
> Yes, Kernel Module
>
> It only seems to affect division, and it works fine in 32 bit mode,
> so I don't think its floating point in general. Is there an emulator
> function or something?
>
> Barney

The error suggests you've got a function returning a double or a float
or an SSE data type.  You cannot do that, either in the kernel or in a
module.  You will cause corruption to user processes.

We compile with -mno-sse etc for a reason on amd64 kernels.  It isn't
allowed on i386 either, but I don't think we have explicit safeguards
therem.

-- 
Peter Wemm - peter_at_wemm.org; peter_at_FreeBSD.org; peter_at_yahoo-inc.com; KI6FJV
"All of this is for nothing if we don't go to the stars" - JMS/B5
"If Java had true garbage collection, most programs would delete
themselves upon execution." -- Robert Sewell
Received on Sun Sep 20 2009 - 03:03:33 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:55 UTC