/* FUNCTIONS *****************************************************************/
+INIT_SECTION
VOID
NTAPI
-INIT_FUNCTION
KiInitMachineDependent(VOID)
{
ULONG CpuCount;
KiSetCR0Bits();
}
+INIT_SECTION
VOID
NTAPI
-INIT_FUNCTION
KiInitializePcr(IN ULONG ProcessorNumber,
IN PKIPCR Pcr,
IN PKIDTENTRY Idt,
Pcr->PrcbData.MultiThreadProcessorSet = Pcr->PrcbData.SetMember;
}
+INIT_SECTION
VOID
NTAPI
-INIT_FUNCTION
KiInitializeKernel(IN PKPROCESS InitProcess,
IN PKTHREAD InitThread,
IN PVOID IdleStack,
ULONG PageDirectory[2];
PVOID DpcStack;
ULONG Vendor[3];
+ KIRQL DummyIrql;
/* Detect and set the CPU Type */
KiSetProcessorType();
}
/* Raise to Dispatch */
- KfRaiseIrql(DISPATCH_LEVEL);
+ KeRaiseIrql(DISPATCH_LEVEL,
+ &DummyIrql);
/* Set the Idle Priority to 0. This will jump into Phase 1 */
KeSetPriorityThread(InitThread, 0);
KiReleasePrcbLock(Prcb);
/* Raise back to HIGH_LEVEL and clear the PRCB for the loader block */
- KfRaiseIrql(HIGH_LEVEL);
+ KeRaiseIrql(HIGH_LEVEL,
+ &DummyIrql);
LoaderBlock->Prcb = 0;
}
+INIT_SECTION
VOID
FASTCALL
-INIT_FUNCTION
KiGetMachineBootPointers(IN PKGDTENTRY *Gdt,
IN PKIDTENTRY *Idt,
IN PKIPCR *Pcr,
TssSelector.HighWord.Bytes.BaseHi << 24);
}
+INIT_SECTION
VOID
NTAPI
-INIT_FUNCTION
KiSystemStartupBootStack(VOID)
{
PKTHREAD Thread;
/* Force interrupts enabled and lower IRQL back to DISPATCH_LEVEL */
_enable();
- KfLowerIrql(DISPATCH_LEVEL);
+ KeLowerIrql(DISPATCH_LEVEL);
/* Set the right wait IRQL */
Thread->WaitIrql = DISPATCH_LEVEL;
__invlpg(Address);
}
+INIT_SECTION
VOID
NTAPI
-INIT_FUNCTION
KiSystemStartup(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
{
ULONG Cpu;
KIDTENTRY NmiEntry, DoubleFaultEntry;
PKTSS Tss;
PKIPCR Pcr;
+ KIRQL DummyIrql;
/* Boot cycles timestamp */
BootCycles = __rdtsc();
}
/* Raise to HIGH_LEVEL */
- KfRaiseIrql(HIGH_LEVEL);
+ KeRaiseIrql(HIGH_LEVEL,
+ &DummyIrql);
/* Switch to new kernel stack and start kernel bootstrapping */
KiSwitchToBootStack(InitialStack & ~3);