e6ca4e5bf1
The 'ememsize' variable is used to denote the real RAM which is present on the Malta board. This is different compared to 'memsize' which is capped to 256MB. The 'ememsize' is used to get the actual physical memory when setting up the Malta memory layout. This only makes sense in case the core operates in the EVA mode, and it's ignored otherwise. Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
47 lines
1.2 KiB
C
47 lines
1.2 KiB
C
/*
|
|
* This file is subject to the terms and conditions of the GNU General Public
|
|
* License. See the file "COPYING" in the main directory of this archive
|
|
* for more details.
|
|
*
|
|
* Copyright (C) 2012 MIPS Technologies, Inc.
|
|
*/
|
|
#ifndef __ASM_FW_H_
|
|
#define __ASM_FW_H_
|
|
|
|
#include <asm/bootinfo.h> /* For cleaner code... */
|
|
|
|
enum fw_memtypes {
|
|
fw_dontuse,
|
|
fw_code,
|
|
fw_free,
|
|
};
|
|
|
|
typedef struct {
|
|
unsigned long base; /* Within KSEG0 */
|
|
unsigned int size; /* bytes */
|
|
enum fw_memtypes type; /* fw_memtypes */
|
|
} fw_memblock_t;
|
|
|
|
/* Maximum number of memory block descriptors. */
|
|
#define FW_MAX_MEMBLOCKS 32
|
|
|
|
extern int fw_argc;
|
|
extern int *_fw_argv;
|
|
extern int *_fw_envp;
|
|
|
|
/*
|
|
* Most firmware like YAMON, PMON, etc. pass arguments and environment
|
|
* variables as 32-bit pointers. These take care of sign extension.
|
|
*/
|
|
#define fw_argv(index) ((char *)(long)_fw_argv[(index)])
|
|
#define fw_envp(index) ((char *)(long)_fw_envp[(index)])
|
|
|
|
extern void fw_init_cmdline(void);
|
|
extern char *fw_getcmdline(void);
|
|
extern fw_memblock_t *fw_getmdesc(int);
|
|
extern void fw_meminit(void);
|
|
extern char *fw_getenv(char *name);
|
|
extern unsigned long fw_getenvl(char *name);
|
|
extern void fw_init_early_console(char port);
|
|
|
|
#endif /* __ASM_FW_H_ */
|