reactos/ntoskrnl/ke/amd64
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
..
boot.S
context.c [NTOS][RTL] Initialize MxCsr where missing 2022-08-22 11:22:08 +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] Fix a bug in KiPrepareUserDebugData 2022-11-24 21:17:58 +02:00
interrupt.c [NTOS:KE/x64] Implement KeDisconnectInterrupt() for amd64 (#4883) 2022-11-22 23:52:18 +03:00
ipi.c [NTOS:KE/x64] Implement initial IPI code 2023-12-18 23:16:39 +02:00
irql.c
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 [NTOSKRNL/x64] Fix a bug in KeSwitchKernelStack 2023-09-17 10:37:50 +03:00
traphandler.c [NTOS:KE/x64] Add back a stubs.c file 2023-12-08 19:38:59 +02:00
usercall.c [NTOS:KE] Fix stack alignment issues 2021-05-28 11:52:42 +02:00
usercall_asm.S [ASM x64] Change ; by /* */ for comments 2021-01-07 21:12:11 +01:00
zeropage.S [NTOS:KE] Also rewrite KeZeroPages in assembly for amd64 2021-08-04 17:48:39 +02:00