diff options
-rw-r--r-- | i386/i386/fpu.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/i386/i386/fpu.h b/i386/i386/fpu.h index 02b67066..51e0f31d 100644 --- a/i386/i386/fpu.h +++ b/i386/i386/fpu.h @@ -132,10 +132,14 @@ static inline void set_xcr0(uint64_t value) { , "d" ((unsigned) (fp_xsave_support >> 32))) #define xrstor(state) \ - asm volatile("xrstor %0" : : "m" (state)) + asm volatile("xrstor %0" : : "m" (state) \ + , "a" ((unsigned) fp_xsave_support) \ + , "d" ((unsigned) (fp_xsave_support >> 32))) #define xrstors(state) \ - asm volatile("xrstors %0" : : "m" (state)) + asm volatile("xrstors %0" : : "m" (state) \ + , "a" ((unsigned) fp_xsave_support) \ + , "d" ((unsigned) (fp_xsave_support >> 32))) #define fwait() \ asm("fwait"); |