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