MIPS: MSP71xx: Remove the RAMROOT functions
The RAMROOT function was a successful but non-portable attempt to append the root filesystem to the end of the kernel image. The preferred and portable solution is to use an initramfs instead. Signed-off-by: Shane McDonald <mcdonald.shane@gmail.com> Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
This commit is contained in:
Родитель
1a4ba061b3
Коммит
5c5dd1d291
|
@ -36,18 +36,6 @@ config PMC_MSP7120_FPGA
|
||||||
|
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
menu "Options for PMC-Sierra MSP chipsets"
|
|
||||||
depends on PMC_MSP
|
|
||||||
|
|
||||||
config PMC_MSP_EMBEDDED_ROOTFS
|
|
||||||
bool "Root filesystem embedded in kernel image"
|
|
||||||
select MTD
|
|
||||||
select MTD_BLOCK
|
|
||||||
select MTD_PMC_MSP_RAMROOT
|
|
||||||
select MTD_RAM
|
|
||||||
|
|
||||||
endmenu
|
|
||||||
|
|
||||||
config HYPERTRANSPORT
|
config HYPERTRANSPORT
|
||||||
bool "Hypertransport Support for PMC-Sierra Yosemite"
|
bool "Hypertransport Support for PMC-Sierra Yosemite"
|
||||||
depends on PMC_YOSEMITE
|
depends on PMC_YOSEMITE
|
||||||
|
|
|
@ -40,12 +40,6 @@
|
||||||
#include <linux/string.h>
|
#include <linux/string.h>
|
||||||
#include <linux/interrupt.h>
|
#include <linux/interrupt.h>
|
||||||
#include <linux/mm.h>
|
#include <linux/mm.h>
|
||||||
#ifdef CONFIG_CRAMFS
|
|
||||||
#include <linux/cramfs_fs.h>
|
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_SQUASHFS
|
|
||||||
#include <linux/squashfs_fs.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <asm/addrspace.h>
|
#include <asm/addrspace.h>
|
||||||
#include <asm/bootinfo.h>
|
#include <asm/bootinfo.h>
|
||||||
|
@ -435,10 +429,6 @@ struct prom_pmemblock *__init prom_getmdesc(void)
|
||||||
char *str;
|
char *str;
|
||||||
unsigned int memsize;
|
unsigned int memsize;
|
||||||
unsigned int heaptop;
|
unsigned int heaptop;
|
||||||
#ifdef CONFIG_MTD_PMC_MSP_RAMROOT
|
|
||||||
void *ramroot_start;
|
|
||||||
unsigned long ramroot_size;
|
|
||||||
#endif
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
str = prom_getenv(memsz_env);
|
str = prom_getenv(memsz_env);
|
||||||
|
@ -506,19 +496,7 @@ struct prom_pmemblock *__init prom_getmdesc(void)
|
||||||
i++; /* 3 */
|
i++; /* 3 */
|
||||||
mdesc[i].type = BOOT_MEM_RESERVED;
|
mdesc[i].type = BOOT_MEM_RESERVED;
|
||||||
mdesc[i].base = CPHYSADDR((u32)_text);
|
mdesc[i].base = CPHYSADDR((u32)_text);
|
||||||
#ifdef CONFIG_MTD_PMC_MSP_RAMROOT
|
mdesc[i].size = CPHYSADDR(PAGE_ALIGN((u32)_end)) - mdesc[i].base;
|
||||||
if (get_ramroot(&ramroot_start, &ramroot_size)) {
|
|
||||||
/*
|
|
||||||
* Rootfs in RAM -- follows kernel
|
|
||||||
* Combine rootfs image with kernel block so a
|
|
||||||
* page (4k) isn't wasted between memory blocks
|
|
||||||
*/
|
|
||||||
mdesc[i].size = CPHYSADDR(PAGE_ALIGN(
|
|
||||||
(u32)ramroot_start + ramroot_size)) - mdesc[i].base;
|
|
||||||
} else
|
|
||||||
#endif
|
|
||||||
mdesc[i].size = CPHYSADDR(PAGE_ALIGN(
|
|
||||||
(u32)_end)) - mdesc[i].base;
|
|
||||||
|
|
||||||
/* Remainder of RAM -- under memsize */
|
/* Remainder of RAM -- under memsize */
|
||||||
i++; /* 5 */
|
i++; /* 5 */
|
||||||
|
@ -528,39 +506,3 @@ struct prom_pmemblock *__init prom_getmdesc(void)
|
||||||
|
|
||||||
return &mdesc[0];
|
return &mdesc[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* rootfs functions */
|
|
||||||
#ifdef CONFIG_MTD_PMC_MSP_RAMROOT
|
|
||||||
bool get_ramroot(void **start, unsigned long *size)
|
|
||||||
{
|
|
||||||
extern char _end[];
|
|
||||||
|
|
||||||
/* Check for start following the end of the kernel */
|
|
||||||
void *check_start = (void *)_end;
|
|
||||||
|
|
||||||
/* Check for supported rootfs types */
|
|
||||||
#ifdef CONFIG_CRAMFS
|
|
||||||
if (*(__u32 *)check_start == CRAMFS_MAGIC) {
|
|
||||||
/* Get CRAMFS size */
|
|
||||||
*start = check_start;
|
|
||||||
*size = PAGE_ALIGN(((struct cramfs_super *)
|
|
||||||
check_start)->size);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
#ifdef CONFIG_SQUASHFS
|
|
||||||
if (*((unsigned int *)check_start) == SQUASHFS_MAGIC) {
|
|
||||||
/* Get SQUASHFS size */
|
|
||||||
*start = check_start;
|
|
||||||
*size = PAGE_ALIGN(((struct squashfs_super_block *)
|
|
||||||
check_start)->bytes_used);
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(get_ramroot);
|
|
||||||
#endif
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче