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
56 enum linux_devclass {
57  system, processor, cache, adapter, controller, peripheral, memory
58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 };
60 enum 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 };
76 enum linux_identifier {
77  bogus, ronly, removable, consin, consout, input, output
78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 };
80 struct 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 };
95 typedef struct linux_component pcomponent;
96 struct linux_sysid {
97  char vend[8], prod[8];
98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
99 };
100 enum 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 };
112 enum 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 };
125 union 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 };
130 struct 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 };
136 struct 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 };
147 struct 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 */
154 enum 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 */
159 enum linux_seekmode {
160  absolute, relative
161 };
162 enum linux_mountops {
163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
164  media_load, media_unload
165 };
166 struct 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 };
177 struct 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 */
189 struct 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 };
237 typedef 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)
267 union 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 };
285 struct 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
301 struct 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
316 struct 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 };
322 struct 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 */
339 struct 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
346 struct 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