mirror of https://gitee.com/openkylin/linux.git
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:
parent
1a4ba061b3
commit
5c5dd1d291
|
@ -36,18 +36,6 @@ config PMC_MSP7120_FPGA
|
|||
|
||||
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
|
||||
bool "Hypertransport Support for PMC-Sierra Yosemite"
|
||||
depends on PMC_YOSEMITE
|
||||
|
|
|
@ -40,12 +40,6 @@
|
|||
#include <linux/string.h>
|
||||
#include <linux/interrupt.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/bootinfo.h>
|
||||
|
@ -435,10 +429,6 @@ struct prom_pmemblock *__init prom_getmdesc(void)
|
|||
char *str;
|
||||
unsigned int memsize;
|
||||
unsigned int heaptop;
|
||||
#ifdef CONFIG_MTD_PMC_MSP_RAMROOT
|
||||
void *ramroot_start;
|
||||
unsigned long ramroot_size;
|
||||
#endif
|
||||
int i;
|
||||
|
||||
str = prom_getenv(memsz_env);
|
||||
|
@ -506,19 +496,7 @@ struct prom_pmemblock *__init prom_getmdesc(void)
|
|||
i++; /* 3 */
|
||||
mdesc[i].type = BOOT_MEM_RESERVED;
|
||||
mdesc[i].base = CPHYSADDR((u32)_text);
|
||||
#ifdef CONFIG_MTD_PMC_MSP_RAMROOT
|
||||
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;
|
||||
mdesc[i].size = CPHYSADDR(PAGE_ALIGN((u32)_end)) - mdesc[i].base;
|
||||
|
||||
/* Remainder of RAM -- under memsize */
|
||||
i++; /* 5 */
|
||||
|
@ -528,39 +506,3 @@ struct prom_pmemblock *__init prom_getmdesc(void)
|
|||
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue