[NTOS] Fix saving of XMM registers on some trap handlers

This commit is contained in:
Timo Kreuzer 2022-12-03 14:59:14 +02:00
parent 52fe43e87b
commit 2e3fe5de90

View file

@ -590,7 +590,7 @@ ENDFUNC
PUBLIC KiApcInterrupt PUBLIC KiApcInterrupt
.PROC KiApcInterrupt .PROC KiApcInterrupt
/* No error code */ /* No error code */
EnterTrap (TF_VOLATILES or TF_IRQL) EnterTrap (TF_SAVE_ALL or TF_IRQL)
/* Raise to APC_LEVEL */ /* Raise to APC_LEVEL */
mov rax, APC_LEVEL mov rax, APC_LEVEL
@ -617,7 +617,7 @@ PUBLIC KiApcInterrupt
mov cr8, rax mov cr8, rax
/* Return */ /* Return */
ExitTrap (TF_VOLATILES or TF_IRQL) ExitTrap (TF_SAVE_ALL or TF_IRQL)
.ENDP .ENDP
/* /*
@ -659,20 +659,20 @@ PUBLIC KiRetireDpcListInDpcStack
PUBLIC KiDpcInterrupt PUBLIC KiDpcInterrupt
.PROC KiDpcInterrupt .PROC KiDpcInterrupt
/* No error code */ /* No error code */
EnterTrap (TF_VOLATILES or TF_IRQL) EnterTrap (TF_SAVE_ALL or TF_IRQL)
/* Call the worker routine */ /* Call the worker routine */
call KiDpcInterruptHandler call KiDpcInterruptHandler
/* Return, but don't send an EOI! */ /* Return, but don't send an EOI! */
ExitTrap (TF_VOLATILES or TF_IRQL) ExitTrap (TF_SAVE_ALL or TF_IRQL)
.ENDP .ENDP
PUBLIC KiIpiInterrupt PUBLIC KiIpiInterrupt
.PROC KiIpiInterrupt .PROC KiIpiInterrupt
/* No error code */ /* No error code */
EnterTrap (TF_VOLATILES or TF_IRQL) EnterTrap (TF_SAVE_ALL or TF_IRQL)
/* Raise to IPI_LEVEL */ /* Raise to IPI_LEVEL */
mov rax, IPI_LEVEL mov rax, IPI_LEVEL
@ -684,7 +684,7 @@ PUBLIC KiIpiInterrupt
int 3 int 3
/* Return */ /* Return */
ExitTrap (TF_VOLATILES or TF_IRQL) ExitTrap (TF_SAVE_ALL or TF_IRQL)
.ENDP .ENDP