reactos/hal/halx86
Thomas Faber fc9bc9390d
[HAL] Reset the stack pointer to the stack frame when calling second-entry interrupt handlers. CORE-14449
Because we can encounter pending interrupts repeatedly,
HalpEndSoftwareInterrupt and HalEndSystemInterrupt already clean up the stack
space for their arguments (done for CORE-11123/CORE-14076).
However these functions are called from C functions such as KiInterruptDispatch
and HalpDispatchInterrupt2[ndEntry]. These callers also use up stack space,
and it is unknown how much.
To fix this, we simply reset the stack pointer to the location of the trap
frame, which is where it points during a first-level dispatch. This cleans
up the stack usage of any callers higher up, and is okay because a return
will happen through the trap frame anyway.

Dedicated to Pierre.
2018-04-13 09:04:52 +02:00
..
acpi
amd64
apic [HAL] Implement APIC-based profiling for x64. 2018-02-15 12:45:29 +01:00
generic [REACTOS] Fix 64 bit build (#465) 2018-04-03 15:13:17 -06:00
include [HAL] Eliminate tail calls from HalpDispatchInterrupt[2]. CORE-14076 2018-02-18 13:06:42 +01:00
legacy Add a small descriptive comment for the reason why the chosen files are specified in a .gitattributes file. 2017-10-08 15:48:07 +02:00
minihal
mp
up [HAL] Reset the stack pointer to the stack frame when calling second-entry interrupt handlers. CORE-14449 2018-04-13 09:04:52 +02:00
xbox
acpi.cmake
apic.cmake
CMakeLists.txt
generic.cmake [HALX86] Deduplicate initialization of legacy PICs and remove EOI in I/O APIC initialization, which causes an unexpected interrupt 2017-12-17 09:51:37 +01:00
legacy.cmake
pcidata.cmake
pic.cmake
up.cmake