Hi all,

I posted earlier this week about my SS20 not using all its memory. After
reading srmmu.c I determined that if you have more than 208MB memory and
the bank that "puts you over" this value would start at 0xfd000000, then
all the low-mapped memory will be unusable because the srmmu_map has a
zero-sized entry in the middle, and when loops stop on srmmu_map[entry] ==
0, they will miss the later entries. Here's the 1-line fix (seems fine so
far!) against cvs 2.2.13:

Index: arch/sparc/mm/srmmu.c
===================================================================
RCS file: /cvs/linux/linux/arch/sparc/mm/srmmu.c,v
retrieving revision 1.187.2.5
diff -u -r1.187.2.5 srmmu.c
--- arch/sparc/mm/srmmu.c       1999/10/14 01:00:15     1.187.2.5
+++ arch/sparc/mm/srmmu.c       1999/10/28 00:00:43
@@ -1659,7 +1659,9 @@
        srmmu_map[srmmu_bank].vbase = vbase;
        srmmu_map[srmmu_bank].pbase = sp_banks[sp_entry].base_addr;
        srmmu_map[srmmu_bank].size = sp_banks[sp_entry].num_bytes;
-       srmmu_bank++;
+       if (srmmu_map[srmmu_bank].size) /* Don't count empties! */
+               srmmu_bank++;
        map_spbank_last_pa = pstart - SRMMU_PGDIR_SIZE;
        return vstart;
 }


--
Keith M Wesolowski
[EMAIL PROTECTED]

-
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of the message to [EMAIL PROTECTED]

Reply via email to