b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame^] | 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 | * Copyright (C) 2012 MIPS Technologies, Inc. |
| 7 | */ |
| 8 | #ifndef __ASM_FW_H_ |
| 9 | #define __ASM_FW_H_ |
| 10 | |
| 11 | #include <asm/bootinfo.h> /* For cleaner code... */ |
| 12 | |
| 13 | extern int fw_argc; |
| 14 | extern int *_fw_argv; |
| 15 | extern int *_fw_envp; |
| 16 | |
| 17 | /* |
| 18 | * Most firmware like YAMON, PMON, etc. pass arguments and environment |
| 19 | * variables as 32-bit pointers. These take care of sign extension. |
| 20 | */ |
| 21 | #define fw_argv(index) ((char *)(long)_fw_argv[(index)]) |
| 22 | #define fw_envp(index) ((char *)(long)_fw_envp[(index)]) |
| 23 | |
| 24 | extern void fw_init_cmdline(void); |
| 25 | extern char *fw_getcmdline(void); |
| 26 | extern void fw_meminit(void); |
| 27 | extern char *fw_getenv(char *name); |
| 28 | extern unsigned long fw_getenvl(char *name); |
| 29 | extern void fw_init_early_console(void); |
| 30 | |
| 31 | #endif /* __ASM_FW_H_ */ |