sgi_arcbios.h Source File

Back to the index.

sgi_arcbios.h
Go to the documentation of this file.
1 /* This file has been modified from the NetBSD version, the additions
2  are mostly guesses for 64-bit SGI stuff. */
3 
4 #ifndef SGI_ARCBIOS_H
5 #define SGI_ARCBIOS_H
6 
7 /* It's better to not #define sgimips here, and assume generic ARC instead */
8 
9 #ifdef __attribute__
10 #undef __attribute__
11 #endif
12 
13 #ifdef __noreturn__
14 #undef __noreturn__
15 #endif
16 
17 #define __attribute__(x) /* */
18 #define __noreturn__ /* */
19 
20 /* $NetBSD: arcbios.h,v 1.3 2001/12/06 14:59:02 rafal Exp $ */
21 
22 /*-
23  * Copyright (c) 2001 The NetBSD Foundation, Inc.
24  * All rights reserved.
25  *
26  * This code is derived from software contributed to The NetBSD Foundation
27  * by Jason R. Thorpe.
28  *
29  * Redistribution and use in source and binary forms, with or without
30  * modification, are permitted provided that the following conditions
31  * are met:
32  * 1. Redistributions of source code must retain the above copyright
33  * notice, this list of conditions and the following disclaimer.
34  * 2. Redistributions in binary form must reproduce the above copyright
35  * notice, this list of conditions and the following disclaimer in the
36  * documentation and/or other materials provided with the distribution.
37  * 3. All advertising materials mentioning features or use of this software
38  * must display the following acknowledgement:
39  * This product includes software developed by the NetBSD
40  * Foundation, Inc. and its contributors.
41  * 4. Neither the name of The NetBSD Foundation nor the names of its
42  * contributors may be used to endorse or promote products derived
43  * from this software without specific prior written permission.
44  *
45  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
46  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
47  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
48  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
49  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
50  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
51  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
52  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
53  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
54  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
55  * POSSIBILITY OF SUCH DAMAGE.
56  */
57 
58 /*
59  * The ARC BIOS (which is similar, but not 100% compatible with SGI ARCS)
60  * specification can be found at:
61  *
62  * http://www.microsoft.com/hwdev/download/respec/riscspec.zip
63  */
64 
65 #define ARCBIOS_STDIN 0
66 #define ARCBIOS_STDOUT 1
67 
68 #define ARCBIOS_PAGESIZE 4096
69 
70 /* ARC BIOS status codes. */
71 #define ARCBIOS_ESUCCESS 0 /* Success */
72 #define ARCBIOS_E2BIG 1 /* argument list too long */
73 #define ARCBIOS_EACCES 2 /* permission denied */
74 #define ARCBIOS_EAGAIN 3 /* resource temporarily unavailable */
75 #define ARCBIOS_EBADF 4 /* bad file number */
76 #define ARCBIOS_EBUSY 5 /* device or resource busy */
77 #define ARCBIOS_EFAULT 6 /* bad address */
78 #define ARCBIOS_EINVAL 7 /* invalid argument */
79 #define ARCBIOS_EIO 8 /* I/O error */
80 #define ARCBIOS_EISDIR 9 /* is a directory */
81 #define ARCBIOS_EMFILE 10 /* too many open files */
82 #define ARCBIOS_EMLINK 11 /* too many links */
83 #define ARCBIOS_ENAMETOOLONG 12 /* file name too long */
84 #define ARCBIOS_ENODEV 13 /* no such device */
85 #define ARCBIOS_ENOENT 14 /* no such file or directory */
86 #define ARCBIOS_ENOEXEC 15 /* exec format error */
87 #define ARCBIOS_ENOMEM 16 /* out of memory */
88 #define ARCBIOS_ENOSPC 17 /* no space left on device */
89 #define ARCBIOS_ENOTDIR 18 /* not a directory */
90 #define ARCBIOS_ENOTTY 19 /* not a typewriter */
91 #define ARCBIOS_ENXIO 20 /* media not loaded */
92 #define ARCBIOS_EROFS 21 /* read-only file system */
93 #if defined(sgimips)
94 #define ARCBIOS_EADDRNOTAVAIL 31 /* address not available */
95 #define ARCBIOS_ETIMEDOUT 32 /* operation timed out */
96 #define ARCBIOS_ECONNABORTED 33 /* connection aborted */
97 #define ARCBIOS_ENOCONNECT 34 /* not connected */
98 #endif /* sgimips */
99 
100 /*
101  * 4.2.2: System Parameter Block
102  */
103 struct arcbios_spb {
104  uint32_t SPBSignature;
105  uint32_t SPBLength;
106  uint16_t Version;
107  uint16_t Revision;
108  uint32_t RestartBlock; /* was void * in netbsd */
109  uint32_t DebugBlock; /* was void * */
110  uint32_t GEVector; /* was void * */
111  uint32_t UTLBMissVector; /* was void * */
113  uint32_t FirmwareVector; /* was void * */
115  uint32_t PrivateVector; /* was void * */
116  uint32_t AdapterCount;
117  uint32_t AdapterType;
119  uint32_t AdapterVector; /* was void * */
120 };
121 
122 /*
123  * arcbios_spb_64 is like arcbios_spb, but with 64-bit pointers.
124  * Irix seems to want this. TODO: This is just a guess, based on the
125  * usage of void * in the NetBSD version of arcbios_spb.
126  *
127  * Linux wants a 64-bit SPBSignature?
128  */
130  uint64_t SPBSignature;
131  uint64_t SPBLength;
132  uint16_t Version;
133  uint16_t Revision;
134  uint32_t dummy;
135  uint64_t RestartBlock; /* was void * in netbsd */
136  uint64_t DebugBlock; /* was void * */
137  uint64_t GEVector; /* was void * */
138  uint64_t UTLBMissVector; /* was void * */
140  uint64_t FirmwareVector; /* was void * */
142  uint64_t PrivateVector; /* was void * */
143  uint64_t AdapterCount;
144  uint64_t AdapterType;
146  uint64_t AdapterVector; /* was void * */
147 };
148 
149 #define ARCBIOS_SPB_SIGNATURE 0x53435241 /* A R C S */
150 #define ARCBIOS_SPB_SIGNATURE_1 0x41524353 /* S C R A */
151 
152 /*
153  * 4.2.5: System Configuration Data
154  */
156  uint32_t Class;
157  uint32_t Type;
158  uint32_t Flags;
159  uint16_t Version;
160  uint16_t Revision;
161  uint32_t Key;
162  uint32_t AffinityMask;
165  uint32_t Identifier; /* was: char * */
166 };
167 
168 /* gxemul addition: guess for a 64-bit version of arcbios_component: */
170  uint32_t Class;
171  uint32_t Type;
172  uint32_t Flags;
173  uint16_t Version;
174  uint16_t Revision;
175  uint64_t Key;
176  uint64_t AffinityMask;
179  uint64_t Identifier; /* was: char * */
180 };
181 
182 /*
183  * SGI ARCS likes to be `special', so it moved some of the class/type
184  * numbers around from the ARC standard definitions.
185  */
186 #if defined(sgimips)
187 /* Component Class */
188 #define COMPONENT_CLASS_SystemClass 0
189 #define COMPONENT_CLASS_ProcessorClass 1
190 #define COMPONENT_CLASS_CacheClass 2
191 #define COMPONENT_CLASS_MemoryClass 3
192 #define COMPONENT_CLASS_AdapterClass 4
193 #define COMPONENT_CLASS_ControllerClass 5
194 #define COMPONENT_CLASS_PeripheralClass 6
195 #else
196 /* Component Class */
197 #define COMPONENT_CLASS_SystemClass 0
198 #define COMPONENT_CLASS_ProcessorClass 1
199 #define COMPONENT_CLASS_CacheClass 2
200 #define COMPONENT_CLASS_AdapterClass 3
201 #define COMPONENT_CLASS_ControllerClass 4
202 #define COMPONENT_CLASS_PeripheralClass 5
203 #define COMPONENT_CLASS_MemoryClass 6
204 #endif
205 
206 /* Component Types */
207 #if defined(sgimips)
208 /* System Class */
209 #define COMPONENT_TYPE_ARC 0
210 
211 /* Processor Class */
212 #define COMPONENT_TYPE_CPU 1
213 #define COMPONENT_TYPE_FPU 2
214 
215 /* Cache Class */
216 #define COMPONENT_TYPE_PrimaryICache 3
217 #define COMPONENT_TYPE_PrimaryDCache 4
218 #define COMPONENT_TYPE_SecondaryICache 5
219 #define COMPONENT_TYPE_SecondaryDCache 6
220 #define COMPONENT_TYPE_SecondaryCache 7
221 
222 /* Memory Class */
223 #define COMPONENT_TYPE_MemoryUnit 8
224 
225 /* Adapter Class */
226 #define COMPONENT_TYPE_EISAAdapter 9
227 #define COMPONENT_TYPE_TCAdapter 10
228 #define COMPONENT_TYPE_SCSIAdapter 11
229 #define COMPONENT_TYPE_DTIAdapter 12
230 #define COMPONENT_TYPE_MultiFunctionAdapter 13
231 
232 /* Controller Class */
233 #define COMPONENT_TYPE_DiskController 14
234 #define COMPONENT_TYPE_TapeController 15
235 #define COMPONENT_TYPE_CDROMController 16
236 #define COMPONENT_TYPE_WORMController 17
237 #define COMPONENT_TYPE_SerialController 18
238 #define COMPONENT_TYPE_NetworkController 19
239 #define COMPONENT_TYPE_DisplayController 20
240 #define COMPONENT_TYPE_ParallelController 21
241 #define COMPONENT_TYPE_PointerController 22
242 #define COMPONENT_TYPE_KeyboardController 23
243 #define COMPONENT_TYPE_AudioController 24
244 #define COMPONENT_TYPE_OtherController 25
245 
246 /* Peripheral Class */
247 #define COMPONENT_TYPE_DiskPeripheral 26
248 #define COMPONENT_TYPE_FloppyDiskPeripheral 27
249 #define COMPONENT_TYPE_TapePeripheral 28
250 #define COMPONENT_TYPE_ModemPeripheral 29
251 #define COMPONENT_TYPE_MonitorPeripheral 30
252 #define COMPONENT_TYPE_PrinterPeripheral 31
253 #define COMPONENT_TYPE_PointerPeripheral 32
254 #define COMPONENT_TYPE_KeyboardPeripheral 33
255 #define COMPONENT_TYPE_TerminalPeripheral 34
256 #define COMPONENT_TYPE_LinePeripheral 35
257 #define COMPONENT_TYPE_NetworkPeripheral 36
258 #define COMPONENT_TYPE_OtherPeripheral 37
259 #else /* not sgimips */
260 /* System Class */
261 #define COMPONENT_TYPE_ARC 0
262 
263 /* Processor Class */
264 #define COMPONENT_TYPE_CPU 1
265 #define COMPONENT_TYPE_FPU 2
266 
267 /* Cache Class */
268 #define COMPONENT_TYPE_PrimaryICache 3
269 #define COMPONENT_TYPE_PrimaryDCache 4
270 #define COMPONENT_TYPE_SecondaryICache 5
271 #define COMPONENT_TYPE_SecondaryDCache 6
272 #define COMPONENT_TYPE_SecondaryCache 7
273 
274 /* Adapter Class */
275 #define COMPONENT_TYPE_EISAAdapter 8
276 #define COMPONENT_TYPE_TCAdapter 9
277 #define COMPONENT_TYPE_SCSIAdapter 10
278 #define COMPONENT_TYPE_DTIAdapter 11
279 #define COMPONENT_TYPE_MultiFunctionAdapter 12
280 
281 /* Controller Class */
282 #define COMPONENT_TYPE_DiskController 13
283 #define COMPONENT_TYPE_TapeController 14
284 #define COMPONENT_TYPE_CDROMController 15
285 #define COMPONENT_TYPE_WORMController 16
286 #define COMPONENT_TYPE_SerialController 17
287 #define COMPONENT_TYPE_NetworkController 18
288 #define COMPONENT_TYPE_DisplayController 19
289 #define COMPONENT_TYPE_ParallelController 20
290 #define COMPONENT_TYPE_PointerController 21
291 #define COMPONENT_TYPE_KeyboardController 22
292 #define COMPONENT_TYPE_AudioController 23
293 #define COMPONENT_TYPE_OtherController 24
294 
295 /* Peripheral Class */
296 #define COMPONENT_TYPE_DiskPeripheral 25
297 #define COMPONENT_TYPE_FloppyDiskPeripheral 26
298 #define COMPONENT_TYPE_TapePeripheral 27
299 #define COMPONENT_TYPE_ModemPeripheral 28
300 #define COMPONENT_TYPE_MonitorPeripheral 29
301 #define COMPONENT_TYPE_PrinterPeripheral 30
302 #define COMPONENT_TYPE_PointerPeripheral 31
303 #define COMPONENT_TYPE_KeyboardPeripheral 32
304 #define COMPONENT_TYPE_TerminalPeripheral 33
305 #define COMPONENT_TYPE_OtherPeripheral 34
306 #define COMPONENT_TYPE_LinePeripheral 35
307 #define COMPONENT_TYPE_NetworkPeripheral 36
308 
309 /* Memory Class */
310 #define COMPONENT_TYPE_MemoryUnit 37
311 #endif
312 
313 /* Component flags */
314 #define COMPONENT_FLAG_Failed 1
315 #define COMPONENT_FLAG_ReadOnly 2
316 #define COMPONENT_FLAG_Removable 4
317 #define COMPONENT_FLAG_ConsoleIn 8
318 #define COMPONENT_FLAG_ConsoleOut 16
319 #define COMPONENT_FLAG_Input 32
320 #define COMPONENT_FLAG_Output 64
321 
322 /* Key for Cache: */
323 #define COMPONENT_KEY_Cache_CacheSize(x) \
324  (ARCBIOS_PAGESIZE << ((x) & 0xffff))
325 #define COMPONENT_KEY_Cache_LineSize(x) \
326  (1U << (((x) >> 16) & 0xff))
327 #define COMPONENT_KEY_Cache_RefillSize(x) \
328  (((x) >> 24) & 0xff)
329 
330 /*
331  * ARC system ID
332  */
333 #define ARCBIOS_SYSID_FIELDLEN 8
335  char VendorId[ARCBIOS_SYSID_FIELDLEN];
336  char ProductId[ARCBIOS_SYSID_FIELDLEN];
337 };
338 
339 /*
340  * ARC memory descriptor
341  */
342 struct arcbios_mem {
343  uint32_t Type;
344  uint32_t BasePage;
345  uint32_t PageCount;
346 };
347 
348 /* gxemul: Linux/Octane reads these as 64-bit values */
350  uint32_t Type;
351  uint32_t dummy; /* not used by Linux? */
352  uint64_t BasePage;
353  uint64_t PageCount;
354 };
355 
356 #if defined(sgimips)
357 #define ARCBIOS_MEM_ExecptionBlock 0
358 #define ARCBIOS_MEM_SystemParameterBlock 1
359 #define ARCBIOS_MEM_FreeContiguous 2
360 #define ARCBIOS_MEM_FreeMemory 3
361 #define ARCBIOS_MEM_BadMemory 4
362 #define ARCBIOS_MEM_LoadedProgram 5
363 #define ARCBIOS_MEM_FirmwareTemporary 6
364 #define ARCBIOS_MEM_FirmwarePermanent 7
365 #else /* lif defined(arc) */
366 #define ARCBIOS_MEM_ExceptionBlock 0
367 #define ARCBIOS_MEM_SystemParameterBlock 1
368 #define ARCBIOS_MEM_FreeMemory 2
369 #define ARCBIOS_MEM_BadMemory 3
370 #define ARCBIOS_MEM_LoadedProgram 4
371 #define ARCBIOS_MEM_FirmwareTemporary 5
372 #define ARCBIOS_MEM_FirmwarePermanent 6
373 #define ARCBIOS_MEM_FreeContiguous 7
374 #endif
375 
376 /*
377  * ARC display status
378  */
380  uint16_t CursorXPosition;
381  uint16_t CursorYPosition;
386  uint8_t HighIntensity;
387  uint8_t Underscored;
388  uint8_t ReverseVideo;
389 };
390 
391 /*
392  * ARC firmware vector
393  */
394 struct arcbios_fv {
395  uint32_t (*Load)(
396  char *, /* image to load */
397  uint32_t, /* top address */
398  uint32_t, /* entry address */
399  uint32_t *); /* low address */
400 
401  uint32_t (*Invoke)(
402  uint32_t, /* entry address */
403  uint32_t, /* stack address */
404  uint32_t, /* argc */
405  char **, /* argv */
406  char **); /* envp */
407 
408  uint32_t (*Execute)(
409  char *, /* image path */
410  uint32_t, /* argc */
411  char **, /* argv */
412  char **); /* envp */
413 
414  void (*Halt)(void)
416 
417  void (*PowerDown)(void)
419 
420  void (*Restart)(void)
422 
423  void (*Reboot)(void)
425 
426  void (*EnterInteractiveMode)(void)
428 #if defined(sgimips)
429  void *reserved0;
430 #else
431  void (*ReturnFromMain)(void)
433 #endif
434  void *(*GetPeer)(
435  void *); /* component */
436 
437  void *(*GetChild)(
438  void *); /* component */
439 
440  void *(*GetParent)(
441  void *); /* component */
442 
443  uint32_t (*GetConfigurationData)(
444  void *, /* configuration data */
445  void *); /* component */
446 
447  void *(*AddChild)(
448  void *, /* component */
449  void *); /* new component */
450 
451  uint32_t (*DeleteComponent)(
452  void *); /* component */
453 
454  uint32_t (*GetComponent)(
455  char *); /* path */
456 
457  uint32_t (*SaveConfiguration)(void);
458 
459  void *(*GetSystemId)(void);
460 
461  void *(*GetMemoryDescriptor)(
462  void *); /* memory descriptor */
463 #if defined(sgimips)
464  void *reserved1;
465 #else
466  void (*Signal)(
467  uint32_t, /* signal number */
468  void *); /* handler */
469 #endif
470  void *(*GetTime)(void);
471 
472  uint32_t (*GetRelativeTime)(void);
473 
474  uint32_t (*GetDirectoryEntry)(
475  uint32_t, /* file ID */
476  void *, /* directory entry */
477  uint32_t, /* length */
478  uint32_t *); /* count */
479 
480  uint32_t (*Open)(
481  char *, /* path */
482  uint32_t, /* open mode */
483  uint32_t *); /* file ID */
484 
485  uint32_t (*Close)(
486  uint32_t); /* file ID */
487 
488  uint32_t (*Read)(
489  uint32_t, /* file ID */
490  void *, /* buffer */
491  uint32_t, /* length */
492  uint32_t *); /* count */
493 
494  uint32_t (*GetReadStatus)(
495  uint32_t); /* file ID */
496 
497  uint32_t (*Write)(
498  uint32_t, /* file ID */
499  void *, /* buffer */
500  uint32_t, /* length */
501  uint32_t *); /* count */
502 
503  uint32_t (*Seek)(
504  uint32_t, /* file ID */
505  int64_t *, /* offset */
506  uint32_t); /* whence */
507 
508  uint32_t (*Mount)(
509  char *, /* path */
510  uint32_t); /* operation */
511 
512  char *(*GetEnvironmentVariable)(
513  char *); /* variable */
514 
515  uint32_t (*SetEnvironmentVariable)(
516  char *, /* variable */
517  char *); /* contents */
518 
519  uint32_t (*GetFileInformation)(
520  uint32_t, /* file ID */
521  void *); /* XXX */
522 
523  uint32_t (*SetFileInformation)(
524  uint32_t, /* file ID */
525  uint32_t, /* XXX */
526  uint32_t); /* XXX */
527 
528  void (*FlushAllCaches)(void);
529 #if !defined(sgimips)
530  uint32_t (*TestUnicode)(
531  uint32_t, /* file ID */
532  uint16_t); /* unicode character */
533 
534  void *(*GetDisplayStatus)(
535  uint32_t); /* file ID */
536 #endif
537 };
538 
539 #endif /* SGI_ARCBIOS_H */
uint16_t CursorYPosition
Definition: sgi_arcbios.h:381
uint64_t FirmwareVector
Definition: sgi_arcbios.h:140
uint64_t GEVector
Definition: sgi_arcbios.h:137
uint32_t AdapterType
Definition: sgi_arcbios.h:117
uint32_t FirmwareVector
Definition: sgi_arcbios.h:113
uint16_t Revision
Definition: sgi_arcbios.h:107
uint8_t Underscored
Definition: sgi_arcbios.h:387
uint16_t CursorMaxXPosition
Definition: sgi_arcbios.h:382
uint32_t AdapterVector
Definition: sgi_arcbios.h:119
uint32_t AdapterVectorLength
Definition: sgi_arcbios.h:118
uint32_t dummy
Definition: sgi_arcbios.h:134
uint32_t BasePage
Definition: sgi_arcbios.h:344
uint8_t ForegroundColor
Definition: sgi_arcbios.h:384
uint32_t PrivateVector
Definition: sgi_arcbios.h:115
#define __attribute__(x)
Definition: sgi_arcbios.h:17
uint32_t GEVector
Definition: sgi_arcbios.h:110
uint32_t PageCount
Definition: sgi_arcbios.h:345
uint32_t ConfigurationDataSize
Definition: sgi_arcbios.h:163
uint64_t RestartBlock
Definition: sgi_arcbios.h:135
uint32_t dummy
Definition: sgi_arcbios.h:351
uint32_t FirmwareVectorLength
Definition: sgi_arcbios.h:112
uint64_t ConfigurationDataSize
Definition: sgi_arcbios.h:177
uint32_t Type
Definition: sgi_arcbios.h:350
uint32_t AffinityMask
Definition: sgi_arcbios.h:162
uint32_t PrivateVectorLength
Definition: sgi_arcbios.h:114
uint64_t PrivateVector
Definition: sgi_arcbios.h:142
uint16_t Version
Definition: sgi_arcbios.h:132
uint16_t CursorXPosition
Definition: sgi_arcbios.h:380
uint64_t FirmwareVectorLength
Definition: sgi_arcbios.h:139
uint16_t Revision
Definition: sgi_arcbios.h:133
uint32_t IdentifierLength
Definition: sgi_arcbios.h:164
uint64_t AdapterCount
Definition: sgi_arcbios.h:143
uint64_t IdentifierLength
Definition: sgi_arcbios.h:178
uint32_t RestartBlock
Definition: sgi_arcbios.h:108
uint32_t AdapterCount
Definition: sgi_arcbios.h:116
uint64_t UTLBMissVector
Definition: sgi_arcbios.h:138
uint32_t SPBSignature
Definition: sgi_arcbios.h:104
#define __noreturn__
Definition: sgi_arcbios.h:18
uint32_t SPBLength
Definition: sgi_arcbios.h:105
uint64_t AdapterVectorLength
Definition: sgi_arcbios.h:145
uint32_t DebugBlock
Definition: sgi_arcbios.h:109
uint64_t PrivateVectorLength
Definition: sgi_arcbios.h:141
uint16_t Version
Definition: sgi_arcbios.h:106
uint64_t DebugBlock
Definition: sgi_arcbios.h:136
uint64_t AdapterType
Definition: sgi_arcbios.h:144
uint64_t SPBLength
Definition: sgi_arcbios.h:131
uint64_t AdapterVector
Definition: sgi_arcbios.h:146
uint64_t SPBSignature
Definition: sgi_arcbios.h:130
uint32_t Type
Definition: sgi_arcbios.h:343
uint32_t Identifier
Definition: sgi_arcbios.h:165
uint32_t UTLBMissVector
Definition: sgi_arcbios.h:111
uint64_t PageCount
Definition: sgi_arcbios.h:353
#define ARCBIOS_SYSID_FIELDLEN
Definition: sgi_arcbios.h:333
uint8_t BackgroundColor
Definition: sgi_arcbios.h:385
uint8_t HighIntensity
Definition: sgi_arcbios.h:386
uint16_t CursorMaxYPosition
Definition: sgi_arcbios.h:383
uint8_t ReverseVideo
Definition: sgi_arcbios.h:388
uint64_t BasePage
Definition: sgi_arcbios.h:352

Generated on Sun Sep 30 2018 16:05:18 for GXemul by doxygen 1.8.13