fix problem with 128MB ram.
This patch is out of broadcoms official source code SVN-Revision: 18413
This commit is contained in:
parent
00808aaff3
commit
30f859403a
4 changed files with 60 additions and 0 deletions
|
@ -31,6 +31,15 @@ prom_init(int argc, const char **argv)
|
||||||
*(unsigned long *)(prom_init))
|
*(unsigned long *)(prom_init))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Ignoring the last page when ddr size is 128M. Cached
|
||||||
|
* accesses to last page is causing the processor to prefetch
|
||||||
|
* using address above 128M stepping out of the ddr address
|
||||||
|
* space.
|
||||||
|
*/
|
||||||
|
if (mem == 0x8000000)
|
||||||
|
mem -= 0x1000;
|
||||||
|
|
||||||
add_memory_region(0, mem, BOOT_MEM_RAM);
|
add_memory_region(0, mem, BOOT_MEM_RAM);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
--- a/arch/mips/bcm47xx/prom.c
|
||||||
|
+++ b/arch/mips/bcm47xx/prom.c
|
||||||
|
@@ -141,6 +141,14 @@ static __init void prom_init_mem(void)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* Ignoring the last page when ddr size is 128M. Cached
|
||||||
|
+ * accesses to last page is causing the processor to prefetch
|
||||||
|
+ * using address above 128M stepping out of the ddr address
|
||||||
|
+ * space.
|
||||||
|
+ */
|
||||||
|
+ if (mem == 0x8000000)
|
||||||
|
+ mem -= 0x1000;
|
||||||
|
+
|
||||||
|
add_memory_region(0, mem, BOOT_MEM_RAM);
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
--- a/arch/mips/bcm47xx/prom.c
|
||||||
|
+++ b/arch/mips/bcm47xx/prom.c
|
||||||
|
@@ -141,6 +141,14 @@ static __init void prom_init_mem(void)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* Ignoring the last page when ddr size is 128M. Cached
|
||||||
|
+ * accesses to last page is causing the processor to prefetch
|
||||||
|
+ * using address above 128M stepping out of the ddr address
|
||||||
|
+ * space.
|
||||||
|
+ */
|
||||||
|
+ if (mem == 0x8000000)
|
||||||
|
+ mem -= 0x1000;
|
||||||
|
+
|
||||||
|
add_memory_region(0, mem, BOOT_MEM_RAM);
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
--- a/arch/mips/bcm47xx/prom.c
|
||||||
|
+++ b/arch/mips/bcm47xx/prom.c
|
||||||
|
@@ -141,6 +141,14 @@ static __init void prom_init_mem(void)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* Ignoring the last page when ddr size is 128M. Cached
|
||||||
|
+ * accesses to last page is causing the processor to prefetch
|
||||||
|
+ * using address above 128M stepping out of the ddr address
|
||||||
|
+ * space.
|
||||||
|
+ */
|
||||||
|
+ if (mem == 0x8000000)
|
||||||
|
+ mem -= 0x1000;
|
||||||
|
+
|
||||||
|
add_memory_region(0, mem, BOOT_MEM_RAM);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue