summaryrefslogtreecommitdiffstats
path: root/private/ntos/nthals/halsni4x/mips/halp.h
blob: 647f51316408aa3bbd13ff626370c43662b6c257 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
//#pragma comment(exestr, "$Header: /usr4/winnt/SOURCES/ddk351/src/hal/halsni4x/mips/RCS/halp.h,v 1.1 1995/05/19 10:44:50 flo Exp $")
/*++

Copyright (c) 1991-1993  Microsoft Corporation

Module Name:

    halp.h

Abstract:

    This header file defines the private Hardware Architecture Layer (HAL)
    interfaces.


--*/

#ifndef _HALP_
#define _HALP_

#if defined(NT_UP)

#undef NT_UP

#endif

#include "nthal.h"
#include "hal.h"
#include "SNIhalp.h"
#include "xm86.h"
#include "x86new.h"


//
// Define function prototypes.
//

ULONG
HalpAllocateTbEntry (
    VOID
    );

VOID
HalpFreeTbEntry (
    VOID
    );

VOID
HalpCacheErrorRoutine (
    VOID
    );

BOOLEAN
HalpCalibrateStall (
    VOID
    );

VOID
HalpClockInterrupt(
    VOID
    );


VOID
HalpClockInterrupt1(
    VOID
    );

BOOLEAN
HalpInitializeDisplay0(
    IN PLOADER_PARAMETER_BLOCK LoaderBlock
    );

BOOLEAN
HalpInitializeDisplay1(
    IN PLOADER_PARAMETER_BLOCK LoaderBlock
    );

BOOLEAN
HalpInitializeInterrupts (
    VOID
    );

VOID
HalpProfileInterrupt (
    VOID
    );

ULONG
HalpReadCountRegister (
    VOID
    );

ULONG
HalpWriteCompareRegisterAndClear (
    IN ULONG Value
    );


VOID
HalpStallInterrupt (
    VOID
    );

VOID
HalpResetX86DisplayAdapter(
    VOID
    );

VOID
HalpSendIpi(
	IN ULONG pcpumask,
	IN ULONG msg_data
	);

VOID
HalpProcessIpi (
    IN struct _KTRAP_FRAME *TrapFrame
    );

VOID
HalpInitMPAgent (
    IN ULONG Number
    );

ULONG
HalpGetMyAgent(
    VOID
    );

BOOLEAN
HalpCheckSpuriousInt(
    VOID
    );

VOID
HalpBootCpuRestart(
    VOID
    );

ULONG
HalpGetTaglo(
    IN ULONG Address
    );

//
// Define external references.
//

extern ULONG HalpCurrentTimeIncrement;
extern ULONG HalpNextTimeIncrement;
extern ULONG HalpNewTimeIncrement;
extern KSPIN_LOCK HalpBeepLock;
extern KSPIN_LOCK HalpDisplayAdapterLock;
extern KSPIN_LOCK HalpSystemInterruptLock;
extern KSPIN_LOCK HalpDmaLock;
extern ULONG HalpProfileCountRate;
extern ULONG HalpStallScaleFactor;
extern LONG HalpNetProcessor;

#endif // _HALP_