mirror of
https://github.com/reactos/reactos.git
synced 2024-10-03 16:05:37 +00:00
- Use __readfsdword instead of de-referencing the Boot PCR, which is not queried for Application CPUs. (And put the Goto back where it was). Thanks to Thomas Weidenmueller for noticing.
svn path=/trunk/; revision=24344
This commit is contained in:
parent
41ecee90f7
commit
4f1804b0c0
|
@ -311,13 +311,12 @@ KiSystemStartup(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
|
||||||
/* Initialize the machine type */
|
/* Initialize the machine type */
|
||||||
KiInitializeMachineType();
|
KiInitializeMachineType();
|
||||||
|
|
||||||
|
/* Skip initial setup if this isn't the Boot CPU */
|
||||||
|
if (Cpu) goto AppCpuInit;
|
||||||
|
|
||||||
/* Get GDT, IDT, PCR and TSS pointers */
|
/* Get GDT, IDT, PCR and TSS pointers */
|
||||||
KiGetMachineBootPointers(&Gdt, &Idt, &Pcr, &Tss);
|
KiGetMachineBootPointers(&Gdt, &Idt, &Pcr, &Tss);
|
||||||
|
|
||||||
/* Skip initial setup if this isn't the Boot CPU */
|
|
||||||
if (Cpu)
|
|
||||||
goto AppCpuInit;
|
|
||||||
|
|
||||||
/* Setup the TSS descriptors and entries */
|
/* Setup the TSS descriptors and entries */
|
||||||
Ki386InitializeTss(Tss, Idt, Gdt);
|
Ki386InitializeTss(Tss, Idt, Gdt);
|
||||||
|
|
||||||
|
@ -361,7 +360,7 @@ AppCpuInit:
|
||||||
HalInitializeProcessor(Cpu, KeLoaderBlock);
|
HalInitializeProcessor(Cpu, KeLoaderBlock);
|
||||||
|
|
||||||
/* Set active processors */
|
/* Set active processors */
|
||||||
KeActiveProcessors |= Pcr->SetMember;
|
KeActiveProcessors |= __readfsdword(KPCR_SET_MEMBER);
|
||||||
KeNumberProcessors++;
|
KeNumberProcessors++;
|
||||||
|
|
||||||
/* Check if this is the boot CPU */
|
/* Check if this is the boot CPU */
|
||||||
|
|
Loading…
Reference in a new issue