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