1 Index: stblinux-2.6.12/arch/mips/kernel/setup.c
2 ===================================================================
3 --- stblinux-2.6.12.orig/arch/mips/kernel/setup.c 2008-04-15 02:13:42.000000000 +0200
4 +++ stblinux-2.6.12/arch/mips/kernel/setup.c 2008-04-15 02:25:13.000000000 +0200
7 unsigned long get_RAM_size(void);
9 +extern int *_prom_envp;
10 +#define prom_envp(index) ((char *)(long)_prom_envp[(index)])
11 +static char *prom_getenv(char *envname)
15 + i = strlen(envname);
17 + while (prom_envp(index)) {
18 + if ((strncmp(envname, prom_envp(index), i) == 0) && (prom_envp(index)[i] == '='))
19 + return(prom_envp(index) + i + 1);
26 static inline void brcm_default_boot_mem(void)
28 int ramSizeMB = get_RAM_size() >> 20;
31 + const char *memsize_str;
39 - sprintf(msg, "Using %dMB for memory, overwrite by passing mem=xx\n",
42 - brcm_insert_ram_node(0, size<<20, BOOT_MEM_RAM, &brcm_bm);
44 + memsize_str = prom_getenv("memsize");
47 + int memsize = simple_strtol(memsize_str, NULL, 0);
48 + brcm_insert_ram_node(0, memsize<<20, BOOT_MEM_RAM, &brcm_bm);
49 + printk("---> memsize from bootloader: %d\n", memsize);
52 + sprintf(msg, "Using %dMB for memory, overwrite by passing mem=xx\n",
55 + brcm_insert_ram_node(0, size<<20, BOOT_MEM_RAM, &brcm_bm);