/* * @implemented */ INIT_SECTION VOID NTAPI HalReportResourceUsage(VOID) { INTERFACE_TYPE InterfaceType; UNICODE_STRING HalString; /* FIXME: Initialize MCA bus */ /* Initialize PCI bus. */ HalpInitializePciBus(); /* Initialize the stubs */ HalpInitializePciStubs(); /* What kind of bus is this? */ switch (HalpBusType) { /* ISA Machine */ case MACHINE_TYPE_ISA: InterfaceType = Isa; break; /* EISA Machine */ case MACHINE_TYPE_EISA: InterfaceType = Eisa; break; /* MCA Machine */ case MACHINE_TYPE_MCA: InterfaceType = MicroChannel; break; /* Unknown */ default: InterfaceType = Internal; break; } /* Build HAL usage */ RtlInitUnicodeString(&HalString, HalName); HalpReportResourceUsage(&HalString, InterfaceType); /* Setup PCI debugging and Hibernation */ HalpRegisterPciDebuggingDeviceInfo(); }
VOID BootMain(LPSTR CmdLine) { CmdLineParse(CmdLine); MachInit(CmdLine); FsInit(); DebugInit(); TRACE("BootMain() called.\n"); /* Check if the CPU is new enough */ FrLdrCheckCpuCompatiblity(); if (!UiInitialize(FALSE)) { UiMessageBoxCritical("Unable to initialize UI.\n"); goto quit; } if (!MmInitializeMemoryManager()) { UiMessageBoxCritical("Unable to initialize memory manager"); goto quit; } #ifdef _M_IX86 HalpInitializePciStubs(); HalpInitBusHandler(); #endif RunLoader(); quit: /* If we reach this point, something went wrong before, therefore reboot */ DiskStopFloppyMotor(); Reboot(); }