2 * This file is subject to the terms and conditions of the GNU General Public
3 * License. See the file "COPYING" in the main directory of this archive
6 * SGI ARCS firmware interface library for the Linux kernel.
8 * Copyright (C) 1996 David S. Miller (davem@davemloft.net)
9 * Copyright (C) 2001, 2002 Ralf Baechle (ralf@gnu.org)
11 #ifndef _ASM_SGIALIB_H
12 #define _ASM_SGIALIB_H
14 #include <linux/compiler.h>
15 #include <asm/sgiarcs.h>
17 extern struct linux_romvec
*romvec
;
19 extern int prom_flags
;
21 #define PROM_FLAG_ARCS 1
22 #define PROM_FLAG_USE_AS_CONSOLE 2
23 #define PROM_FLAG_DONT_FREE_TEMP 4
25 /* Simple char-by-char console I/O. */
26 extern char prom_getchar(void);
28 /* Get next memory descriptor after CURR, returns first descriptor
29 * in chain is CURR is NULL.
31 extern struct linux_mdesc
*prom_getmdesc(struct linux_mdesc
*curr
);
32 #define PROM_NULL_MDESC ((struct linux_mdesc *) 0)
34 /* Called by prom_init to setup the physical memory pmemblock
37 extern void prom_meminit(void);
39 /* PROM device tree library routines. */
40 #define PROM_NULL_COMPONENT ((pcomponent *) 0)
42 /* This is called at prom_init time to identify the
43 * ARC architecture we are running on
45 extern void prom_identify_arch(void);
47 /* Environment variable routines. */
48 extern PCHAR
ArcGetEnvironmentVariable(PCHAR name
);
50 /* ARCS command line parsing. */
51 extern void prom_init_cmdline(int argc
, LONG
*argv
);
53 /* File operations. */
54 extern LONG
ArcRead(ULONG fd
, PVOID buf
, ULONG num
, PULONG cnt
);
55 extern LONG
ArcWrite(ULONG fd
, PVOID buf
, ULONG num
, PULONG cnt
);
58 extern VOID
ArcEnterInteractiveMode(VOID
) __noreturn
;
59 extern DISPLAY_STATUS
*ArcGetDisplayStatus(ULONG FileID
);
61 #endif /* _ASM_SGIALIB_H */