https://git.reactos.org/?p=reactos.git;a=commitdiff;h=2e3fe5de9034c0a5c2bfa…
commit 2e3fe5de9034c0a5c2bfa898382444db557ad872
Author: Timo Kreuzer <timo.kreuzer(a)reactos.org>
AuthorDate: Sat Dec 3 14:59:14 2022 +0200
Commit: Timo Kreuzer <timo.kreuzer(a)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