reactos/ntoskrnl/ke/amd64
Timo Kreuzer 05456808e8 [NTOS:KE/x64] Fix handling of non-volatiles in trap vs exception frame
The registers that are saved/restored in the trap / exception frame need to be consistent between all entry/exit points as well as the functions that convert between trap/exception frame and context. The trap frame contains only the non-volatile registers and rbp, the rest is saved in the exception frame.
The previous code didn't save rbp in the syscall handler, which led to it being clobbered when exiting though KiServiceExit2 rather than returning back to the syscall exit path. Also KeContextToTrapFrame would use rbx, rsi and rdi from the trap frame, which wouldn't be saved there by the syscall handler.
2024-04-14 16:09:20 +02:00
..
boot.S Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
context.c [NTOS:KE/x64] Fix handling of non-volatiles in trap vs exception frame 2024-04-14 16:09:20 +02:00
cpu.c [NTOS:KE/x64] Implement detection of more KF_* feature flags 2023-10-03 19:45:44 +03:00
ctxswitch.S [NTOS] Fix unwinding through KiThreadStartup 2022-11-24 21:17:58 +02:00
except.c [NTOS:Ke/x64] Improve KiDispatchExceptionToUser 2024-04-04 18:41:39 +02:00
interrupt.c [NTOS/x64] Gracefully handle invalid Vector in KeConnectInterrupt 2024-03-02 07:30:06 +01:00
ipi.c [NTOS:KE/x64] Implement initial IPI code 2023-12-18 23:16:39 +02:00
irql.c Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys. 2017-10-03 07:45:34 +00:00
kiinit.c [NTOS:KE/x64] Factor out KiIntializeProcessorBootStructures 2023-12-08 20:16:51 +02:00
krnlinit.c [NTOS:KE] Fix initialization of node block for application processors 2024-01-18 22:41:46 +01:00
mproc.c [NTOS:KE][HALX86] Implement AP startup code (#5879) 2023-11-19 15:51:33 -08:00
spinlock.c [NTOS] Fix build with CONFIG_SMP 2021-06-19 12:17:18 +02:00
stubs.c [NTOS:KE] Set IRQL to SYNCH_LEVEL when exiting from idle after the thread is ready for execution (#6386) 2024-01-20 15:55:20 +01:00
thrdini.c [NTOSKRNL/x64] Fix bug in KiInitializeContextThread 2023-09-07 01:16:14 +03:00
trap.S [NTOS:KE/x64] Fix handling of non-volatiles in trap vs exception frame 2024-04-14 16:09:20 +02:00
traphandler.c [NTOS:KE/x64] Move setting the thread's trap frame to KiSystemCallEntry64 2024-03-31 12:12:48 +02:00
usercall.c [NTOS:KE/x64] Implement KiUserCallbackExit 2024-04-07 09:13:58 +02:00
usercall_asm.S [NTOS:KE/x64] Implement KiUserCallbackExit 2024-04-07 09:13:58 +02:00
zeropage.S [NTOS:KE] Also rewrite KeZeroPages in assembly for amd64 2021-08-04 17:48:39 +02:00