Skip to content

Commit

Permalink
MIPS: MSP71xx: Remove the RAMROOT functions
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Ralf Baechle <[email protected]>
  • Loading branch information
shaneroo authored and ralfbaechle committed May 14, 2009
1 parent 1a4ba06 commit 5c5dd1d
Show file tree
Hide file tree
Showing 2 changed files with 1 addition and 71 deletions.
12 changes: 0 additions & 12 deletions arch/mips/pmc-sierra/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -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
60 changes: 1 addition & 59 deletions arch/mips/pmc-sierra/msp71xx/msp_prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -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>
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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 */
Expand All @@ -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

0 comments on commit 5c5dd1d

Please sign in to comment.