https://git.reactos.org/?p=reactos.git;a=commitdiff;h=2e3fe5de9034c0a5c2bfa8...
commit 2e3fe5de9034c0a5c2bfa898382444db557ad872 Author: Timo Kreuzer timo.kreuzer@reactos.org AuthorDate: Sat Dec 3 14:59:14 2022 +0200 Commit: Timo Kreuzer timo.kreuzer@reactos.org CommitDate: Tue Dec 13 07:18:24 2022 +0100
[NTOS] Fix saving of XMM registers on some trap handlers --- ntoskrnl/ke/amd64/trap.S | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/ntoskrnl/ke/amd64/trap.S b/ntoskrnl/ke/amd64/trap.S index 3e13d2b5eb4..45569495390 100644 --- a/ntoskrnl/ke/amd64/trap.S +++ b/ntoskrnl/ke/amd64/trap.S @@ -590,7 +590,7 @@ ENDFUNC PUBLIC KiApcInterrupt .PROC KiApcInterrupt /* No error code */ - EnterTrap (TF_VOLATILES or TF_IRQL) + EnterTrap (TF_SAVE_ALL or TF_IRQL)
/* Raise to APC_LEVEL */ mov rax, APC_LEVEL @@ -617,7 +617,7 @@ PUBLIC KiApcInterrupt mov cr8, rax
/* Return */ - ExitTrap (TF_VOLATILES or TF_IRQL) + ExitTrap (TF_SAVE_ALL or TF_IRQL) .ENDP
/* @@ -659,20 +659,20 @@ PUBLIC KiRetireDpcListInDpcStack PUBLIC KiDpcInterrupt .PROC KiDpcInterrupt /* No error code */ - EnterTrap (TF_VOLATILES or TF_IRQL) + EnterTrap (TF_SAVE_ALL or TF_IRQL)
/* Call the worker routine */ call KiDpcInterruptHandler
/* Return, but don't send an EOI! */ - ExitTrap (TF_VOLATILES or TF_IRQL) + ExitTrap (TF_SAVE_ALL or TF_IRQL) .ENDP
PUBLIC KiIpiInterrupt .PROC KiIpiInterrupt /* No error code */ - EnterTrap (TF_VOLATILES or TF_IRQL) + EnterTrap (TF_SAVE_ALL or TF_IRQL)
/* Raise to IPI_LEVEL */ mov rax, IPI_LEVEL @@ -684,7 +684,7 @@ PUBLIC KiIpiInterrupt int 3
/* Return */ - ExitTrap (TF_VOLATILES or TF_IRQL) + ExitTrap (TF_SAVE_ALL or TF_IRQL) .ENDP