[NTOS:IO] Fix affinity of PsInitialSystemProcess

Add a hack to work around SMP-incompatible drivers
This commit is contained in:
Timo Kreuzer 2024-03-06 19:08:13 +02:00
parent baa82a4d4f
commit e9ef091f0e
2 changed files with 7 additions and 0 deletions

View file

@ -1561,6 +1561,9 @@ Phase1InitializationDiscard(IN PVOID Context)
#ifdef CONFIG_SMP
/* Start Application Processors */
KeStartAllProcessors();
/* Set new affinity for system process */
KeSetAffinityProcess(&PsInitialSystemProcess->Pcb, KeActiveProcessors);
#endif
/* Initialize all processors */

View file

@ -554,9 +554,13 @@ IoInitSystem(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
/* Make loader block available for the whole kernel */
IopLoaderBlock = LoaderBlock;
KeSetAffinityProcess(&PsInitialSystemProcess->Pcb, 1);
/* Load boot start drivers */
IopInitializeBootDrivers();
KeSetAffinityProcess(&PsInitialSystemProcess->Pcb, KeActiveProcessors);
/* Call back drivers that asked for */
IopReinitializeBootDrivers();