Allow the system process and a process without a parent process to use all cpus on a smp machine, even if only the boot cpu is running.

svn path=/trunk/; revision=18035
This commit is contained in:
Hartmut Birr 2005-09-24 19:34:54 +00:00
parent 7ee5d3ea71
commit 1effd8ff68
2 changed files with 15 additions and 0 deletions

View file

@ -220,7 +220,14 @@ PspCreateProcess(OUT PHANDLE ProcessHandle,
else
{
pParentProcess = NULL;
#ifdef CONFIG_SMP
/* FIXME:
* Only the boot cpu is initialized in the early boot phase.
*/
Affinity = 0xffffffff;
#else
Affinity = KeActiveProcessors;
#endif
}
/* Add the debug port */

View file

@ -220,7 +220,15 @@ PsInitProcessManagment(VOID)
/* System threads may run on any processor. */
RtlZeroMemory(PsInitialSystemProcess, sizeof(EPROCESS));
#ifdef CONFIG_SMP
/* FIXME:
* Only the boot cpu is initialized. Threads of the
* system process should be able to run on all cpus.
*/
PsInitialSystemProcess->Pcb.Affinity = 0xffffffff;
#else
PsInitialSystemProcess->Pcb.Affinity = KeActiveProcessors;
#endif
PsInitialSystemProcess->Pcb.IopmOffset = 0xffff;
PsInitialSystemProcess->Pcb.BasePriority = PROCESS_PRIORITY_NORMAL;
PsInitialSystemProcess->Pcb.QuantumReset = 6;