CVSROOT:        /cvs
Module name:    src
Changes by:     dera...@cvs.openbsd.org 2010/12/07 15:12:44

Modified files:
        sys/arch/amd64/include: cpufunc.h 

Log message:
The rdmsr_locked/wrmsr_locked functions were using "=A" as a constraint for
the 64-bit output/input.  On i386, this means that the 64-bit value is in
eax:edx, but on amd64 gcc this is not the case (might be a gcc bug, or might
be intentionally different and annoying?).  The consequence is that amd64
errata were not always being matched (and then "corrected" using the magic
repair code).  We need to compose/decompose the 64-bit value like the
un-locked msr functions do.
originally pointed out by ragge, ok kettenis jsg

Reply via email to