1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _ASM_SGIARCS_H
20#define _ASM_SGIARCS_H
21#include <asm/types.h>
22#include <asm/fw/arc/types.h>
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24#define PROM_ESUCCESS 0x00
25#define PROM_E2BIG 0x01
26#define PROM_EACCESS 0x02
27#define PROM_EAGAIN 0x03
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29#define PROM_EBADF 0x04
30#define PROM_EBUSY 0x05
31#define PROM_EFAULT 0x06
32#define PROM_EINVAL 0x07
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34#define PROM_EIO 0x08
35#define PROM_EISDIR 0x09
36#define PROM_EMFILE 0x0a
37#define PROM_EMLINK 0x0b
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39#define PROM_ENAMETOOLONG 0x0c
40#define PROM_ENODEV 0x0d
41#define PROM_ENOENT 0x0e
42#define PROM_ENOEXEC 0x0f
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44#define PROM_ENOMEM 0x10
45#define PROM_ENOSPC 0x11
46#define PROM_ENOTDIR 0x12
47#define PROM_ENOTTY 0x13
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49#define PROM_ENXIO 0x14
50#define PROM_EROFS 0x15
51#define PROM_EADDRNOTAVAIL 0x1f
52#define PROM_ETIMEDOUT 0x20
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54#define PROM_ECONNABORTED 0x21
55#define PROM_ENOCONNECT 0x22
56enum linux_devclass {
57 system, processor, cache, adapter, controller, peripheral, memory
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59};
60enum linux_devtypes {
61 Arc, Cpu, Fpu,
62 picache, pdcache,
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64 sicache, sdcache, sccache,
65 memdev, eisa_adapter, tc_adapter, scsi_adapter, dti_adapter,
66 multifunc_adapter, dsk_controller, tp_controller, cdrom_controller,
67 worm_controller, serial_controller, net_controller, disp_controller,
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 parallel_controller, ptr_controller, kbd_controller, audio_controller,
70 misc_controller, disk_peripheral, flpy_peripheral, tp_peripheral,
71 modem_peripheral, monitor_peripheral, printer_peripheral,
72 ptr_peripheral, kbd_peripheral, term_peripheral, line_peripheral,
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 net_peripheral, misc_peripheral, anon
75};
76enum linux_identifier {
77 bogus, ronly, removable, consin, consout, input, output
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79};
80struct linux_component {
81 enum linux_devclass class;
82 enum linux_devtypes type;
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 enum linux_identifier iflags;
85 USHORT vers;
86 USHORT rev;
87 ULONG key;
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89 ULONG amask;
90 ULONG cdsize;
91 ULONG ilen;
92 _PULONG iname;
93/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
94};
95typedef struct linux_component pcomponent;
96struct linux_sysid {
97 char vend[8], prod[8];
98/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99};
100enum arcs_memtypes {
101 arcs_eblock,
102 arcs_rvpage,
103/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
104 arcs_fcontig,
105 arcs_free,
106 arcs_bmem,
107 arcs_prog,
108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
109 arcs_atmp,
110 arcs_aperm,
111};
112enum arc_memtypes {
113/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
114 arc_eblock,
115 arc_rvpage,
116 arc_free,
117 arc_bmem,
118/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
119 arc_prog,
120 arc_atmp,
121 arc_aperm,
122 arc_fcontig,
123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
124};
125union linux_memtypes {
126 enum arcs_memtypes arcs;
127 enum arc_memtypes arc;
128/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
129};
130struct linux_mdesc {
131 union linux_memtypes type;
132 ULONG base;
133/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
134 ULONG pages;
135};
136struct linux_tinfo {
137 unsigned short yr;
138/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
139 unsigned short mnth;
140 unsigned short day;
141 unsigned short hr;
142 unsigned short min;
143/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
144 unsigned short sec;
145 unsigned short msec;
146};
147struct linux_vdirent {
148/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
149 ULONG namelen;
150 unsigned char attr;
151 char fname[32];
152};
153/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
154enum linux_omode {
155 rdonly, wronly, rdwr, wronly_creat, rdwr_creat,
156 wronly_ssede, rdwr_ssede, dirent, dirent_creat
157};
158/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
159enum linux_seekmode {
160 absolute, relative
161};
162enum linux_mountops {
163/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164 media_load, media_unload
165};
166struct linux_bigint {
167#ifdef __MIPSEL__
168/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
169 u32 lo;
170 s32 hi;
171#else
172 s32 hi;
173/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
174 u32 lo;
175#endif
176};
177struct linux_finfo {
178/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
179 struct linux_bigint begin;
180 struct linux_bigint end;
181 struct linux_bigint cur;
182 enum linux_devtypes dtype;
183/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
184 unsigned long namelen;
185 unsigned char attr;
186 char name[32];
187};
188/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
189struct linux_romvec {
190 LONG load;
191 LONG invoke;
192 LONG exec;
193/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
194 LONG halt;
195 LONG pdown;
196 LONG restart;
197 LONG reboot;
198/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
199 LONG imode;
200 LONG _unused1;
201 LONG next_component;
202 LONG child_component;
203/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
204 LONG parent_component;
205 LONG component_data;
206 LONG child_add;
207 LONG comp_del;
208/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
209 LONG component_by_path;
210 LONG cfg_save;
211 LONG get_sysid;
212 LONG get_mdesc;
213/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
214 LONG _unused2;
215 LONG get_tinfo;
216 LONG get_rtime;
217 LONG get_vdirent;
218/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
219 LONG open;
220 LONG close;
221 LONG read;
222 LONG get_rstatus;
223/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
224 LONG write;
225 LONG seek;
226 LONG mount;
227 LONG get_evar;
228/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
229 LONG set_evar;
230 LONG get_finfo;
231 LONG set_finfo;
232 LONG cache_flush;
233/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
234 LONG TestUnicodeCharacter;
235 LONG GetDisplayStatus;
236};
237typedef struct _SYSTEM_PARAMETER_BLOCK {
238/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
239 ULONG magic;
240#define PROMBLOCK_MAGIC 0x53435241
241 ULONG len;
242 USHORT ver;
243/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
244 USHORT rev;
245 _PLONG rs_block;
246 _PLONG dbg_block;
247 _PLONG gevect;
248/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
249 _PLONG utlbvect;
250 ULONG rveclen;
251 _PVOID romvec;
252 ULONG pveclen;
253/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
254 _PVOID pvector;
255 ULONG adap_cnt;
256 ULONG adap_typ0;
257 ULONG adap_vcnt0;
258/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
259 _PVOID adap_vector;
260 ULONG adap_typ1;
261 ULONG adap_vcnt1;
262 _PVOID adap_vector1;
263/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
264} SYSTEM_PARAMETER_BLOCK, *PSYSTEM_PARAMETER_BLOCK;
265#define PROMBLOCK ((PSYSTEM_PARAMETER_BLOCK) (int)0xA0001000)
266#define ROMVECTOR ((struct linux_romvec *) (long)(PROMBLOCK)->romvec)
267union linux_cache_key {
268/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
269 struct param {
270#ifdef __MIPSEL__
271 unsigned short size;
272 unsigned char lsize;
273/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
274 unsigned char bsize;
275#else
276 unsigned char bsize;
277 unsigned char lsize;
278/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
279 unsigned short size;
280#endif
281 } info;
282 unsigned long allinfo;
283/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
284};
285struct linux_cdata {
286 char *name;
287 int mlen;
288/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
289 enum linux_devtypes type;
290};
291#define SGIPROM_STDIN 0
292#define SGIPROM_STDOUT 1
293/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
294#define SGIPROM_ROFILE 0x01
295#define SGIPROM_HFILE 0x02
296#define SGIPROM_SFILE 0x04
297#define SGIPROM_AFILE 0x08
298/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
299#define SGIPROM_DFILE 0x10
300#define SGIPROM_DELFILE 0x20
301struct sgi_partition {
302 unsigned char flag;
303/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
304#define SGIPART_UNUSED 0x00
305#define SGIPART_ACTIVE 0x80
306 unsigned char shead, ssect, scyl;
307 unsigned char systype;
308/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
309 unsigned char ehead, esect, ecyl;
310 unsigned char rsect0, rsect1, rsect2, rsect3;
311 unsigned char tsect0, tsect1, tsect2, tsect3;
312};
313/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
314#define SGIBBLOCK_MAGIC 0xaa55
315#define SGIBBLOCK_MAXPART 0x0004
316struct sgi_bootblock {
317 unsigned char _unused[446];
318/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
319 struct sgi_partition partitions[SGIBBLOCK_MAXPART];
320 unsigned short magic;
321};
322struct sgi_bparm_block {
323/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
324 unsigned short bytes_sect;
325 unsigned char sect_clust;
326 unsigned short sect_resv;
327 unsigned char nfats;
328/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
329 unsigned short nroot_dirents;
330 unsigned short sect_volume;
331 unsigned char media_type;
332 unsigned short sect_fat;
333/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
334 unsigned short sect_track;
335 unsigned short nheads;
336 unsigned short nhsects;
337};
338/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
339struct sgi_bsector {
340 unsigned char jmpinfo[3];
341 unsigned char manuf_name[8];
342 struct sgi_bparm_block info;
343/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
344};
345#define SMB_DEBUG_MAGIC 0xfeeddead
346struct linux_smonblock {
347 unsigned long magic;
348/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
349 void (*handler)(void);
350 unsigned long dtable_base;
351 int (*printf)(const char *fmt, ...);
352 unsigned long btable_base;
353/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
354 unsigned long mpflushreqs;
355 unsigned long ntab;
356 unsigned long stab;
357 int smax;
358/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
359};
360#endif
361