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
|
/*++ BUILD Version: 0001 // Increment this if a change has global effects
Copyright (c) 1991 Microsoft Corporation
Module Name:
jxhalp.h
Abstract:
This header file defines the private Hardware Architecture Layer (HAL)
Jazz specific interfaces, defines and structures.
Author:
Jeff Havens (jhavens) 20-Jun-91
Revision History:
--*/
#ifndef _JXHALP_
#define _JXHALP_
typedef enum _ADDRESS_SPACE_TYPE{
BusMemory=0,
BusIo = 1,
UserBusMemory = 2,
UserBusIo = 3,
KernelPciDenseMemory = 4,
UserPciDenseMemory = 6,
} ADDRESS_SPACE_TYPE, *PADDRESS_SPACE_TYPE;
extern PVOID HalpSecondaryCacheResetBase;
extern PVOID HalpFirmwareVirtualBase;
extern PVOID PciInterruptRegisterBase;
extern ULONG HalpIoArchitectureType;
extern ULONG HalpMotherboardType;
extern UCHAR *HalpInterruptLineToBit;
extern UCHAR *HalpBitToInterruptLine;
extern UCHAR *HalpInterruptLineToVirtualIsa;
extern UCHAR *HalpVirtualIsaToInterruptLine;
extern ULONGLONG HalpPciConfig0BasePhysical;
extern ULONGLONG HalpPciConfig1BasePhysical;
extern ULONGLONG HalpIsaIoBasePhysical;
extern ULONGLONG HalpIsa1IoBasePhysical;
extern ULONGLONG HalpIsaMemoryBasePhysical;
extern ULONGLONG HalpIsa1MemoryBasePhysical;
extern ULONGLONG HalpPciIoBasePhysical;
extern ULONGLONG HalpPci1IoBasePhysical;
extern ULONGLONG HalpPciMemoryBasePhysical;
extern ULONGLONG HalpPci1MemoryBasePhysical;
extern PPLATFORM_RANGE_LIST HalpRangeList;
extern UCHAR HalpSecondPciBridgeBusNumber;
extern ULONG PCIMaxBus;
extern ULONG HalpIntel82378BusNumber;
extern ULONG HalpIntel82378DeviceNumber;
extern ULONG HalpSecondIntel82378DeviceNumber;
extern ULONG HalpNonExistentPciDeviceMask;
extern ULONG HalpNonExistentPci1DeviceMask;
extern ULONG HalpNonExistentPci2DeviceMask;
extern PLATFORM_RANGE_LIST Gambit20Trebbia13RangeList[];
extern PLATFORM_RANGE_LIST Gambit20Trebbia20RangeList[];
extern UCHAR Treb13InterruptLineToBit[];
extern UCHAR Treb13BitToInterruptLine[];
extern UCHAR Treb13InterruptLineToVirtualIsa[];
extern UCHAR Treb13VirtualIsaToInterruptLine[];
extern UCHAR Treb20InterruptLineToBit[];
extern UCHAR Treb20BitToInterruptLine[];
extern UCHAR Treb20InterruptLineToVirtualIsa[];
extern UCHAR Treb20VirtualIsaToInterruptLine[];
extern ULONG HalpNumberOfIsaBusses;
extern ULONG HalpVgaDecodeBusNumber;
ULONG
HalpReadCountRegister (
VOID
);
ULONG
HalpWriteCompareRegisterAndClear (
IN ULONG Value
);
VOID
HalpInvalidateSecondaryCachePage (
IN PVOID Color,
IN ULONG PageFrame,
IN ULONG Length
);
VOID
HalpArcsSetVirtualBase (
IN ULONG Number,
IN PVOID Base
);
ULONG HalpPciLowLevelConfigRead(
IN ULONG BusNumber,
IN ULONG DeviceNumber,
IN ULONG FunctionNumber,
IN ULONG Register
);
//
// There is not need for Memory Barriers on MIPS, so just define them away.
//
#define HalpMb()
//
// Define used to determine if a page is within the DMA Cache range.
//
#define HALP_PAGE_IN_DMA_CACHE(Page) \
(Page>=0x0001c0 && Page<0x000200)
#endif // _JXHALP_
|