/[gxemul]/trunk/src/include/sgi_arcbios.h
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /trunk/src/include/sgi_arcbios.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 4 - (show annotations)
Mon Oct 8 16:18:00 2007 UTC (16 years, 6 months ago) by dpavlin
File MIME type: text/plain
File size: 15993 byte(s)
++ trunk/HISTORY	(local)
$Id: HISTORY,v 1.707 2005/04/27 16:37:33 debug Exp $
20050408	Some minor updates to the wdc. Linux now doesn't complain
		anymore if a disk is non-present.
20050409	Various minor fixes (a bintrans bug, and some other things).
		The wdc seems to work with Playstation2 emulation, but there
		is a _long_ annoying delay when disks are detected.
		Fixing a really important bintrans bug (when devices and RAM
		are mixed within 4KB pages), which was triggered with
		NetBSD/playstation2 kernels.
20050410	Adding a dummy dev_ps2_ether (just so that NetBSD doesn't
		complain as much during bootup).
		Symbols starting with '$' are now ignored.
		Renaming dev_ps2_ohci.c to dev_ohci.c, etc.
20050411	Moving the bintrans-cache-isolation check from cpu_mips.c to
		cpu_mips_coproc.c. (I thought this would give a speedup, but
		it's not noticable.)
		Better playstation2 sbus interrupt code.
		Skip ahead many ticks if the count register is read manually.
		(This increases the speed of delay-loops that simply read
		the count register.)
20050412	Updates to the playstation2 timer/interrupt code.
		Some other minor updates.
20050413	NetBSD/cobalt runs from a disk image :-) including userland;
		updating the documentation on how to install NetBSD/cobalt
		using NetBSD/pmax (!).
		Some minor bintrans updates (no real speed improvement) and
		other minor updates (playstation2 now uses the -o options).
20050414	Adding a dummy x86 (and AMD64) mode.
20050415	Adding some (32-bit and 16-bit) x86 instructions.
		Adding some initial support for non-SCSI, non-IDE floppy
		images. (The x86 mode can boot from these, more or less.)
		Moving the devices/ and include/ directories to src/devices/
		and src/include/, respectively.
20050416	Continuing on the x86 stuff. (Adding pc_bios.c and some simple
		support for software interrupts in 16-bit mode.)
20050417	Ripping out most of the x86 instruction decoding stuff, trying
		to rewrite it in a cleaner way.
		Disabling some of the least working CPU families in the
		configure script (sparc, x86, alpha, hppa), so that they are
		not enabled by default.
20050418	Trying to fix the bug which caused problems when turning on
		and off bintrans interactively, by flushing the bintrans cache
		whenever bintrans is manually (re)enabled.
20050419	Adding the 'lswi' ppc instruction.
		Minor updates to the x86 instruction decoding.
20050420	Renaming x86 register name indices from R_xx to X86_R_xx (this
		makes building on Tru64 nicer).
20050422	Adding a check for duplicate MIPS TLB entries on tlbwr/tlbwi.
20050427	Adding screenshots to guestoses.html.
		Some minor fixes and testing for the next release.

==============  RELEASE 0.3.2  ==============


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

  ViewVC Help
Powered by ViewVC 1.1.26