halinit.c

来自「一个类似windows」· C语言 代码 · 共 67 行

C
67
字号
/* $Id: halinit.c 21261 2006-03-08 23:26:25Z audit $
 *
 * COPYRIGHT:     See COPYING in the top level directory
 * PROJECT:       ReactOS kernel
 * FILE:          ntoskrnl/hal/x86/halinit.c
 * PURPOSE:       Initalize the x86 hal
 * PROGRAMMER:    David Welch (welch@cwcom.net)
 * UPDATE HISTORY:
 *              11/06/98: Created
 */

/* INCLUDES *****************************************************************/

#include <hal.h>
#define NDEBUG
#include <debug.h>

/* GLOBALS *****************************************************************/

PVOID HalpZeroPageMapping = NULL;
HALP_HOOKS HalpHooks;

/* FUNCTIONS ***************************************************************/

NTSTATUS
STDCALL
DriverEntry(
    PDRIVER_OBJECT DriverObject,
    PUNICODE_STRING RegistryPath)
{
	return STATUS_SUCCESS;
}

BOOLEAN STDCALL
HalInitSystem (ULONG BootPhase,
               PLOADER_PARAMETER_BLOCK LoaderBlock)
{
  if (BootPhase == 0)
    {
      RtlZeroMemory(&HalpHooks, sizeof(HALP_HOOKS));
      HalpInitPhase0(LoaderBlock);      
    }
  else if (BootPhase == 1)
    {
      /* Initialize display and make the screen black */
      HalInitializeDisplay (LoaderBlock);
      HalpInitBusHandlers();
      HalpInitDma();

      /* Enumerate the devices on the motherboard */
      HalpStartEnumerator();
   }
  else if (BootPhase == 2)
    {
      PHYSICAL_ADDRESS Null = {{0}};

      /* Go to blue screen */
      HalClearDisplay (0x17); /* grey on blue */
      
      HalpZeroPageMapping = MmMapIoSpace(Null, PAGE_SIZE, MmNonCached);
    }

  return TRUE;
}

/* EOF */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?