[NTOS] Add MxCsr handling to trap handlers

This commit is contained in:
Timo Kreuzer 2022-07-23 13:31:48 +02:00
parent 92c798c657
commit 620f9ee71a
3 changed files with 17 additions and 1 deletions

View file

@ -97,6 +97,9 @@ MACRO(EnterTrap, Flags)
mov [rbp + KTRAP_FRAME_SegGs], gs
endif
/* Save MCXSR */
stmxcsr [rbp + KTRAP_FRAME_MxCsr]
#if DBG
mov ecx, MSR_GS_BASE
rdmsr
@ -116,6 +119,9 @@ MACRO(EnterTrap, Flags)
mov es, ax
swapgs
/* Load kernel MXCSR */
ldmxcsr gs:[PcMxCsr]
#if DBG
/* Check IRQL */
mov rax, cr8
@ -255,6 +261,9 @@ kernel_mode_return:
movdqa xmm5, [rbp + KTRAP_FRAME_Xmm5]
endif
/* Restore MCXSR */
ldmxcsr [rbp + KTRAP_FRAME_MxCsr]
/* Restore rbp */
mov rbp, [rbp + KTRAP_FRAME_Rbp]