aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-mips/arc
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-mips/arc')
-rw-r--r--include/asm-mips/arc/hinv.h174
-rw-r--r--include/asm-mips/arc/types.h87
2 files changed, 261 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 */
diff --git a/include/asm-mips/arc/types.h b/include/asm-mips/arc/types.h
new file mode 100644
index 000000000000..bbb725c366fb
--- /dev/null
+++ b/include/asm-mips/arc/types.h
@@ -0,0 +1,87 @@
1/*
2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
4 * for more details.
5 *
6 * Copyright 1999 Ralf Baechle (ralf@gnu.org)
7 * Copyright 1999 Silicon Graphics, Inc.
8 */
9#ifndef _ASM_ARC_TYPES_H
10#define _ASM_ARC_TYPES_H
11
12#include <linux/config.h>
13
14#ifdef CONFIG_ARC32
15
16typedef char CHAR;
17typedef short SHORT;
18typedef long LARGE_INTEGER __attribute__ ((__mode__ (__DI__)));
19typedef long LONG __attribute__ ((__mode__ (__SI__)));
20typedef unsigned char UCHAR;
21typedef unsigned short USHORT;
22typedef unsigned long ULONG __attribute__ ((__mode__ (__SI__)));
23typedef void VOID;
24
25/* The pointer types. Note that we're using a 64-bit compiler but all
26 pointer in the ARC structures are only 32-bit, so we need some disgusting
27 workarounds. Keep your vomit bag handy. */
28typedef LONG _PCHAR;
29typedef LONG _PSHORT;
30typedef LONG _PLARGE_INTEGER;
31typedef LONG _PLONG;
32typedef LONG _PUCHAR;
33typedef LONG _PUSHORT;
34typedef LONG _PULONG;
35typedef LONG _PVOID;
36
37#endif /* CONFIG_ARC32 */
38
39#ifdef CONFIG_ARC64
40
41typedef char CHAR;
42typedef short SHORT;
43typedef long LARGE_INTEGER __attribute__ ((__mode__ (__DI__)));
44typedef long LONG __attribute__ ((__mode__ (__DI__)));
45typedef unsigned char UCHAR;
46typedef unsigned short USHORT;
47typedef unsigned long ULONG __attribute__ ((__mode__ (__DI__)));
48typedef void VOID;
49
50/* The pointer types. We're 64-bit and the firmware is also 64-bit, so
51 live is sane ... */
52typedef CHAR *_PCHAR;
53typedef SHORT *_PSHORT;
54typedef LARGE_INTEGER *_PLARGE_INTEGER;
55typedef LONG *_PLONG;
56typedef UCHAR *_PUCHAR;
57typedef USHORT *_PUSHORT;
58typedef ULONG *_PULONG;
59typedef VOID *_PVOID;
60
61#endif /* CONFIG_ARC64 */
62
63typedef CHAR *PCHAR;
64typedef SHORT *PSHORT;
65typedef LARGE_INTEGER *PLARGE_INTEGER;
66typedef LONG *PLONG;
67typedef UCHAR *PUCHAR;
68typedef USHORT *PUSHORT;
69typedef ULONG *PULONG;
70typedef VOID *PVOID;
71
72/*
73 * Return type of ArcGetDisplayStatus()
74 */
75typedef struct {
76 USHORT CursorXPosition;
77 USHORT CursorYPosition;
78 USHORT CursorMaxXPosition;
79 USHORT CursorMaxYPosition;
80 USHORT ForegroundColor;
81 USHORT BackgroundColor;
82 UCHAR HighIntensity;
83 UCHAR Underscored;
84 UCHAR ReverseVideo;
85} DISPLAY_STATUS;
86
87#endif /* _ASM_ARC_TYPES_H */