summaryrefslogtreecommitdiffstats
path: root/private/ntos/nthals/halr98b/mips/mipsdat.c
blob: e50fbfe7e144c19e7ad98f570d5f3ba84a6ca9d8 (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
/*++

Copyright (c) 1991  Microsoft Corporation

Module Name:

    ixdat.c

Abstract:

    Declares various data which is initialize data, or pagable data.

Author:

Environment:

    Kernel mode only.

Revision History:

--*/

/*++

Revision History:


--*/

#include "halp.h"

#ifdef ALLOC_DATA_PRAGMA
#pragma data_seg("INIT")
#endif

//
// The following data is only valid during system initialiation
// and the memory will be re-claimed by the system afterwards
//

ADDRESS_USAGE HalpDefaultPcIoSpace = {
    NULL, CmResourceTypePort, InternalUsage,
    {
        EISA_CONTROL_PHYSICAL_BASE+0x000,  0x10,   // ISA DMA
        EISA_CONTROL_PHYSICAL_BASE+0x0C0,  0x10,   // ISA DMA
        EISA_CONTROL_PHYSICAL_BASE+0x080,  0x10,   // DMA

        EISA_CONTROL_PHYSICAL_BASE+0x020,  0x2,    // PIC
        EISA_CONTROL_PHYSICAL_BASE+0x0A0,  0x2,    // Cascaded PIC

        EISA_CONTROL_PHYSICAL_BASE+0x040,  0x4,    // Timer1, Referesh, Speaker, Control Word
        EISA_CONTROL_PHYSICAL_BASE+0x048,  0x4,    // Timer2, Failsafe

        EISA_CONTROL_PHYSICAL_BASE+0x061,  0x1,    // NMI  (system control port B)
        EISA_CONTROL_PHYSICAL_BASE+0x092,  0x1,    // system control port A

        EISA_CONTROL_PHYSICAL_BASE+0x070,  0x2,    // Cmos/NMI enable
        EISA_CONTROL_PHYSICAL_BASE+0x0F0,  0x10,   // coprocessor ports
        0,0
    }
};

ADDRESS_USAGE HalpEisaIoSpace = {
    NULL, CmResourceTypePort, InternalUsage,
    {
        EISA_CONTROL_PHYSICAL_BASE+0x0D0,  0x10,   // DMA
        EISA_CONTROL_PHYSICAL_BASE+0x400,  0x10,   // DMA
        EISA_CONTROL_PHYSICAL_BASE+0x480,  0x10,   // DMA
        EISA_CONTROL_PHYSICAL_BASE+0x4C2,  0xE,    // DMA
        EISA_CONTROL_PHYSICAL_BASE+0x4D4,  0x2C,   // DMA

        EISA_CONTROL_PHYSICAL_BASE+0x461,  0x2,    // Extended NMI
        EISA_CONTROL_PHYSICAL_BASE+0x464,  0x2,    // Last Eisa Bus Muster granted

        EISA_CONTROL_PHYSICAL_BASE+0x4D0,  0x2,    // edge/level control registers

        EISA_CONTROL_PHYSICAL_BASE+0xC84,  0x1,    // System board enable
        0, 0
    }
};

#define R98_MAPREGISTER_BASE 100	


ADDRESS_USAGE HalpMapRegisterMemorySpace = {
    NULL, CmResourceTypeMemory, InternalUsage,
    {
        R98_MAPREGISTER_BASE,   (USHORT)(DMA_TRANSLATION_LIMIT/(sizeof(TRANSLATION_ENTRY))*PAGE_SIZE),   // for Map Register Area CMP001
        0, 0
    }
};

//
// from ixdat.c
//

UCHAR HalpSzBreak[]     = "BREAK";
UCHAR HalpSzPciLock[]   = "PCILOCK";

//
// From usage.c
//

ADDRESS_USAGE  *HalpAddressUsageList;

//
// Misc hal stuff in the registry
//

WCHAR rgzHalClassName[] = L"Hardware Abstraction Layer";


//
// From ixpcibus.c
//

WCHAR rgzMultiFunctionAdapter[] = L"\\Registry\\Machine\\Hardware\\Description\\System\\MultifunctionAdapter";
WCHAR rgzConfigurationData[] = L"Configuration Data";
WCHAR rgzIdentifier[] = L"Identifier";
WCHAR rgzPCIIndetifier[] = L"PCI";
WCHAR rgzReservedResources[] = L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\SystemResources\\ReservedResources"; // A002


#ifdef ALLOC_DATA_PRAGMA
#pragma data_seg()
#endif

//
// IDT vector usage info
//
// 
#if defined(MIPS)
IDTUsage    HalpIDTUsage[MAXIMUM_VECTOR];	// Size of PCR->InterruptRoutine[]
#else
IDTUsage    HalpIDTUsage[MAXIMUM_IDTVECTOR];
#endif