mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 01:55:19 +00:00
f72d6dd4c5
CORE-1697 Raise IRQL to SYNCH_LEVEL when exiting from the idle thread in the idle loop, in case it is scheduled for execution. Then restore it back to DISPATCH_LEVEL, after this is done. This behaviour is a bit similar to the way it's done on x64. This IRQL raise is necessary only in SMP builds. Calls are placed in CONFIG_SMP ifdef: this avoids unnecessary IRQL changes on UP, since SYNCH_LEVEL and DISPATCH_LEVEL are identical there, unlike in MP, where SYNCH_LEVEL is IPI_LEVEL - 2 actually. This prevents bugcheck DRIVER_IRQL_NOT_LESS_OR_EQUAL when booting SMP x86 ReactOS, in KiTimerExpiration when calling it 2nd time. The BSOD happened due to IRQL levels mismatch. |
||
---|---|---|
.. | ||
abios.c | ||
context.c | ||
cpu.c | ||
ctxswitch.S | ||
exp.c | ||
irqobj.c | ||
kiinit.c | ||
ldt.c | ||
mproc.c | ||
mtrr.c | ||
patpge.c | ||
thrdini.c | ||
trap.s | ||
traphdlr.c | ||
usercall.c | ||
usercall_asm.S | ||
v86vdm.c | ||
zeropage.S |