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