Re: More than 512MB of memory

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ralf Baechle wrote:
On Tue, Jan 18, 2005 at 03:44:51PM +0100, Rojhalat Ibrahim wrote:


is there anything special I have to do
when I want to use more than 512MB of memory?
My Yosemite board works fine with 512MB
but when I try 1GB it crashes in 32bit mode
with highmem and also in 64bit mode.
The boot monitor (PMON) maps the 1024MB
to physical addresses 0x0000.0000 - 0x4000.0000.


Can you try below patch?

  Ralf

--- linux/arch/mips/mm/c-r4k.c 2004-12-07 02:30:50.000000000 +0000
+++ linux/arch/mips/mm/c-r4k.c 2005-02-04 00:31:34.623814760 +0000
@@ -566,7 +566,10 @@
if (!cpu_has_ic_fills_f_dc) {
unsigned long addr = (unsigned long) page_address(page);
- r4k_blast_dcache_page(addr);
+ if (addr)
+ r4k_blast_dcache_page(addr);
+ else
+ r4k_blast_dcache();
if (!cpu_icache_snoops_remote_store)
r4k_blast_scache_page(addr);
ClearPageDcacheDirty(page);




With a slightly extended patch it actually works. But afterwards
I get a lot of Illegal instructions and Segmentation faults, where
there shouldn't be any. Below is the patch I used.

Thanks
Rojhalat Ibrahim


--- linux/arch/mips/mm/c-r4k.c 2005-01-03 10:23:27.000000000 +0100 +++ linux-2.6.10/arch/mips/mm/c-r4k.c 2005-02-07 09:04:27.000000000 +0100 @@ -566,9 +566,17 @@

        if (!cpu_has_ic_fills_f_dc) {
                unsigned long addr = (unsigned long) page_address(page);
-               r4k_blast_dcache_page(addr);
+               if (addr)
+                       r4k_blast_dcache_page(addr);
+               else
+                       r4k_blast_dcache();
                if (!cpu_icache_snoops_remote_store)
-                       r4k_blast_scache_page(addr);
+               {
+                       if (addr)
+                               r4k_blast_scache_page(addr);
+                       else
+                               r4k_blast_scache();
+               }
                ClearPageDcacheDirty(page);
        }


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux