Reactos
at master 56 lines 1.5 kB view raw
1/* 2 * PROJECT: ReactOS Hardware Abstraction Layer 3 * LICENSE: GPL-2.0-or-later (https://spdx.org/licenses/GPL-2.0-or-later) 4 * PURPOSE: Initialize the x86 HAL 5 * COPYRIGHT: Copyright 1998 David Welch (welch@cwcom.net) 6 */ 7 8/* INCLUDES *****************************************************************/ 9 10#include <hal.h> 11 12#define NDEBUG 13#include <debug.h> 14 15/* FUNCTIONS ****************************************************************/ 16 17VOID 18NTAPI 19HalpInitProcessor( 20 IN ULONG ProcessorNumber, 21 IN PLOADER_PARAMETER_BLOCK LoaderBlock) 22{ 23 /* Set default IDR */ 24 KeGetPcr()->IDR = 0xFFFFFFFF & ~(1 << PIC_CASCADE_IRQ); 25} 26 27VOID 28HalpInitPhase0(IN PLOADER_PARAMETER_BLOCK LoaderBlock) 29{ 30 31} 32 33VOID 34HalpInitPhase1(VOID) 35{ 36 /* Enable timer interrupt handler */ 37 HalpEnableInterruptHandler(IDT_DEVICE, 38 0, 39 PRIMARY_VECTOR_BASE + PIC_TIMER_IRQ, 40 CLOCK2_LEVEL, 41 HalpClockInterrupt, 42 Latched); 43 44 /* Enable RTC interrupt handler */ 45 HalpEnableInterruptHandler(IDT_DEVICE, 46 0, 47 PRIMARY_VECTOR_BASE + PIC_RTC_IRQ, 48 PROFILE_LEVEL, 49 HalpProfileInterrupt, 50 Latched); 51 52 /* Initialize DMA. NT does this in Phase 0 */ 53 HalpInitDma(); 54} 55 56/* EOF */