[Bug 206370] amd64 fpu not fully initialized

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Jan 18 16:13:23 UTC 2016


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=206370

            Bug ID: 206370
           Summary: amd64 fpu not fully initialized
           Product: Base System
           Version: 10.2-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Keywords: patch
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: joss.upton at yahoo.com
                CC: freebsd-amd64 at FreeBSD.org
                CC: freebsd-amd64 at FreeBSD.org

Created attachment 165763
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=165763&action=edit
fpu zero-ing diff

The register file for the x86 MMU is not fully zero'd when creating the thread0
context.  This leaves garbage in several of the registers.  For the X87 FPU
registers, they are properly tagged as empty, but the register file still
contains garbage.  For the XMM registers, only register 0 is actually zero'd
(not the whole file).  The diff attached, fully zero's the X87 registers and
ALL 16 of the XMM registers.

The contents of the fxsave area look something like the stuff below w/out the
diff.  With the diff, all of the registers are zero'd.  Diff is against 10.2-R.

xmm st0 = 0100000000000000ffff
xmm st1 = 00f0000000000000ffff
xmm st2 = 27e9000000000000ffff
xmm st3 = a1e8000000000000ffff
xmm st4 = 2800000000000000ffff
xmm st5 = 0000000000000000ffff
xmm st6 = 0a00000000000000ffff
xmm st7 = 00000000000000000000
xmm xmm0 = 00000000000000000000000000000000
xmm xmm1 = 0000c842000000000000000000000000
xmm xmm2 = 075b0000000000000000000000000000
xmm xmm3 = 00000080000000000000000000000000
xmm xmm4 = 40020000000000000000000000000000
xmm xmm5 = 020000e0000000000000000000000000
xmm xmm6 = 00400000000000000000000000000000
xmm xmm7 = 3f7f0000000000000000000000000000
xmm xmm8 = 00000000000000000000000000000000
xmm xmm9 = 00000000000000000000000000000000
xmm xmma = 00000000000000000000000000000000
xmm xmmb = 00000000000000000000000000000000
xmm xmmc = 00000000000000000000000000000000
xmm xmmd = 00000000000000000000000000000000
xmm xmme = 00000000000000000000000000000000
xmm xmmf = 00000000000000000000000000000000

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list