reactos/ntoskrnl/ke/i386
Oleg Dubinskiy f72d6dd4c5
[NTOS:KE] Set IRQL to SYNCH_LEVEL when exiting from idle after the thread is ready for execution (#6386)
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.
2024-01-20 15:55:20 +01:00
..
abios.c
context.c
cpu.c [NTOS:KE] Report x86 CPU features in a separate function 2023-07-02 21:00:31 +03:00
ctxswitch.S [FORMATTING][NTOS][HAL][DRIVERS][SDK] Fix trailing spaces 2021-06-11 15:33:08 +03:00
exp.c [NTOS:KE] Remove all checks for x87 not being present 2022-01-25 02:12:33 +03:00
irqobj.c
kiinit.c [NTOS:KE] Fix initialization of node block for application processors 2024-01-18 22:41:46 +01:00
ldt.c Fix typo "managment" -> "management" in our codebase... 2023-06-04 21:39:56 +02:00
mproc.c [NTOS:KE] Don't hardcode pool tag and TSS flag values (#6051) 2023-12-03 17:33:10 +01:00
mtrr.c [REACTOS] Cleanup INIT and some PAGE section allocations 2020-11-02 21:45:31 +03:00
patpge.c [REACTOS] Cleanup INIT and some PAGE section allocations 2020-11-02 21:45:31 +03:00
thrdini.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
trap.s [NTOS:KE] Rewrite KiSystemCallTrampoline in assembly 2021-04-06 17:57:18 +02:00
traphdlr.c [REACTOS] Fix typos (#6198) 2023-12-23 21:37:08 +01:00
usercall.c [NTOS:KE] Fix stack memory disclosure in KiInitializeUserApc (#2988) 2020-07-27 03:39:48 +03:00
usercall_asm.S
v86vdm.c [NTOSKRNL] Regroup the pool allocation tags in one dedicated place 2021-12-27 18:57:03 +01:00
zeropage.S [NTOS:KE] Rewrite KeZeroPages in assembly 2021-08-04 17:48:39 +02:00