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