EMARF
ret
+Entry(cpuid64)
+ ENTER_64BIT_MODE()
+ cpuid
+ ENTER_COMPAT_MODE()
+ ret
+
+
/* FXSAVE and FXRSTOR operate in a mode dependent fashion, hence these variants.
* Must be called with interrupts disabled.
*/
Entry(fxsave64)
movl S_ARG0,%eax
ENTER_64BIT_MODE()
- fxsave 0(%eax)
+ fxsave (%eax)
ENTER_COMPAT_MODE()
ret
Entry(fxrstor64)
movl S_ARG0,%eax
ENTER_64BIT_MODE()
- fxrstor 0(%rax)
+ fxrstor (%rax)
ENTER_COMPAT_MODE()
ret
-Entry(cpuid64)
+Entry(xsave64o)
ENTER_64BIT_MODE()
- cpuid
+ .short 0xAE0F
+ /* MOD 0x4, ECX, 0x1 */
+ .byte 0x21
ENTER_COMPAT_MODE()
ret
+Entry(xrstor64o)
+ ENTER_64BIT_MODE()
+ .short 0xAE0F
+ /* MOD 0x5, ECX 0x1 */
+ .byte 0x29
+ ENTER_COMPAT_MODE()
+ ret