1 /* 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 4 * for more details. 5 * 6 * SGI ARCS firmware interface library for the Linux kernel. 7 * 8 * Copyright (C) 1996 David S. Miller (davem@davemloft.net) 9 * Copyright (C) 2001, 2002 Ralf Baechle (ralf@gnu.org) 10 */ 11 #ifndef _ASM_SGIALIB_H 12 #define _ASM_SGIALIB_H 13 14 #include <linux/compiler.h> 15 #include <asm/sgiarcs.h> 16 17 extern struct linux_romvec *romvec; 18 19 extern int prom_flags; 20 21 #define PROM_FLAG_ARCS 1 22 #define PROM_FLAG_USE_AS_CONSOLE 2 23 #define PROM_FLAG_DONT_FREE_TEMP 4 24 25 /* Simple char-by-char console I/O. */ 26 extern char prom_getchar(void); 27 28 /* Get next memory descriptor after CURR, returns first descriptor 29 * in chain is CURR is NULL. 30 */ 31 extern struct linux_mdesc *prom_getmdesc(struct linux_mdesc *curr); 32 #define PROM_NULL_MDESC ((struct linux_mdesc *) 0) 33 34 /* Called by prom_init to setup the physical memory pmemblock 35 * array. 36 */ 37 extern void prom_meminit(void); 38 39 /* PROM device tree library routines. */ 40 #define PROM_NULL_COMPONENT ((pcomponent *) 0) 41 42 /* This is called at prom_init time to identify the 43 * ARC architecture we are running on 44 */ 45 extern void prom_identify_arch(void); 46 47 /* Environment variable routines. */ 48 extern PCHAR ArcGetEnvironmentVariable(PCHAR name); 49 50 /* ARCS command line parsing. */ 51 extern void prom_init_cmdline(int argc, LONG *argv); 52 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); 56 57 /* Misc. routines. */ 58 extern VOID ArcEnterInteractiveMode(VOID) __noreturn; 59 extern DISPLAY_STATUS *ArcGetDisplayStatus(ULONG FileID); 60 61 #endif /* _ASM_SGIALIB_H */ 62