ReactOS  0.4.14-dev-323-g6fe6a88
halinit_apic.c
Go to the documentation of this file.
1 /*
2  * COPYRIGHT: See COPYING in the top level directory
3  * PROJECT: ReactOS kernel
4  * FILE: hal/halx86/apic/halinit_apic.c
5  * PURPOSE: Initialize the x86 hal
6  * PROGRAMMER: Timo Kreuzer (timo.kreuzer@reactos.org)
7  */
8 
9 /* INCLUDES *****************************************************************/
10 
11 #include <hal.h>
12 #define NDEBUG
13 #include <debug.h>
14 #include "apic.h"
15 
16 VOID
17 NTAPI
19 
20 /* GLOBALS ******************************************************************/
21 
23 
24 /* FUNCTIONS ****************************************************************/
25 
26 VOID
27 NTAPI
29  IN ULONG ProcessorNumber,
30  IN PLOADER_PARAMETER_BLOCK LoaderBlock)
31 {
32  /* Initialize the local APIC for this cpu */
33  ApicInitializeLocalApic(ProcessorNumber);
34 
35  /* Initialize profiling data (but don't start it) */
37 
38  /* Initialize the timer */
39  //ApicInitializeTimer(ProcessorNumber);
40 
41 }
42 
43 VOID
45 {
46 
47  /* Enable clock interrupt handler */
49  0,
53  Latched);
54 }
55 
56 VOID
58 {
59  /* Initialize DMA. NT does this in Phase 0 */
60  HalpInitDma();
61 }
62 
63 /* EOF */
#define IN
Definition: typedefs.h:38
#define HAL_BUILD_TYPE
Definition: halp.h:10
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
VOID HalpInitDma(VOID)
Definition: dma.c:121
VOID NTAPI HalpEnableInterruptHandler(IN UCHAR Flags, IN ULONG BusVector, IN ULONG SystemVector, IN KIRQL Irql, IN PVOID Handler, IN KINTERRUPT_MODE Mode)
Definition: usage.c:49
#define CLOCK2_LEVEL
Definition: env_spec_w32.h:700
VOID NTAPI HalpInitProcessor(IN ULONG ProcessorNumber, IN PLOADER_PARAMETER_BLOCK LoaderBlock)
Definition: halinit_apic.c:28
VOID HalpInitPhase0(IN PLOADER_PARAMETER_BLOCK LoaderBlock)
Definition: halinit_apic.c:44
const USHORT HalpBuildType
Definition: halinit_apic.c:22
VOID HalpInitPhase1(VOID)
Definition: halinit_apic.c:57
#define IDT_INTERNAL
Definition: halp.h:21
VOID HalpClockInterrupt(VOID)
Definition: timer.c:30
unsigned short USHORT
Definition: pedump.c:61
VOID NTAPI ApicInitializeLocalApic(ULONG Cpu)
Definition: apic.c:259
unsigned int ULONG
Definition: retypes.h:1
VOID NTAPI HalInitializeProfiling(VOID)
Definition: apictimer.c:70
#define APIC_CLOCK_VECTOR
Definition: apic.h:29