ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

VOID NTAPI KdpScreenInit ( PKD_DISPATCH_TABLE  DispatchTable,
ULONG  BootPhase 
)

Definition at line 463 of file kdio.c.

{
    SIZE_T MemSizeMBs;
    if (!KdpDebugMode.Screen) return;

    if (BootPhase == 0)
    {
        /* Write out the functions that we support for now */
        DispatchTable->KdpInitRoutine = KdpScreenInit;
        DispatchTable->KdpPrintRoutine = KdpScreenPrint;

        /* Register as a Provider */
        InsertTailList(&KdProviders, &DispatchTable->KdProvidersList);
    }
    else if (BootPhase == 1)
    {
      /* Allocate a buffer for dmesg log buffer. +1 for terminating null,
       * see kdbp_cli.c:KdbpCmdDmesg()/2
       */
      KdpDmesgBuffer = ExAllocatePool(NonPagedPool, KdpDmesgBufferSize + 1);
      RtlZeroMemory(KdpDmesgBuffer, KdpDmesgBufferSize + 1);
      KdpDmesgFreeBytes = KdpDmesgBufferSize;
      KdbDmesgTotalWritten = 0;

      /* Take control of the display */
      InbvAcquireDisplayOwnership();
      InbvResetDisplay();
      InbvSolidColorFill(0, 0, 639, 479, 0);
      InbvSetTextColor(15);
      InbvSetScrollRegion(0, 0, 639, 479);
      InbvInstallDisplayStringFilter(NULL);
      InbvEnableDisplayString(TRUE);

      /* Initialize spinlock */
      KeInitializeSpinLock(&KdpDmesgLogSpinLock);

      /* Display separator + ReactOS version at start of the debug log */
      DPRINT1("-----------------------------------------------------\n");
      DPRINT1("ReactOS "KERNEL_VERSION_STR" (Build "KERNEL_VERSION_BUILD_STR")\n");
      MemSizeMBs = MmNumberOfPhysicalPages * PAGE_SIZE / 1024 / 1024;
      DPRINT1("%u System Processor [%u MB Memory]\n", KeNumberProcessors, MemSizeMBs);
      DPRINT1("Command Line: %s\n", KeLoaderBlock->LoadOptions);
      DPRINT1("ARC Paths: %s %s %s %s\n", KeLoaderBlock->ArcBootDeviceName,
                                          KeLoaderBlock->NtHalPathName,
                                          KeLoaderBlock->ArcHalDeviceName,
                                          KeLoaderBlock->NtBootPathName);
    }
    else if (BootPhase == 2)
    {
        HalDisplayString("\n   Screen debugging enabled\n\n");
    }
}

Generated on Sun May 27 2012 06:07:24 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.