1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * This file is subject to the terms and conditions of the GNU General Public 3*4882a593Smuzhiyun * License. See the file "COPYING" in the main directory of this archive 4*4882a593Smuzhiyun * for more details. 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * Copyright (C) 2012 MIPS Technologies, Inc. 7*4882a593Smuzhiyun */ 8*4882a593Smuzhiyun #ifndef __ASM_FW_H_ 9*4882a593Smuzhiyun #define __ASM_FW_H_ 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #include <asm/bootinfo.h> /* For cleaner code... */ 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun extern int fw_argc; 14*4882a593Smuzhiyun extern int *_fw_argv; 15*4882a593Smuzhiyun extern int *_fw_envp; 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun /* 18*4882a593Smuzhiyun * Most firmware like YAMON, PMON, etc. pass arguments and environment 19*4882a593Smuzhiyun * variables as 32-bit pointers. These take care of sign extension. 20*4882a593Smuzhiyun */ 21*4882a593Smuzhiyun #define fw_argv(index) ((char *)(long)_fw_argv[(index)]) 22*4882a593Smuzhiyun #define fw_envp(index) ((char *)(long)_fw_envp[(index)]) 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun extern void fw_init_cmdline(void); 25*4882a593Smuzhiyun extern char *fw_getcmdline(void); 26*4882a593Smuzhiyun extern void fw_meminit(void); 27*4882a593Smuzhiyun extern char *fw_getenv(char *name); 28*4882a593Smuzhiyun extern unsigned long fw_getenvl(char *name); 29*4882a593Smuzhiyun extern void fw_init_early_console(void); 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun #endif /* __ASM_FW_H_ */ 32