diff options
Diffstat (limited to 'target/linux/brcm47xx/patches-2.6.34/011-MIPS-BCM47xx-Really-fix-128MB-RAM-problem.patch')
-rw-r--r-- | target/linux/brcm47xx/patches-2.6.34/011-MIPS-BCM47xx-Really-fix-128MB-RAM-problem.patch | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/target/linux/brcm47xx/patches-2.6.34/011-MIPS-BCM47xx-Really-fix-128MB-RAM-problem.patch b/target/linux/brcm47xx/patches-2.6.34/011-MIPS-BCM47xx-Really-fix-128MB-RAM-problem.patch deleted file mode 100644 index dfa4b41fb..000000000 --- a/target/linux/brcm47xx/patches-2.6.34/011-MIPS-BCM47xx-Really-fix-128MB-RAM-problem.patch +++ /dev/null @@ -1,66 +0,0 @@ -From f65eb52ea6c0ec939fd44e74b6b873e0b549e3c9 Mon Sep 17 00:00:00 2001 -From: Hauke Mehrtens <hauke@hauke-m.de> -Date: Sun, 18 Jul 2010 12:49:41 +0200 -Subject: [PATCH 1/6] MIPS: BCM47xx: Really fix 128MB RAM problem - -The previews patch 84a6fcb368a080620d12fc4d79e07902dbee7335 was wrong, -I got wrong success reports. - -The bcm47xx architecture maps the ram into a 128MB address space. It -will be paced there as often as goes into the 128MB. The detection -tries to find the position where the same memory is found. When reading -over 128MB the processor will throw an exception. If 128MB ram is -installed, it will not find the same memory because it tries to read -over the 128MB boarder. Now it just assumes 128MB installed ram if it -can not find that the ram is repeating. - -Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> ---- - arch/mips/bcm47xx/prom.c | 22 ++++++++++++++-------- - 1 files changed, 14 insertions(+), 8 deletions(-) - ---- a/arch/mips/bcm47xx/prom.c -+++ b/arch/mips/bcm47xx/prom.c -@@ -126,6 +126,7 @@ static __init void prom_init_cmdline(voi - static __init void prom_init_mem(void) - { - unsigned long mem; -+ unsigned long max; - - /* Figure out memory size by finding aliases. - * -@@ -134,21 +135,26 @@ static __init void prom_init_mem(void) - * want to reuse the memory used by CFE (around 4MB). That means cfe_* - * functions stop to work at some point during the boot, we should only - * call them at the beginning of the boot. -+ * -+ * BCM47XX uses 128MB for addressing the ram, if the system contains -+ * less that that amount of ram it remaps the ram more often into the -+ * available space. -+ * Accessing memory after 128MB will cause an exception. -+ * max contains the biggest possible address supported by the platform. -+ * If the method wants to try something above we assume 128MB ram. - */ -+ max = ((unsigned long)(prom_init) | ((128 << 20) - 1)); - for (mem = (1 << 20); mem < (128 << 20); mem += (1 << 20)) { -+ if (((unsigned long)(prom_init) + mem) > max) { -+ mem = (128 << 20); -+ printk(KERN_DEBUG "assume 128MB RAM\n"); -+ break; -+ } - if (*(unsigned long *)((unsigned long)(prom_init) + mem) == - *(unsigned long *)(prom_init)) - 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); - } - |