/* We can store a bunch of data in the gap between MXCSR and the XSAVE header */
+/* MXCSR initialization value for ABI */
+.Lmxcsr_init:
+ .int 0x1f80
+
+/* x87 FPU control word initialization value for ABI */
+.Lfpucw_init:
+ .int 0x037f
+
/* The following symbols point at read-only data that will be filled in by the */
/* post-linker. */
mov %gs:tcsls_last_rsp,%r11
test %r11,%r11
jnz .Lusercall_ret
+/* reset user state */
+ ldmxcsr .Lmxcsr_init(%rip)
+ fldcw .Lfpucw_init(%rip)
/* setup stack */
mov %gs:tcsls_tos,%rsp /* initially, RSP is not set to the correct value */
/* here. This is fixed below under "adjust stack". */