]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * ARCS hardware/memory inventory/configuration and system ID definitions. | |
3 | */ | |
4 | #ifndef _ASM_ARC_HINV_H | |
5 | #define _ASM_ARC_HINV_H | |
6 | ||
0caf5833 | 7 | #include <asm/sgidefs.h> |
2f56cfdd | 8 | #include <asm/fw/arc/types.h> |
1da177e4 LT |
9 | |
10 | /* configuration query defines */ | |
11 | typedef enum configclass { | |
12 | SystemClass, | |
13 | ProcessorClass, | |
14 | CacheClass, | |
70342287 | 15 | #ifndef _NT_PROM |
1da177e4 LT |
16 | MemoryClass, |
17 | AdapterClass, | |
18 | ControllerClass, | |
19 | PeripheralClass | |
20 | #else /* _NT_PROM */ | |
21 | AdapterClass, | |
22 | ControllerClass, | |
23 | PeripheralClass, | |
24 | MemoryClass | |
25 | #endif /* _NT_PROM */ | |
26 | } CONFIGCLASS; | |
27 | ||
28 | typedef enum configtype { | |
29 | ARC, | |
30 | CPU, | |
31 | FPU, | |
32 | PrimaryICache, | |
33 | PrimaryDCache, | |
34 | SecondaryICache, | |
35 | SecondaryDCache, | |
36 | SecondaryCache, | |
70342287 | 37 | #ifndef _NT_PROM |
1da177e4 LT |
38 | Memory, |
39 | #endif | |
40 | EISAAdapter, | |
41 | TCAdapter, | |
42 | SCSIAdapter, | |
43 | DTIAdapter, | |
44 | MultiFunctionAdapter, | |
45 | DiskController, | |
46 | TapeController, | |
47 | CDROMController, | |
48 | WORMController, | |
49 | SerialController, | |
50 | NetworkController, | |
51 | DisplayController, | |
52 | ParallelController, | |
53 | PointerController, | |
54 | KeyboardController, | |
55 | AudioController, | |
56 | OtherController, | |
57 | DiskPeripheral, | |
58 | FloppyDiskPeripheral, | |
59 | TapePeripheral, | |
60 | ModemPeripheral, | |
61 | MonitorPeripheral, | |
62 | PrinterPeripheral, | |
63 | PointerPeripheral, | |
64 | KeyboardPeripheral, | |
65 | TerminalPeripheral, | |
66 | LinePeripheral, | |
67 | NetworkPeripheral, | |
68 | #ifdef _NT_PROM | |
69 | Memory, | |
70 | #endif | |
71 | OtherPeripheral, | |
72 | ||
73 | /* new stuff for IP30 */ | |
74 | /* added without moving anything */ | |
75 | /* except ANONYMOUS. */ | |
76 | ||
77 | XTalkAdapter, | |
78 | PCIAdapter, | |
79 | GIOAdapter, | |
80 | TPUAdapter, | |
81 | ||
82 | Anonymous | |
83 | } CONFIGTYPE; | |
84 | ||
85 | typedef enum { | |
86 | Failed = 1, | |
87 | ReadOnly = 2, | |
88 | Removable = 4, | |
89 | ConsoleIn = 8, | |
90 | ConsoleOut = 16, | |
91 | Input = 32, | |
92 | Output = 64 | |
93 | } IDENTIFIERFLAG; | |
94 | ||
95 | #ifndef NULL /* for GetChild(NULL); */ | |
70342287 | 96 | #define NULL 0 |
1da177e4 LT |
97 | #endif |
98 | ||
99 | union key_u { | |
100 | struct { | |
101 | #ifdef _MIPSEB | |
102 | unsigned char c_bsize; /* block size in lines */ | |
103 | unsigned char c_lsize; /* line size in bytes/tag */ | |
104 | unsigned short c_size; /* cache size in 4K pages */ | |
105 | #else /* _MIPSEL */ | |
106 | unsigned short c_size; /* cache size in 4K pages */ | |
107 | unsigned char c_lsize; /* line size in bytes/tag */ | |
108 | unsigned char c_bsize; /* block size in lines */ | |
109 | #endif /* _MIPSEL */ | |
110 | } cache; | |
111 | ULONG FullKey; | |
112 | }; | |
113 | ||
0caf5833 | 114 | #if _MIPS_SIM == _MIPS_SIM_ABI64 |
1da177e4 LT |
115 | #define SGI_ARCS_VERS 64 /* sgi 64-bit version */ |
116 | #define SGI_ARCS_REV 0 /* rev .00 */ | |
117 | #else | |
118 | #define SGI_ARCS_VERS 1 /* first version */ | |
119 | #define SGI_ARCS_REV 10 /* rev .10, 3/04/92 */ | |
120 | #endif | |
121 | ||
93000719 | 122 | typedef struct { |
1da177e4 LT |
123 | CONFIGCLASS Class; |
124 | CONFIGTYPE Type; | |
125 | IDENTIFIERFLAG Flags; | |
126 | USHORT Version; | |
127 | USHORT Revision; | |
70342287 | 128 | ULONG Key; |
1da177e4 LT |
129 | ULONG AffinityMask; |
130 | ULONG ConfigurationDataSize; | |
131 | ULONG IdentifierLength; | |
132 | char *Identifier; | |
133 | } COMPONENT; | |
134 | ||
135 | /* internal structure that holds pathname parsing data */ | |
136 | struct cfgdata { | |
137 | char *name; /* full name */ | |
138 | int minlen; /* minimum length to match */ | |
139 | CONFIGTYPE type; /* type of token */ | |
140 | }; | |
141 | ||
142 | /* System ID */ | |
93000719 | 143 | typedef struct { |
1da177e4 LT |
144 | CHAR VendorId[8]; |
145 | CHAR ProductId[8]; | |
146 | } SYSTEMID; | |
147 | ||
148 | /* memory query functions */ | |
149 | typedef enum memorytype { | |
150 | ExceptionBlock, | |
151 | SPBPage, /* ARCS == SystemParameterBlock */ | |
70342287 | 152 | #ifndef _NT_PROM |
1da177e4 LT |
153 | FreeContiguous, |
154 | FreeMemory, | |
155 | BadMemory, | |
156 | LoadedProgram, | |
157 | FirmwareTemporary, | |
158 | FirmwarePermanent | |
159 | #else /* _NT_PROM */ | |
160 | FreeMemory, | |
161 | BadMemory, | |
162 | LoadedProgram, | |
163 | FirmwareTemporary, | |
164 | FirmwarePermanent, | |
165 | FreeContiguous | |
166 | #endif /* _NT_PROM */ | |
167 | } MEMORYTYPE; | |
168 | ||
93000719 | 169 | typedef struct { |
1da177e4 LT |
170 | MEMORYTYPE Type; |
171 | LONG BasePage; | |
172 | LONG PageCount; | |
173 | } MEMORYDESCRIPTOR; | |
174 | ||
175 | #endif /* _ASM_ARC_HINV_H */ |