Пример #1
0
void KernelMain()
{
	EarlyConsoleInit();
	ArchInit();
	ThrEarlyInit();
	TimeInit();
	ShutdownInit();
	
	/* Set up the device-related subsystems. */
	IcInit();

	/* Once we've set up the ICFS framework, there are several
	 * areas of Whitix (like the slab code) that need to expose
	 * their internal information.
	 */

	SlabInfoInit();
	
	ModuleInfoInit();
	
	ThrInit();
	
	VfsInit();
	DevFsInit();
	DeviceInit();
	
	MiscInit();
	
	LoadInit();

	StartInit();

	/* This is where the idle thread idles, after returning from StartInit in startup.c */
	ThrIdleFunc();
}
Пример #2
0
Файл: main.c Проект: 1tgr/mobius
void KernelMain(void)
{
    void *text;

    ArchInit();
    MemInit();
    ProcInit();

    MemMapRange(0, 0, (void*) 0x00100000, 0);
           KeMapPhysicalRange(0x00000000, 0x00001000, false);
           KeMapPhysicalRange(0x00001000, 0x000A0000, false);
           KeMapPhysicalRange(0x000A0000, 0x000B8000, false);
    text = KeMapPhysicalRange(0x000B8000, 0x000C0000, false);
           KeMapPhysicalRange(0x000C0000, 0x00100000, false);
    VmmShare(text, L"_fb_text");

    enable();
    ScEnableSwitch(true);
    ThrCreateThread(&proc_idle, true, KeStartupThread, false, NULL, 16, L"KeStartupThread");

    for (;;)
        ArchProcessorIdle();
}