[NTOS:KE:X64][ASM:X64] Fix delivery of APCs
authorTimo Kreuzer <timo.kreuzer@reactos.org>
Mon, 12 Feb 2018 19:53:15 +0000 (20:53 +0100)
committerTimo Kreuzer <timo.kreuzer@reactos.org>
Sat, 31 Oct 2020 13:23:16 +0000 (14:23 +0100)
commita016ccd1171ecaa39bc0f86edd451e32c716d2c7
treedb4dbe9ce2bcd4803d2a131f095b00b1b5998a18
parentfdc1261fb77879cde0afb14912f928a44b5b6305
[NTOS:KE:X64][ASM:X64] Fix delivery of APCs

- Deliver pending APCs on trap exit
- Pass the trapframe of KiApcInterrupt to KiDeliverApcs, not NULL.
- Fix parameter passing from KiSwapContext to KiSwapContextInternal and KiSwapContextResume, so that the ApcBypass parameter is not uninitialized
- Fix return value of KiSwapContextResume to correctly indicate whether we want to have APCs directly delivered or not (when there are non, or when delivery is suppressed)
ntoskrnl/ke/amd64/ctxswitch.S
ntoskrnl/ke/amd64/thrdini.c
ntoskrnl/ke/amd64/trap.S
sdk/include/asm/trapamd64.inc