|
@@ -22,8 +22,12 @@
|
|
|
|
|
|
/****************************************************************************/
|
|
|
|
|
|
+extern char _ebss;
|
|
|
+
|
|
|
struct map_info uclinux_ram_map = {
|
|
|
.name = "RAM",
|
|
|
+ .phys = (unsigned long)&_ebss,
|
|
|
+ .size = 0,
|
|
|
};
|
|
|
|
|
|
struct mtd_info *uclinux_ram_mtdinfo;
|
|
@@ -55,12 +59,10 @@ static int __init uclinux_mtd_init(void)
|
|
|
{
|
|
|
struct mtd_info *mtd;
|
|
|
struct map_info *mapp;
|
|
|
- extern char _ebss;
|
|
|
- unsigned long addr = (unsigned long) &_ebss;
|
|
|
|
|
|
mapp = &uclinux_ram_map;
|
|
|
- mapp->phys = addr;
|
|
|
- mapp->size = PAGE_ALIGN(ntohl(*((unsigned long *)(addr + 8))));
|
|
|
+ if (!mapp->size)
|
|
|
+ mapp->size = PAGE_ALIGN(ntohl(*((unsigned long *)(mapp->phys + 8))));
|
|
|
mapp->bankwidth = 4;
|
|
|
|
|
|
printk("uclinux[mtd]: RAM probe address=0x%x size=0x%x\n",
|