ReactOS 0.4.15-dev-7918-g2a2556c
halinit.c
Go to the documentation of this file.
1/*
2 * PROJECT: Xbox HAL
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 "halxbox.h"
11
12#define NDEBUG
13#include <debug.h>
14
15/* FUNCTIONS ****************************************************************/
16
17VOID
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
29{
30 /* Initialize Xbox-specific disk hacks */
32}
33
34VOID
36{
37 /* Enable timer interrupt handler */
39 0,
43 Latched);
44
45 /* Enable RTC interrupt handler */
47 0,
51 Latched);
52
53 /* Initialize DMA. NT does this in Phase 0 */
55}
56
57/* EOF */
#define CLOCK2_LEVEL
Definition: env_spec_w32.h:700
#define PROFILE_LEVEL
Definition: env_spec_w32.h:698
VOID HalpClockInterrupt(VOID)
Definition: timer.c:30
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
VOID HalpInitDma(VOID)
Definition: dma.c:185
VOID HalpInitPhase0(PLOADER_PARAMETER_BLOCK LoaderBlock)
Definition: halinit_mp.c:30
#define PRIMARY_VECTOR_BASE
Definition: halp.h:16
VOID HalpProfileInterrupt(VOID)
VOID HalpInitPhase1(VOID)
Definition: halinit_up.c:26
#define IDT_DEVICE
Definition: halp.h:22
#define PIC_RTC_IRQ
Definition: halhw.h:157
#define PIC_CASCADE_IRQ
Definition: halhw.h:156
#define PIC_TIMER_IRQ
Definition: halhw.h:155
VOID NTAPI HalpInitProcessor(IN ULONG ProcessorNumber, IN PLOADER_PARAMETER_BLOCK LoaderBlock)
Definition: halinit.c:24
#define KeGetPcr()
Definition: ketypes.h:81
void HalpXboxInitPartIo(void)
Definition: part_xbox.c:331
@ Latched
Definition: miniport.h:81
#define NTAPI
Definition: typedefs.h:36
#define IN
Definition: typedefs.h:39
uint32_t ULONG
Definition: typedefs.h:59